What is a blob store / object storage?
Answer
Object storage (blob store) stores data as objects (files with metadata and a unique identifier), unlike file systems (hierarchical) or block storage (fixed-size chunks). Each object consists of: data (the file content), metadata (content-type, size, timestamps, custom tags), and a globally unique key (ID/name). Characteristics: flat namespace (no directories, though prefixes simulate them), accessed via HTTP API (REST), unlimited scale, highly durable (typically 11 nines = 99.999999999% durability via erasure coding or replication), optimized for unstructured large files. Operations: PUT (upload), GET (download), DELETE, LIST objects with prefix. Examples: AWS S3, Google Cloud Storage, Azure Blob Storage, Cloudflare R2, MinIO (self-hosted). Use cases: (1) Storing user-uploaded files (images, documents, videos); (2) Serving static website assets; (3) Data lake raw storage; (4) Database/log backups; (5) Machine learning datasets and model artifacts; (6) Video streaming (store video segments served via CDN). Features: versioning (keep multiple versions of an object), lifecycle policies (auto-delete or archive after N days), access control (bucket policies, ACLs, pre-signed URLs for temporary access), server-side encryption, cross-region replication, event notifications (trigger Lambda on upload). Object storage should never be used as a database or for small, frequently updated files — it's optimized for write-once, read-many large objects.
Previous
What is the difference between synchronous and asynchronous replication?
Next
How would you design a URL shortener like bit.ly?