← Lessons

quiz vs the machine

Silver1110

System Design

Block vs Object vs File Storage

Three storage abstractions and when each one fits a workload.

5 min read · intro · beat Silver to climb

Three ways to store bytes

Storage systems expose data through one of three abstractions, and picking the right one shapes performance and cost.

Block storage

Block storage offers raw fixed size blocks addressed by number, like a virtual disk. The application or file system on top decides how to organize them. It gives low latency and high throughput, which suits databases and boot volumes. The tradeoff is that it carries no metadata and is hard to share across many machines.

File storage

File storage layers a hierarchy of directories and files with names and permissions over blocks, then shares it over a network protocol. It is familiar and easy to browse, but the single namespace can become a bottleneck at very large scale.

Object storage

Object storage keeps each item as an object with a unique key plus rich metadata in a flat namespace. It scales to billions of objects and is reached over HTTP. The cost is higher latency and no in place edits, since objects are usually replaced whole.

Key idea

Block storage gives raw fast volumes, file storage gives a shared hierarchy, and object storage gives flat massively scalable key addressed blobs, so match the abstraction to the access pattern.

Check yourself

Answer to earn rating on the learn ladder.

1. Which abstraction stores items as keyed blobs in a flat namespace with rich metadata?

2. Why is block storage well suited to databases?

3. A common limitation of object storage is that objects are usually