system · deep · draft
Object vs block vs file
Storage interfaces differ by access model — object (HTTP put/get of blobs), block (volumes as disks), and file (shared filesystems) — with separate durability strategies (replication vs erasure coding) that must stay labeled when illustrative.
In one sentence. Treating “storage” as one dial hides interface, consistency, and durability trade-offs that dominate latency, cost, and failure domains.
Why it exists
Applications need different contracts: opaque blob APIs (Amazon S3 storage classes), attachable disks (Amazon EBS), and shared filesystems (Amazon EFS). Landmark papers (GFS, Dynamo, Bigtable, Spanner) explain distributed durability and consistency lineages — product docs and papers are not interchangeable claims.
Visual walkthrough
The application issues an object put/get via the HTTP/API surface (Amazon S3 storage-classes product docs). This is an opaque blob contract — not a mounted disk.
A VM attaches a block volume as a disk (Amazon EBS product docs). Failure domains differ from object put/get — the guest sees a block device.
Placement control spreads durable copies or shards. GFS-era designs emphasize chunk replication; Dynamo publishes configurable N — separate eras and systems.
Control vs data plane
Control plane
Placement, replication/EC policies, membership, and metadata services that decide *where* data lives and which replicas/shards are authoritative. GFS separates master metadata from chunkservers; Dynamo uses consistent hashing and quorum parameters (N/R/W) as published in the 2007 paper — not a live AWS DynamoDB internal dump.
Data plane
The bytes path: client/SDK → front end → storage nodes / chunkservers / volume servers. Netflix Open Connect stores encoded media on OCAs for HTTP(S) byte delivery while control/steering stays elsewhere — a cache/byte-plane cross-link, not a claim that OCA is object-store EC.
Request / packet path
North–south
Application or user → object/block/file API → durable media. S3 documents strong read-after-write and list consistency (product claim, all regions). Do not invent historical eventual-consistency workarounds as current defaults without the Vogels deep-dive cite.
East–west
Replication, repair, and scrub traffic between storage nodes; quorum reads/writes in Dynamo-style systems; Spanner commit waits bound by TrueTime as published. Exact EC stripe widths inside S3/GCS/Azure Blob are **not** fully disclosed → calculator is illustrative only.
Scaling & math
Replication storage factor ≈ replica count (triple replication → ~3×). Erasure coding storage factor ≈ (k + m) / k for an illustrative (k, m) stripe. GFS-era designs emphasize chunk replication; Dynamo publishes configurable N. Never present calculator outputs as S3 internal EC recipes (CONTENT_BACKLOG / research note).
Replication vs erasure coding
Compare full-copy replication overhead to an illustrative (k, m) stripe. Never treat outputs as S3/GCS/Azure Blob internals.
Full-copy replication
storageFactor = replicaCount; overhead = replicaCount − 1
storageFactor = 3; overhead = 3 − 1 = 2× extra
- Storage factor
- 3×
- Extra overhead
- 2×
Erasure coding (illustrative)
storageFactor = (k + m) / k; overhead = m / k; tolerate ≈ m shard failures (illustrative RS model)
Not S3 / GCS / Azure Blob internals — vendor EC recipes are not fully disclosed here.
storageFactor = (10 + 4) / 10 = 1.4; overhead = 0.4; tolerate ≈ 4 shard failures (illustrative)
- Total shards
- 14
- Storage factor
- 1.4×
- Tolerate ≈
- 4 shard failures
When it breaks
- Writes fail or hang; reads may succeed depending on R/W.
Cause. Not enough replicas reachable for the configured Dynamo-style W quorum.
Mitigation. Repair membership/network; understand N/R/W trade-offs from the Dynamo paper — do not invent live DynamoDB quorum numbers.
- VM cannot read/write its disk; filesystem errors on the guest.
Cause. Block volume attachment or path failure (EBS-class product failure mode).
Mitigation. Check volume state and attachment AZ; restore from snapshot per product runbooks.
- Hot partitions / request throttling on popular keys or prefixes.
Cause. Object API access pattern concentrates load (product-specific limits).
Mitigation. Key design and prefix distribution per S3 guidance; separate control metadata from bulk bytes when architecture allows.
- Readers miss recent writes or listings (historical class of bugs).
Cause. Assuming wrong consistency model — S3 now documents strong read-after-write/list consistency; older systems differed.
Mitigation. Read the current product consistency statement; cite Vogels deep-dive for historical context only.
- Capacity planning uses invented EC parameters as if they were vendor fact.
Cause. Treating illustrative (k, m) calculators as S3/GCS/Azure Blob internals.
Mitigation. Label EC math illustrative; rely on product durability SLAs as published, not reverse-engineered stripes.
Misconceptions
- “Object, block, and file are interchangeable skins over the same API.” — Interfaces and failure domains differ (S3 vs EBS vs EFS product docs).
- “Erasure coding parameters on this page are S3’s real stripe.” — Detailed S3/GCS/Azure Blob EC recipes are not fully disclosed; calculator is illustrative.
- “Dynamo paper settings are today’s DynamoDB defaults.” — The 2007 paper describes Amazon’s Dynamo KV store design; AWS product docs are a separate surface.
Reference expression
Primary sources: AWS S3/EBS/EFS docs, S3 consistency docs, GFS, Dynamo SOSP 2007, Bigtable, Spanner, Azure data-model taxonomy, Netflix Open Connect overview for byte-cache contrast. review: draft.
Standards & sources
- aws-s3-storage-classes · Object storage productPrimary source, retrieved 2026-09-20. Amazon S3 storage classesAmazon S3 storage classes — Object storage product
- aws-ebs-docs · Block volume productPrimary source, retrieved 2026-09-20. Amazon EBS volumesAmazon EBS volumes — Block volume product
- aws-efs-docs · Shared file storage productPrimary source, retrieved 2026-09-20. What is Amazon EFS?What is Amazon EFS? — Shared file storage product
- google-gfs-2003 · Chunk replication durability lineagePrimary source, retrieved 2026-09-20. The Google File SystemThe Google File System — Chunk replication durability lineage
- amazon-dynamo-2007 · KV replication and quorumsPrimary source, retrieved 2026-09-20. Dynamo: Amazon's Highly Available Key-value StoreDynamo: Amazon's Highly Available Key-value Store — KV replication and quorums
- aws-s3-consistency-docs · S3 strong consistencyPrimary source, retrieved 2026-09-20. Amazon S3 strong consistencyAmazon S3 strong consistency — S3 strong consistency
- google-spanner-2012 · Externally consistent distributed DBPrimary source, retrieved 2026-09-20. Spanner: Google's Globally-Distributed DatabaseSpanner: Google's Globally-Distributed Database — Externally consistent distributed DB
- google-bigtable-2006 · Wide-column store lineagePrimary source, retrieved 2026-09-20. Bigtable: A Distributed Storage System for Structured DataBigtable: A Distributed Storage System for Structured Data — Wide-column store lineage
- msft-azure-data-models · Azure storage/data taxonomyPrimary source, retrieved 2026-09-20. Understand data store modelsUnderstand data store models — Azure storage/data taxonomy
- netflix-open-connect-overview · OCA byte cache vs control planePrimary source, retrieved 2026-09-20. Netflix Open Connect OverviewNetflix Open Connect Overview — OCA byte cache vs control plane
Known unknowns
- Exact erasure-coding parameters and failure domains inside S3 / GCS / Azure Blob.
- Current GFS successor (Colossus) internals beyond historical papers.
- Live Amazon DynamoDB quorum defaults vs the 2007 Dynamo paper.
Check yourself
Amazon S3 is primarily which interface model?
- Block volume attach
- Object put/get of blobs
- OSPF adjacency
- STP root
Answer: Object put/get of blobs. S3 is object storage via HTTP/API put/get.
Amazon EBS exposes storage as…
- A shared NFS-like filesystem only
- A block volume attached to a VM as a disk
- A BGP route reflector
- A gRPC schema registry
Answer: A block volume attached to a VM as a disk. EBS docs: block volumes for instances.
Triple replication’s illustrative storage factor is…
- 1.0×
- 1.4×
- 3×
- 0×
Answer: 3×. Full-copy replication factor equals replica count.
An illustrative EC stripe with k=10, m=4 has storage factor…
- 1.0
- 1.4
- 14.0
- 0.4
Answer: 1.4. (10+4)/10 = 1.4 — illustrative only.
Dynamo’s paper emphasizes…
- External consistency via TrueTime
- Availability with configurable N/R/W and vector clocks
- VXLAN VNI allocation
- OAuth token introspection
Answer: Availability with configurable N/R/W and vector clocks. Dynamo SOSP 2007: quorums, hashing, conflict resolution.
Spanner’s headline consistency claim is…
- Best-effort DNS TTLs
- External consistency / linearizable commit order via TrueTime
- No replication ever
- Only single-rack durability
Answer: External consistency / linearizable commit order via TrueTime. Spanner 2012 paper + Cloud Spanner product lineage.
Should this page’s EC calculator be cited as S3 internals?
- Yes — it is the official recipe
- No — mark illustrative; vendor EC parameters are not fully disclosed here
- Yes — if the ratio looks plausible
- Only for Azure Blob
Answer: No — mark illustrative; vendor EC parameters are not fully disclosed here. Research/CONTENT_BACKLOG: no fake S3 EC.
Netflix Open Connect appliances primarily…
- Replace S3 as AWS’s metadata service
- Store and serve encoded media bytes (HTTP/HTTPS) while control/steering is separate
- Run EVPN route reflection
- Define OAuth scopes
Answer: Store and serve encoded media bytes (HTTP/HTTPS) while control/steering is separate. Open Connect overview: OCA bytes vs AWS control plane.