01

Convenience can become the architecture

Teams often put a new payload in the primary database because the database is already available, backed up and easy to query. That is a reasonable first decision. The problem appears when large sensor files, document versions or generated artifacts inherit the same storage, replication and backup characteristics as transactional rows.

By then, moving the payload looks risky because product code has learned to treat one database record as both business state and file system. Disk growth is only the visible symptom. Backups slow down, replicas carry unnecessary bytes, migrations become heavier and operational recovery takes longer.

02

Design around access patterns

The useful question is not whether object storage is cheaper. Ask how each piece of information is addressed, changed and read. Transactional state benefits from constraints, joins and atomic updates. Large immutable or append-only payloads benefit from object storage, lifecycle policies and independent delivery.

Keep identity, ownership, status, timestamps, hashes and searchable metadata in the database. Put the binary or bulky body in object storage. The database remains the source of truth for what the product knows; the object store becomes the durable home for what the product carries.

  • Can the payload be addressed by an immutable key?
  • Is it read as a whole more often than queried internally?
  • Does it need different retention or access controls?
  • Can metadata preserve product consistency if delivery is asynchronous?

03

Migration is a product change

A storage migration succeeds when existing workflows continue through partial failure. Dual-read or dual-write periods, checksums, backfills and retryable jobs deserve the same design attention as the final target. Avoid a flag day unless the dataset and downtime genuinely make it safer.

Measure more than disk space. Track database size, backup duration, request latency, object retrieval errors, queue depth and the time needed to restore service. In one health-data system, aligning storage with access patterns reduced primary database usage by 75 percent while preserving access to historical sensor data.