> ## 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.

# Data Resilience

CockroachDB provides built-in [**high availability (HA)**](#high-availability) features and [**disaster recovery (DR)**](#disaster-recovery) tooling to achieve operational resiliency in various deployment [topologies](/docs/stable/topology-patterns.md) and use cases.

* HA features ensure continuous access to data without interruption even in the presence of [failures](/docs/stable/demo-cockroachdb-resilience.md) or disruptions to maximize uptime.
* DR tools allow for recovery from major incidents to minimize downtime and data loss.

![Diagram showing how HA features and DR tools create a resilient CockroachDB deployment.](https://mintcdn.com/cockroachlabs/iiBVxthghoAOO3UM/images/common/resilience.svg?fit=max\&auto=format\&n=iiBVxthghoAOO3UM\&q=85\&s=198fca0410cbcdf92199926290ffbd76)

You can balance required SLAs and recovery objectives with the cost and management of each of these features to build a resilient deployment.

* **Recovery Point Objective (RPO)**: The maximum amount of data loss (measured by time) that an organization can tolerate.
* **Recovery Time Objective (RTO)**: The maximum length of time it should take to restore normal operations following an outage.

> [!TIP]
>
> For a practical guide on how CockroachDB uses Raft to replicate, distribute, and rebalance data, refer to the [CockroachDB Resilience demo](/docs/stable/demo-cockroachdb-resilience.md).

## High availability

* [**Multi-active availability**](/docs/stable/multi-active-availability.md): CockroachDB's built-in [Raft replication](/docs/stable/architecture/replication-layer.md) stores data safely and consistently on multiple nodes to ensure no downtime even during a temporary node outage. [Replication controls](/docs/stable/configure-replication-zones.md) allow you to configure the number and location of [replicas](/docs/stable/architecture/glossary.md#replica) to suit a deployment.
  * For more detail on planning for single-region or multi-region recovery, refer to [Single-region survivability planning](/docs/stable/disaster-recovery-planning.md#single-region-survivability-planning) or [Multi-region survivability planning](/docs/stable/disaster-recovery-planning.md#multi-region-survivability-planning).
* [**Advanced fault tolerance**](/docs/stable/demo-cockroachdb-resilience.md): Capabilities built in to CockroachDB to perform routine maintenance operations with minimal impact to foreground performance. For example, [online schema changes](/docs/stable/online-schema-changes.md), [write-ahead log failover](/docs/stable/cockroach-start.md#write-ahead-log-wal-failover), and [Leader leases](/docs/stable/architecture/replication-layer.md#leader-leases).
* [**Logical data replication (LDR)**](/docs/stable/logical-data-replication-overview.md) (Preview): A cross-cluster replication tool between active CockroachDB clusters, which supports a range of topologies. LDR provides eventually consistent, table-level replication between the clusters. Individually, each active cluster uses CockroachDB multi-active availability to achieve low, single-region write latency with transactionally consistent writes using Raft replication.

### Choose an HA strategy

| | Single-region replication (synchronous) | Multi-region replication (synchronous) | Logical data replication (asynchronous) |
| - | - | - | - |
| **RPO** | 0 seconds | 0 seconds | Immediate mode 0.5 seconds |
| **RTO** | Zero RTO Potential increased latency for 1-9 seconds | Zero RTO Potential increased latency for 1-9 seconds | Zero RTO Application traffic failover time |
| **Write latency** | Region-local write latency p50 latency \< 5ms (for multiple availability zones in us-east1) | Cross-region write latency p50 latency > 50ms (for a multi-region cluster in us-east1, us-east-2, us-west-1) | Region-local latency depending on design p50 latency \< 5ms (for multiple availability zones in us-east1) |
| **Recovery** | Automatic | Automatic | Semi-automatic |
| **Fault tolerance** | Zero RPO node, availability zone failures within a cluster | Zero RPO node, availability zone failures, region failures within a cluster | Zero RPO node, availability zone within a cluster, region failures with loss up to RPO in a two-region (or two datacenter) setup |
| **Minimum regions to achieve fault tolerance** | 1 | 3 | 2 |

For details on designing your cluster topology for HA with replication, refer to the [Disaster Recovery Planning](/docs/stable/disaster-recovery-planning.md#hardware-failure) page.

## Disaster recovery

* [**Backup and point-in-time restore**](/docs/stable/take-backups-with-revision-history-and-restore-from-a-point-in-time.md): Point-in-time backup and restore allows you to roll back to a specific point in time. Multiple supported [cloud storage](/docs/stable/use-cloud-storage.md) providers means that you can store backups in your chosen provider. [Incremental backups](/docs/stable/take-full-and-incremental-backups.md) allow you to configure backup frequency for lower [RPO](/docs/stable/disaster-recovery-overview.md).
* [**Physical cluster replication (PCR)**](/docs/stable/physical-cluster-replication-overview.md): A cross-cluster replication tool between an active primary CockroachDB cluster and a passive standby CockroachDB cluster. PCR provides transactionally consistent full-cluster replication.

### Choose a DR strategy

CockroachDB is designed to recover automatically; however, building backups or PCR into your DR plan protects against unforeseen incidents.

| | Point-in-time backup & restore | Physical cluster replication (asynchronous) |
| - | - | - |
| **RPO** | >=5 minutes | 10s of seconds |
| **RTO** | Minutes to hours, depending on data size and number of nodes | Seconds to minutes, depending on cluster size, and time of failover |
| **Write latency** | No impact | No impact |
| **Recovery** | Manual restore | Manual failover |
| **Fault tolerance** | Not applicable | Zero RPO node, availability zone within a cluster, region failures with loss up to RPO in a two-region (or two-datacenter) setup |
| **Minimum regions to achieve fault tolerance** | 1 | 2 |

## See also

* [Architecture Overview](/docs/stable/architecture/overview.md)
* [Set Up Logical Data Replication](/docs/stable/set-up-logical-data-replication.md)
* [Set Up Physical Cluster Replication](/docs/stable/set-up-physical-cluster-replication.md)
* [Physical Cluster Replication Technical Overview](/docs/stable/physical-cluster-replication-technical-overview.md)
* [Backup Architecture](/docs/stable/backup-architecture.md)
* [Backup and Restore Overview](/docs/stable/backup-and-restore-overview.md)
* [Managed Backups](/docs/cockroachcloud/managed-backups.md)
