What is a blob store / object storage?

Why Interviewers Ask This

Interviewers use this question to quickly assess whether a candidate has the foundational knowledge required for System Design development. It reveals whether you understand the building blocks that more complex concepts rely on.

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.

Pro Tip

This topic has System Design-specific nuances that differ from general programming. Highlighting those nuances in your answer shows expertise rather than generic knowledge.