TechCoder.io / System Design

Blob, Object & File Storage

Learn the difference between block, file, and object storage, how Amazon S3 achieves 11-nines durability, distributed file systems (HDFS, GFS), content-addressable storage, and how to design large file storage for images, videos, and documents.

By TechCoder TeamLast updated: 2026-10-17
In a Nutshell

Learn the difference between block, file, and object storage, how Amazon S3 achieves 11-nines durability, distributed file systems (HDFS, GFS), content-addressable storage, and how to design large file storage for images, videos, and documents. This hands-on tutorial focuses on practical implementation of blob, object & file storage concepts.

Blob, Object & File Storage

Object and Blob Storage Architecture (S3-style)

Not all data fits neatly in a database table. Images, videos, PDFs, backups, and ML model weights are binary large objects (blobs) that require specialized storage systems designed for massive scale, durability, and cheap sequential reads.

[!IMPORTANT] Store structured data (users, orders, messages) in a database. Store binary/large files (images, videos, documents) in object storage (S3, GCS). Never put blobs in a SQL database — it destroys performance.

Three Storage Types

Block StorageFile StorageObject Storage
AccessRaw I/O (OS block device)POSIX filesystem (NFS)HTTP REST API
StructureUnstructured blocksHierarchical directoriesFlat bucket + key
Use caseDatabase disk, VM diskShared filesystem, ML dataImages, videos, backups
PerformanceHighest (local SSD speeds)MediumLower (network-bound)
CostMost expensiveMediumCheapest per GB
ScaleLimited (single server)MediumVirtually unlimited
DurabilityDepends on RAIDDepends on NAS99.999999999% (S3)

Amazon S3 Architecture (11 Nines Durability)

S3 achieves 99.999999999% (11 nines) durability — losing 1 object out of 100 billion every 10,000 years:

PYTHON PLAYGROUND
⏳ Loading editor…

Distributed File Systems: HDFS & GFS

For big data and analytics workloads, distributed file systems distribute large files across commodity hardware:

Quiz

Quiz

Question 1 of 2

A user uploads a 2GB video file to your platform. What is the correct architecture to handle this upload?

Stream the file through your API server → save to database as a BLOB
Issue a pre-signed S3 URL to the client, let the client upload directly to S3, store only the S3 key in your database
Save the file to your API server's filesystem and return the server's local path

Key Takeaways

✅ Use object storage (S3/GCS) for all binary files — never store blobs in a SQL database.
✅ Pre-signed URLs let clients upload directly to S3, keeping file bytes off your API servers.
✅ S3 achieves 11-nines durability through erasure coding across 3+ availability zones.
✅ Content-addressable storage (SHA-256 as key) gives automatic deduplication and cache-ability.
✅ Use multipart upload for files >100MB — enables parallel upload, resumability, and avoids timeouts.

Official Resources

What's Next?

You now know how to store all types of data at scale. The next critical challenge: what happens when any of those systems fail?
Next: Fault Tolerance & Redundancy — How to design systems that survive failures without users ever noticing.