为什么与 Aurora MySQL 兼容的数据库集群快照需要这么长时间才能恢复?

1 分钟阅读
0

我想恢复 Amazon Aurora MySQL 兼容版数据库集群快照,但这需要很长时间。

简短描述

Amazon Aurora MySQL 兼容版数据库集群的快照恢复过程涉及许多重要任务。例如,在此过程中创建了 Aurora 集群以及高可用集群卷。状态检查、存储和硬件分配以及写入数据卷等过程都会影响快照恢复的时间。

快照恢复时间受多种因素的影响:

  • 对于 Aurora 集群,单个集群分布在三个可用区(AZ)以提供高可用性。Aurora 集群从快照中恢复时会在这三个可用区中预置存储空间。集群可用后,会在集群卷内再创建六个副本来存储数据。存储卷分布在数百个存储节点上,并分布在三个不同的可用区上。
  • 创建 Aurora 集群后,集群将数据从 Amazon Simple Storage Solution S3(Amazon S3)下载到存储节点。集群在数据可用之前执行此操作。与 MySQL 实例的 Amazon Relational Database Service(Amazon RDS)的还原过程不同,还原后不会发生延迟加载。
  • Aurora 恢复是非线性的。因此,例如,您可以恢复两个独立集群,一个有 1GB 的数据,另一个有 10GB 的数据。恢复较大数据集所需的时间只比恢复较小数据集所花费的时间多一点,并非多十倍。
  • 恢复过程还包括状态检查、存储和硬件分配以及写入数据卷。所有这些过程都很耗时,但必须精确执行才能获得最佳性能。

解决方法

在更改 Aurora 数据库时,您可以使用 Aurora 集群克隆功能或回溯功能,具体取决于您的使用案例。

Aurora 集群克隆

使用 Aurora 集群克隆功能是为当前集群创建相同副本的最快方法。创建克隆集群后,您可以针对克隆集群的更改进行测试,且不会影响原始集群。如果测试通过,则可以将更改应用于原始集群。

注意:在对数据库进行任何更改之前,最佳实践仍然是拍摄集群快照。

以下是克隆现有 Aurora 集群的一些常见使用案例:

  • 您想尝试评测架构更改或参数组更改等造成的影响。
  • 您想执行工作负载密集型操作,例如导出数据或运行分析查询。
  • 您想在非生产环境中创建生产数据库集群的副本用于开发或测试。

Aurora 回溯功能

您还可以对 Aurora 集群使用回溯功能。回溯使您能够通过原地倒回数据来快速撤消错误。回溯数据库集群不需要创建新的数据库集群,因此只需几分钟即可完成。

但是,此功能存在局限性。首先,只有在启用该功能时创建的集群上可用。因此,如果您的集群未启用此功能,则需要执行快照恢复才能开启回溯功能。此外,回溯不支持二进制日志复制,并且必须先关闭跨区域复制,然后才能配置或使用回溯功能。回溯时段的限制为 72 小时。

注意事项

引入 Aurora 集群克隆和回溯功能是为了缩短 Aurora 在某些使用案例中的恢复时间。但是,定期拍摄快照仍然是最佳实践,而且最好在对数据库进行任何计划更改之前采用这种方法。

还有,请确保在执行快照、时间点或克隆时,源数据库上没有长时间运行的写入操作。任何长时间运行的 DCL、DDL 或 DML(打开写入事务)都可能会增加恢复的数据库变为可用状态所需的时间。

相关信息

克隆 Amazon Aurora 数据库集群的卷

回溯 Aurora 数据库集群


AWS 官方
AWS 官方已更新 1 年前