跨区域复制 Aurora 集群以实现故障回退的更快种子传输的最佳实践

0

【以下的问题经过翻译处理】 客户目前在一个Aurora-MySQL区域集群中拥有多个数据库。客户正在计划DR策略。他们有两个选择:1\基于Binlog a.k.a逻辑复制的Aurora-MySQL区域-跨区域副本 2\ Aurora-MySQL全球-物理复制。在这两个选项中,哪种策略最佳以减少在回溯(而不是故障转移)情况下播种副本集所需的时间?客户进行了实验,并发现在没有改变当前数据库到集群比例的情况下,使用Aurora Regional +逻辑复制需要3.75小时,而使用Aurora Global建立一个新的副本集需要3个小时。我问了一下,通常回溯没有SLA要求,这主要与故障转移有关,那么为什么客户有兴趣缩短持续时间呢?但是,如果没有其他选择,我将强调这一点。但是在此期间,我想了解您对这些选项和考虑因素的看法:

选项1:拆分集群以保持每个集群1个数据库的比例。这样可以减小整体集群大小,将副本引入另一个区域的速度将更快,而不管他们选择Aurora Regional还是Aurora Global。

选项2:是否分裂无关紧要。我怀疑这一点。

如果选择1是正确的选择,则下一个问题是将DB拆分为其各自的集群的机制:

选项 A:对现有的多数据库集群进行快照 > 还原到 Aurora 区域性或全球性,并删除除一个之外的所有数据库。对于您在该集群中拥有的每个数据库都执行此操作。这种做法能减小集群的总体大小吗?我认为不会,因为 Aurora 存储不会因为删除的表或数据库空间而缩小,它可能会在某些条件下重新使用这些空间。因此,当必须在新区域创建副本集群时,它将占用与删除数据库之前相同的存储空间或内容。这是真的吗?如果是真的,Aurora 的区域性和全球性提供是否会有不同行为?

选项 B:Aurora 备份和还原的粒度是集群级别,因此您可以单独备份一个数据库并将其还原到新的集群。使用一些机制 - 如 DMS 或其他方法,来逐个迁移数据库的内容到新集群。对我来说不太清楚,所以我需要更多关于 AWS 在这方面的建议的清晰度。

profile picture
EXPERTE
gefragt vor 9 Monaten23 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 一般来说,当我们在RDS数据库上创建读取副本时,它将对主/写入数据库实例进行快照并在新的数据库实例上进行恢复操作。在创建Aurora MySQL跨区域副本时,备份数据库将会在辅助区域上进行恢复操作。在Aurora中,数据库恢复过程是并行的异步操作。创建读取副本的时间估计基于数据库大小,但由于来自S3的并行恢复,恢复过程比RDS MySQL快得多。

删除表或数据库并不能帮助你优化Aurora跨区域副本的创建过程,因为它是物理备份恢复过程,即将所有分配的块/页面映射到Aurora数据库实例,包括分配的空白页面/块。

profile picture
EXPERTE
beantwortet vor 9 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen