Skip to main content

The storage service

The storage service is the durable byte layer of a cell. It holds objects and blocks, protects them with erasure coding, verifies them with integrity sweeps, moves them between tiers, and replicates them to peer cells. It is the foundation the data service's lakehouse and catalog sit on.

Feeds: Data Platform.

What it owns​

  • Object and block storage: the primary durable store for cell data.
  • Erasure coding: the durability scheme that survives device and cell loss.
  • Tiering: moving objects between performance and capacity tiers by policy.
  • Integrity: durability sampling and verification, holding an unreadable object apart rather than serving it.
  • Replication: cross-cell copy, repair, and relay, including the disconnected case.

Sub-modules (public names)​

Sub-moduleWhat it does
Object & block engineThe core byte store for objects and blocks
Namespace & addressingNamespaces, object addressing, and per-namespace policy
PlacementWhere an object's shards land across devices and cells
Erasure coding & protectionDurability coding and the protection scheme
IntegrityDurability sampling; holds unreadable objects apart
TieringPolicy-driven movement between storage tiers
RelocationMoving data between placements and cells
ReplicationCross-cell copy, repair, and relay
TopologyThe device and cell topology placement resolves against
Service groupsErasure and replication groupings of cells

APIs and surfaces​

The storage service exposes an S3-compatible object API alongside a native object surface, both served over its HTTP listeners: a loopback clear port for intra-cell callers and a mutual-TLS port advertised on the fabric for authorized peers. Its gRPC surface carries cross-cell replication and repair (StorageReplication) under mutual TLS. External object clients reach the S3 surface only through the node gateway; the storage listeners themselves are for intra-cell and cell-to-cell traffic. See the Ports & protocols reference.

Workers​

Background workers run integrity sweeps (sampled, never a full sweep of every object per pass), tier transitions, erasure repair, and replication catch-up. Each runs per cell.

The data path​

Figure: the storage data path. Integrity is drawn verified (green); an object that fails verification is held apart (amber) rather than served; cross-cell replication is outlined because it crosses the cell boundary under mutual TLS. Ceiling: integrity is sampled per pass, not a full sweep of every object each cycle.

Table equivalent

StepWhat happensState
WriteObject arrives via S3 or native APIneutral
Erasure code + placeShards coded and placed across devices/cellsneutral
Durable storeObject held durablycore
Integrity sweepSampled verificationverified
Fails verificationObject held apart, not servedrefusal
ReplicationCopied to peer cells over mutual TLSedge (cross-cell)

In the deployment matrix​

storage runs identically everywhere. Single-cell, replication listeners are present but idle and durability is local erasure coding. Multi-cell, service groups define erasure and replication sets that can span zones, regions, and clouds. Sovereign / air-gapped, replication to an unreachable peer is deferred and relayed, the peer is modeled as absent, and the local store remains fully serviceable.