Storage: Block, File & Object
Databases store structured records. Storage systems store everything else — photos, videos, backups, logs. Learn the three storage primitives and how to design large-scale file systems from first principles.
What you will learn
- Distinguish block, file, and object storage — and when each is appropriate
- Understand how object storage achieves eleven-nines durability at scale
- Design a large file upload and retrieval system using the chunked upload pattern
- Identify which storage primitive underpins Dropbox, YouTube, and S3
Databases store rows and relationships. But most of what a system actually stores — photos, videos, audio, documents, log archives, model weights — doesn't fit neatly into a table. These workloads need dedicated storage systems built for different access patterns and scale characteristics.
There are three storage primitives. Choosing the wrong one for a workload creates either unnecessary complexity or hard scalability ceilings.
Block storage presents raw disk capacity to an operating system. The OS formats it, manages the file system, and decides what to put where. From the application's perspective, it looks like a local disk — because functionally, it is.
Characteristics:
- Low latency, high throughput — direct I/O without a translation layer
- Requires a filesystem (ext4, XFS, NTFS) on top to be usable by most software
- Attached to a single server at a time
- Examples: AWS EBS, GCP Persistent Disk, a physical SSD or NVMe drive
Create a free account to read the full chapter — advanced chapters, progress tracking, and quizzes are free with sign-up.