Customizable Erasure Coding (EC) Ratio

SeaweedFS Enterprise lets you customize the erasure coding ratio per volume, so you can dial in cost, durability, or performance for each workload. Each volume is split into k data chunks plus m Reed-Solomon parity chunks and distributed across servers — matching or exceeding the fault tolerance of 3x replication at a fraction of the storage overhead.

volume one big blob encode RACK 1 RACK 2 RACK 3 10 data shards 4 parity shards any 4 can fail — data survives
A volume is encoded into k data + m parity shards and spread across failure domains — here 10+4, tolerating any 4 losses.

When to use it

  • Large, stable datasets where storage cost dominates — high-density ratios like 20+4 cut overhead to 1.2x versus 3x for replication.
  • Mission-critical data that must survive multiple failures — high-parity ratios like 20+5 tolerate 5 simultaneous shard losses.
  • Read-heavy workloads — SeaweedFS keeps O(1) single-shard reads regardless of shard count, so EC doesn’t slow you down.
  • Warm and cold tiers at scale — at 100 PB, EC 20+4 saves roughly $1.8M versus 3x replication.

How to use it

  1. Pick a ratio that fits the volume size and durability you need — the default is 10+4 (1.4x overhead, tolerates 4 shard failures).
  2. For lower cost, raise the data-shard count (16+4, 20+4); for more durability, raise the parity-shard count (10+6, 20+5).
  3. Apply EC to the volume — shards are distributed automatically across racks and disks.

Total shards (data + parity) must be less than 32.

Stored bytes per byte of data 3× replication 3.0× EC 10+4 1.4× EC 20+4 1.2× all three tolerate 4 failures
Same four-failure tolerance, a third of the footprint: the ratio dials storage overhead against durability.

Benefits

  • Lower storage cost — custom ratios like 20+4 reduce overhead to 1.2x versus 3x for replication.
  • Predictable performance — O(1) reads regardless of shard count, matching non-EC read latency.
  • Flexible durability — choose the parity level that matches your failure tolerance.
  • Resilient placement — rack-aware and disk-aware (JBOD) shard distribution, with no index loading required.
  • Self-healing integration — combines with Enterprise self-healing for complete data protection.

Want the internals — how O(1) reads work, the full ratio/overhead/tolerance tables, volume-size guidance, and the EC architecture? See the Customizable Erasure Coding technical reference.