Object, block or file storage?
| Dimension | Object storage | Block storage | File storage |
|---|---|---|---|
| You access it through | An HTTP API, by key | A raw disk mounted on one machine | A shared folder over NFS or SMB |
| Has a file system | No. Keys only look like folders; a mount tool can add one on top | No. You format one onto it (ext4, NTFS) before use | Yes, that’s the product |
| Shared between machines | Yes, by anyone with permission | Usually one VM at a time | Yes, many at once |
| Edit part of a file | No; rewrite the whole object | Yes, block by block | Yes |
| Rename a folder | Copy and delete every object under the prefix | Instant, via the file system on it | Instant |
| Typical latency | Tens of milliseconds | Under a millisecond to a few | A few milliseconds |
| Scale | Practically unlimited | Tens of TB per volume | Grows automatically to petabytes |
| Reach for it for | Media, backups, logs, data lakes | Databases and boot disks | Shared content, legacy apps, home folders |
Rule of thumb
A typical app uses all three: block storage under its database, object storage for uploads and backups, and file storage only when several servers truly need the same folder. Software that expects files can still use a bucket through a mount such as Amazon S3 Files or Mountpoint, with limits.
Sources
- S3 User Guide: What is Amazon S3?
- S3 User Guide: Organizing objects in the console by using folders
- S3 User Guide: Performance design patterns (median latencies in the tens of milliseconds)
- Mountpoint for Amazon S3: file system behaviour
- S3 User Guide: Working with Amazon S3 Files
- EBS User Guide: Make an Amazon EBS volume available for use
- EBS User Guide: Attach a volume to multiple instances with Multi-Attach
- EBS User Guide: Amazon EBS volume types (sizes up to 64 TiB)
- Amazon EBS volume types: latency by type
- EFS User Guide: What is Amazon EFS?
- EFS User Guide: Performance specifications
- Azure docs: What is Azure Files? (SMB and NFS shares)