Separate bulk bytes from application metadata#
A video, image, backup, document, or model artifact can be much larger than the row that describes its owner, status, permissions, and processing state. Object storage addresses bytes by an object key inside a bucket/container, while a database can keep queryable application metadata.
The object contract#
- Key: stable object identity and namespace convention.
- Bytes: the payload, commonly accessed through HTTP APIs.
- Object metadata: storage-level attributes; keep product relationships in the application database when they require richer queries.
- Lifecycle: retention, archival, expiration, and legal/business deletion.
- Serving: authorization, signed access, range requests where supported, and CDN integration.
Durability, availability, consistency, size limits, lifecycle behavior, and cost vary by provider and configuration. Object storage is not universally cheaper, and database blobs are not universally wrong.
Use these prompts to extend the design. The useful answer is a reasoned change, not a memorized sentence.
- Where do ownership and permissions live?
- How does a 20 GB upload work?
- How are downloads served globally?
- What expires, archives, or is deleted?
- What happens if metadata commits but upload fails?
Related practice problems
Use the manifest-backed prompts below to apply this lesson in a complete design.
- Amazon S3 objects overviewAWS Documentation
- Managing the lifecycle of objectsAWS Documentation