Cockroach Labs Estate economics What idle nodes, provisioned bytes and peak-sized bills cost, worked out from your estate.

Estate summary

  1. Nodes 75 baseline
  2. Avg CPU utilization 15.0% idle hardware
  3. Storage provisioned 1.5 TB 250 GB of data
  4. Est. monthly saving 0%

Step 3 of 8 - Storage

Pay for bytes, not boxes

One change drives the next three pages: the persistent state stops living on the node.

Cold tier Tier 80% of data as cold

Cold tiering needs Plenum: block storage on the node has no colder place to keep a byte.

Capacity provisioned to hold 250 GB of dataBlock storage on each node1.5 TB on disk3 copies of the datafree space, bought and idle6xPlenum1.5 TB on disk + 250 GB in object storage3 copies of the datain S3free space, not on the bill7xbilled: the 1.0 TB on disk, not the 1.8 TB of capacity holding themCapacity provisioned per byte of dataBlock storage on each node provisions 6 bytes of capacity per byte of data, all of it on disk. Plenum provisions 7, of which 1 is a copy in object storage. Billed as used, 4 of those 7 bytes reach the bill: the copies on disk and the object storage backstop, but not the free space.
Block storage on each noden1n2n3diskdiskdiskThe bytes belong to the node:add, drain or lose one and they move.Plenumn1n2n3PlenumS3 backstop copyThe bytes belong to the layer:a node attaches to a store, then lets go.Where the bytes live under each storage modelWith Block storage on each node, each node owns the disk holding its store, so scaling and failure both copy data. With Plenum, the stores sit in a shared layer with a copy in object storage, and a node attaches to a store rather than holding it.

25 clusters x 10 GB = 250 GB of logical data becomes 1.5 TB of provisioned capacity.

StepWorkingResult
Logical data25 clusters x 10 GB250 GB
Provisioned capacity250 GB x 6 bytes on disk per logical byte1.5 TB
Metered as provisionedreserved capacity, billed used or not1.5 TB
Storage billevery one of the 1.5 TB is on it100%

3 Raft copies at 50% utilization (3/0.5 = 6), on top of the block store's own internal replication.

What reaches the bill

Block storage is provisioned: you size a disk and you pay for the disk. It isn't a setting alongside the layer, which is why switching to Plenum changes both at once.

The ratio is the point, not the size: the volume is the one you described on the front page, and every figure on the following pages follows it, including what a rebalance moves and what a dead node has to re-read.

Where the saving actually comes from
  1. Double replication eliminated. Hard links let all Raft replicas of a range share one copy, so Raft's 3x stops stacking on the storage layer's own replication. Plenum still replicates across zones.
  2. Local NVMe instead of network block storage. Reserved EC2 discounts run around 50%, EBS around 25%. Instance-local NVMe takes the better rate.
  3. Storage utilization. Provisioning storage independently of compute: about 50% to about 75%.
  4. Compute auto-scaling. Stateless KV nodes come and go freely: 10-15% average CPU to 30-45%.