灾难恢复概览

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

Spanner 灾难恢复功能

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

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

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

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

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

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

  • 跨区域复制:您可以将备份复制到不同的地理区域,以防范区域性故障造成的数据丢失,或满足组织的合规性要求。

选择备份或导出数据库

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

备份和恢复导入和导出
数据一致性 备份和导出的数据库具有事务一致性和外部一致性。
性能影响 备份对实例性能没有影响。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,以从实例中分流计算资源,避免对事务性能产生负面影响。

测试灾难恢复策略

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

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

后续步骤