灾难恢复概览

本文档提供可帮助您保护数据免遭丢失和停机的灾难恢复工具和方法的相关信息。

Spanner 灾难恢复功能

Spanner 旨在实现可伸缩性和全球分布。Spanner 提供以下功能来帮助确保较高的数据可用性:

  • 多区域配置:Spanner 可以在单个区域或多个区域内的单独可用区中维护数据副本,以确保即使某个可用区或区域发生故障,数据仍可供使用。

  • 数据库删除防护:您可以防范拥有删除数据库所需的 Identity and Access Management (IAM) 权限的用户或服务账号意外删除现有数据库。

  • 数据库备份和恢复:您可以创建 Spanner 数据库的备份并恢复这些备份,以帮助防范运维人员和应用错误。所有备份都具有高可用性,经过加密,可在创建后保留长达一年的时间。您可以按需创建完整备份,也可以使用备份时间表进行创建。您只能使用备份时间表创建增量备份。

  • 导出和导入:您可以将 Spanner 数据库以 CSV 或 Avro 格式导出到 Cloud Storage。

  • 时间点恢复 (PITR):Spanner 时间点恢复 (PITR) 可防范逻辑数据损坏以及意外数据库删除或写入。例如,如果运维人员意外写入数据或应用启动损坏数据库,您可以从过去某个时间点恢复数据(最多 7 天)。

  • 跨区域复制:您可以将备份复制到不同的地理区域,以保护数据免遭区域级故障影响,或满足组织的合规性要求。

选择备份或导出数据库

在决定使用哪种方法之前,请先比较数据库备份和数据库导出。例如,备份的最长保留期限为一年。如果您希望保留期限为一年以上,可以考虑导出数据库。下表介绍了使用备份和恢复与使用导入和导出之间的相似之处和不同之处:

备份和恢复导入和导出
数据一致性 备份和导出的数据库具有事务一致性和外部一致性。
性能影响 备份对实例性能没有影响。Spanner 使用不会占用实例服务器资源的专用作业执行备份。 导出操作作为中优先级任务运行,以最大限度地减少对数据库性能的影响。如需了解详情,请参阅任务优先级
存储格式 使用专为快速恢复设计的专有加密格式。 支持 CSV 和 Avro 文件格式。
可移植性 您可以在源数据库所在的同一实例中创建备份。

创建备份后,如果您需要跨区域或跨项目备份,可以将备份复制到其他区域或项目中的实例。然后,您可以采用新数据库形式从备份恢复到同一项目中的任何实例。您要恢复到的实例应具有与存储备份的实例相同的实例配置。
导出的数据库位于 Google Cloud Storage,并且数据可以迁移到支持 CSV 或 Avro 的任何系统。
保留 备份最多可保留 1 年。 导出的数据库存储在 Cloud Storage 中,默认情况下,这些数据库会保留在此处,直到删除为止。您可以自定义生命周期保留政策。
价格 系统会根据每单位时间使用的存储空间向您的 Spanner 项目收取备份费用。如需了解详情,请参阅价格部分。 由于使用了 Cloud StorageDataflow,因此导入和导出的结算更加复杂。如需了解详情,请参阅数据库导出和导入价格
恢复时间 恢复操作分为两种:恢复和优化。恢复操作提供快速首字节时间,因为数据库直接装载备份而不复制数据。恢复操作完成后,数据库便可以使用,但在优化过程中,读取延迟可能会略高。如需了解详情,请参阅恢复的工作原理 导入速度较慢。您需要等待所有数据写入数据库。

灾难恢复方法

Spanner 提供灾难恢复方法,可保护您的数据免遭以下灾难的影响:

  • 可用区级故障:Spanner 单区域配置可自动防范可用区级故障,确保即使某个区域内的一个可用区发生故障,您的应用也能继续正常运行。
  • 区域级故障:如果您的应用需要更高的数据可用性,并防范区域级故障,请使用可提供 99.999% 可用性的多区域配置
  • 重大地理灾难:使用 Spanner 跨区域备份副本可在不同区域提供备份。
  • 逻辑损坏:针对不同的保留期限,使用以下灾难恢复方法:
    • 设置时间点恢复 (PITR),以便按照过去 7 天内的任何时间点恢复数据。
    • 设置备份时间表,以按满足您的需求的频率创建完整备份或增量备份。所有备份最多可保留 1 年。
    • 将数据库导出到 Cloud Storage,您可以在其中保留数据以用于合规性、分析或报告。
  • 意外数据库删除:使用数据库删除防护可防止拥有必要 IAM 权限的用户或服务账号意外删除现有数据库。

优化灾难恢复策略的费用

您可以通过以下方式优化 Spanner 灾难恢复费用:

  • 多区域配置:仅当应用需要 99.999% 的可用性时,才使用多区域配置。对于需要只读延迟时间的应用,请考虑使用其他区域中的读取副本。
  • 备份频率:仅按满足您需求的频率安排备份。
  • 备份类型:使用增量备份时间表可节省存储费用。
  • 备份保留:确定并设置备份保留期限,使其为满足恢复和合规性需求所需的最短时间。
  • 大型数据导出:对于大型数据导出,请考虑使用 Spanner Data Boost,以从实例中分流计算资源,避免对事务性能产生负面影响。

测试灾难恢复策略

考虑测试和验证灾难恢复计划的以下组成部分:

  • 模拟最可能导致组织数据丢失的事件。
  • 练习从创建的备份恢复数据库。如需详细了解如何恢复数据库,请参阅恢复概览
  • 评估灾难恢复计划对存储空间利用率的影响。
  • 评估备份过程对应用性能的影响。
  • 模拟可用区级或区域级故障,以测试故障切换和恢复程序。

后续步骤