> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cockroach Plenum Overview

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

<Note>
  **This feature is in <InternalLink version="releases" path="cockroachdb-feature-availability">preview</InternalLink>** and subject to change. To share feedback and/or issues, contact [Support](https://support.cockroachlabs.com).
</Note>

Cockroach Plenum is Cockroach Continuum's elastic storage layer that separates a cluster's storage from its compute. Plenum provides a custom storage architecture purpose-built for CockroachDB that preserves CockroachDB's existing <InternalLink version="stable" path="architecture/replication-layer">replication and consensus behavior</InternalLink> while removing reliance on a provisioned disk layer.

On Continuum, Plenum backs the [*usage-based* storage model](#usage-based-storage), available on eligible <InternalLink path="editions-and-add-ons#editions">Mission Critical</InternalLink> clusters. Usage-based storage is billed based on physical-used GiB rather than provisioned capacity.

## How it works

CockroachDB nodes write to Plenum through the <InternalLink version="stable" path="architecture/storage-layer">storage layer</InternalLink> instead of writing to attached disks. Plenum manages the physical placement and redundancy of stored data across availability zones. Above the storage-layer boundary, <InternalLink version="stable" path="architecture/sql-layer">SQL</InternalLink>, <InternalLink version="stable" path="architecture/transaction-layer">transaction</InternalLink>, and <InternalLink version="stable" path="architecture/replication-layer">replication</InternalLink> behavior remains unchanged.

## Compared to provisioned storage

With provisioned block storage, each node has its own attached volume, so storage and compute are sized and scaled together as a unit. You provision capacity for the data you expect, pay for it whether or not it is full, and resize it as data grows. Provisioned block-storage services such as Amazon EBS also replicate data internally, adding cost and redundancy on top of CockroachDB's <InternalLink version="stable" path="architecture/replication-layer">replication</InternalLink>.

Plenum removes the provisioned-disk layer entirely. CockroachDB nodes write to a shared storage service instead of to attached disks, and storage is billed based on physical-used GiB.

## Usage-based storage

When you <InternalLink path="create-a-cluster">create a Mission Critical cluster</InternalLink>, you choose its storage model:

* *Usage-based.* Storage is backed by Plenum. You do not provision storage capacity or bandwidth. Storage capacity scales automatically as data is added or removed. You are billed based on physical-used GiB, and the Console shows storage consumption rather than provisioned capacity.
* *Provisioned.* Storage is backed by conventional block volumes and billed as provisioned capacity.

Usage-based storage is available on single-region Mission Critical clusters running CockroachDB v26.3 or later. Multi-region Mission Critical clusters and host clusters use provisioned storage.

Plenum is initially available in the following AWS regions:

* `us-east-1`
* `us-west-2`
* `eu-central-1`
* `eu-west-1`

Standard clusters run on shared infrastructure with usage-based storage billing, separate from Plenum.

The storage model is chosen when you <InternalLink path="create-a-cluster">create the cluster</InternalLink>, and cannot be changed. To change storage models, create a new cluster and move the workload.

For details on how storage is billed, refer to <InternalLink path="editions-and-add-ons">Editions and Add-Ons</InternalLink>.

## Independent scaling

Because the nodes running CockroachDB are stateless and separated from the storage layer, storage now scales independently.

## Durability and security

Plenum provides redundant storage across availability zones in a region. Data is encrypted at rest with its own keys, so clusters sharing Plenum's storage service are cryptographically isolated from one another.

## Demo video

For a demonstration of how to use Cockroach Plenum and cluster virtualization, watch the following video:

<iframe width="560" height="315" src="https://www.youtube.com/embed/NSfGxRn_koE" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## See also

* <InternalLink path="editions-and-add-ons">Editions and Add-Ons</InternalLink>
* <InternalLink path="create-a-cluster">Create a Cluster</InternalLink>
* <InternalLink path="editions-and-add-ons#editions">Mission Critical clusters</InternalLink>
