> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据恢复能力

> 本指南提供灾难恢复概览。

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

本页介绍 ClickHouse Cloud 的灾难恢复建议，以及客户在发生中断后进行恢复的指导。
ClickHouse Cloud 目前不支持自动故障转移，也不支持跨多个地理区域的自动同步。

<Tip>
  客户应定期执行 Backup 恢复测试，以了解其服务规模和配置对应的具体 RTO。
</Tip>

<div id="definitions">
  ## 定义
</div>

先了解几个定义会更有帮助。

**RPO (恢复点目标) **：发生中断性事件后，以时间衡量的可接受最大数据丢失范围。示例：RPO 为 30 分钟，表示一旦发生故障，DB 应能够恢复到距离故障发生不超过 30 分钟的数据状态。当然，这也取决于备份的频率。

**RTO (恢复时间目标) **：发生中断后，恢复正常运行所允许的最长停机时间。示例：RTO 为 30 分钟，表示一旦发生故障，团队能够在 30 分钟内恢复数据和应用，并让业务恢复正常运行。

**数据库备份与快照**：备份通过保存一份独立的数据副本来提供持久的长期存储。快照不会创建额外的数据副本，通常速度更快，并且可以实现更好的 RPO。

<div id="database-backups">
  ## 数据库 Backup
</div>

为主服务保留 Backup，是在主服务发生停机时利用 Backup进行恢复的有效方式。
ClickHouse Cloud 支持以下 Backup能力。

1. **默认 Backup**

默认情况下，ClickHouse Cloud 每 24 小时为您的[服务创建一次 Backup](/zh/products/cloud/guides/backups/index)。
这些 Backup与服务位于同一区域，并存储在 ClickHouse CSP (云服务提供商) 的 storage bucket 中。
如果主服务中的数据损坏，可以使用 Backup将数据恢复到一个新服务。

2. **外部 Backup (在客户自己的 storage bucket 中) **

您可以将[Backup导出](/zh/products/cloud/guides/backups/bring-your-own-backup/export-backups-to-own-cloud-account)到您账户中的对象存储中，可以位于同一区域，也可以位于其他区域。
跨云 Backup导出支持即将推出。
跨区域和跨云 Backup将收取相应的数据传输费用。

<Note>
  此功能当前不适用于 PCI/HIPAA 服务
</Note>

3. **可配置 Backup**

客户可以[配置Backup](/zh/products/cloud/guides/backups/configurable-backups)，以更高频率执行Backup，最高可达每 6 小时一次，从而改善 RPO。
客户还可以配置更长的保留期。

该服务当前可用的 Backup会列在 ClickHouse Cloud 控制台的“backups”页面上。
此部分还会显示每个 Backup的成功/失败状态。

<div id="restoring-from-a-backup">
  ## 从Backup中恢复
</div>

1. 位于 ClickHouse Cloud 存储桶中的默认Backup可恢复到同一区域中的新服务。
2. 外部Backup (位于客户对象存储中) 可恢复到同一区域或不同区域中的新服务。

<div id="backup-and-restore-duration-guidance">
  ## Backup和恢复耗时指南
</div>

Backup和恢复耗时会因数据规模、schema复杂度和表数量而有显著差异。以下数据来自内部测试观察结果，并非性能承诺。

在我们的测试中，Backup约 1 TB 的数据耗时约 10 到 15 分钟，而Backup 20 TB 的数据约需一小时。更大的数据集所需时间会相应增加，数百 TB 或更大的Backup可能需要数小时，不过规模越大，规模效应越明显。

恢复通常比同等规模的Backup更慢，尤其是恢复涉及较长的增量Backup链时，因为必须应用全量Backup及Backup链中后续的所有增量Backup。恢复非常大的服务可能需要超过一天。

由于耗时在很大程度上取决于你的数据、schema和Backup配置，我们强烈建议在依赖任何目标恢复时间之前，先使用自己的数据测试恢复过程。

<Note>
  当前不支持在两个 ClickHouse Cloud 实例之间进行自动故障转移，无论它们位于同一区域还是不同区域。
  当前也不支持在同一区域或不同区域的不同 ClickHouse Cloud 服务之间自动同步数据，即 Active-Active 复制。
</Note>

<div id="recovery-process">
  ## 恢复流程
</div>

本节介绍各种恢复选项，以及每种情况下可采用的恢复流程。

<div id="primary-service-data-corruption">
  ### 主服务数据损坏
</div>

在这种情况下，数据[可以从备份恢复](/zh/products/cloud/guides/backups/review-and-restore-backups#restore-a-backup)到同一区域中的另一项服务。
如果使用默认备份策略，备份的数据最多可能滞后 24 小时；如果使用频率为 6 小时的可配置备份，则最多可能滞后 6 小时。

<h4 id="restoration-steps">
  恢复步骤
</h4>

从现有 Backup 中恢复：

1. 前往 ClickHouse Cloud 控制台的“Backups”部分。
2. 在要恢复的目标 Backup 对应的“Actions”下，点击三点菜单。
3. 为新服务指定名称，然后从该 Backup 中恢复

<Image img="https://mintcdn.com/private-7c7dfe99-parallel-read-in-order-multi-part/RIApJQXHeIIpcfQr/images/cloud/guides/restore_backup.webp?fit=max&auto=format&n=RIApJQXHeIIpcfQr&q=85&s=a5e0bf2c415e8fcd0e9cb23804af753e" size="md" alt="从 Backup 中恢复" width="1171" height="433" data-path="images/cloud/guides/restore_backup.webp" />

<div id="primary-region-downtime">
  ### 主区域停机
</div>

您可以将[备份导出](/zh/products/cloud/guides/backups/bring-your-own-backup/export-backups-to-own-cloud-account)到您自己的云提供商存储桶。
如果您担心区域性故障，我们建议将备份导出到其他区域。
请注意，这将产生跨区域数据传输费用。

如果主区域发生故障，位于其他区域的备份可以恢复到其他区域中的新服务。

将备份恢复到另一个服务后，您需要确保更新所有 DNS、负载均衡器或连接字符串配置，使其指向新服务。
这可能包括：

* 更新环境变量或 secrets
* 重启应用服务以建立新的连接

<Note>
  目前，使用[Transparent Data Encryption (TDE)](/zh/products/cloud/guides/security/cmek#transparent-data-encryption-tde) 的服务暂不支持向外部存储桶执行 Backup / restore。
</Note>

<div id="additional-options">
  ## 其他选项
</div>

还有一些可进一步考虑的选项。

1. **向不同集群双写**

在此方案中，您可以在不同区域部署 2 个独立集群，并同时向两者写入数据。
该方案的成本天然更高，因为需要运行多个服务，但如果某个区域不可用，也能提供更高的可用性。

2. **利用 CSP 复制**

在此方案中，您可以利用云服务提供商的原生对象存储复制功能来复制数据。
例如，使用 BYOB 时，您可以将备份导出到您在主区域拥有的存储桶中，再通过 [AWS 跨区域复制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) 将其复制到另一个区域。
