Object vs Block vs File Storage
~8 min read
The three fundamental storage access models that S3, EBS, and EFS each represent.
Object storage (S3) stores whole, self-contained objects identified by a key in a flat namespace — you retrieve or replace an entire object, accessed over HTTP, ideal for unstructured data at massive scale where whole-file access is the norm.
Block storage (EBS) presents raw, fixed-size blocks of data that the operating system formats with a file system and manages directly, exactly like a physical hard drive — this is what gives databases and operating systems the low-latency, random-access read/write behavior they expect, something object storage's HTTP-based whole-object model can't provide.
File storage (EFS, FSx) presents a traditional hierarchical directory and file structure accessed over a network file-sharing protocol (NFS for EFS, SMB for FSx Windows File Server) — multiple clients can mount the same file system and see a consistent, shared view of files and directories, something neither raw block storage nor object storage's flat namespace directly provides.
💬 Deep Dive with AI
Key points
- •Object storage (S3): flat namespace, whole-object HTTP access, massive scale, unstructured data
- •Block storage (EBS): raw blocks, OS-managed file system, low-latency random access, single-instance
- •File storage (EFS/FSx): hierarchical directories over a network protocol, shared concurrent access
- •Each model exists because no single one serves every access pattern well