灾难恢复概览

本文档介绍了灾难恢复工具和技术,可帮助您保护数据免遭丢失和停机。

Spanner 灾难恢复功能

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

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

  • 数据库删除保护:您可以防止具有必要 Identity and Access Management (IAM) 权限来删除数据库的用户或服务账号意外删除现有数据库。

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

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

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

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

选择备份或导出数据库

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

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

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

灾难恢复技术

Spanner 提供灾难恢复技术,可保护您的数据免受以下灾难的影响:

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

优化灾难恢复策略的费用

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

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

测试灾难恢复策略

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

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

后续步骤