Amazon RDS备份/快照实际上如何工作?

esi*_*ver 91 mysql latency amazon-web-services amazon-rds

我是Amazon RDS的客户,并且每天都遇到亚马逊RDS写入延迟峰值,大致相当于备份窗口.我还会在快照结束时看到尖峰(例如:运行快照需要1小时,在最后5分钟内,写入延迟峰值).我正在运行多AZ m1.large部署.

Stack上有没有人可以解释Amazon RDS备份实际上是如何工作的?我已经阅读了亚马逊RDS文档,据我所知,亚马逊RDS的行为并不符合规范.具体来说,这些备份/快照操作应该是我的副本,因此不会导致任何停机/性能损失,或者我认为.

我可以将我的问题提炼成六个问题:

  • 快照和备份过程中技术上发生了什么,它们有何不同?(如果您回答这个问题,请告诉我您是否能够凭经验确认您的答案,或者只是引用我的文档).
  • 在多可用区部署的备份窗口期间,预期写入延迟会出现峰值吗?
  • 在多可用区部署的快照结束时,预计会出现写入延迟的峰值吗?
  • 如果我不是多AZ,我的写入延迟峰值会更高吗?
  • 在架构上,如果我在两个m1.large EC2实例上运行我自己的数据库,我是否能够避免这些写入延迟峰值?
  • 是否有任何我可以使用的配置可以避免这些写入延迟峰值,同时仍然使用RDS托管我的数据库,或者我是否真的受亚马逊的支配?

奖金问题:你在哪里以及如何托管你的mysql数据库?

我可以说除了这些每日写入延迟问题外,我一直对RDS感到满意.我喜欢内置的数据库监控,设置和开始都相当简单.

谢谢!

亚马逊RDS写入延迟

Jos*_*hua 76

除了我们自己管理的一些机器上的MySQL之外,我们还运行了几个RDS实例.我不能具体评论,因为我不是亚马逊工程师,但我学到的一些东西可以解释你所看到的:

  • 虽然亚马逊没有100%分享后端细节,但我们强烈怀疑他们正在使用他们的EBS系统来支持RDS数据库.

  • 本文有助于解释EBS限制和快照功能http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ 同样,虽然它不明确,但亚马逊使用此基础架构是有意义的提供RDS服务.

  • 通常,与快照相比,MySQL备份涉及使用mysqldump之类的工具来创建SQL语句文件,然后再生成数据库.不需要冻结数据库来执行此操作.使用EBS后端,最佳做法是在快照时冻结数据库(暂停所有事务)以避免数据损坏.

  • 您在备份窗口末尾看到的峰值.如果在副本快照期间亚马逊暂停复制,则副本将需要在快照完成时"赶上"事务.这会导致延迟峰值.

  • 跨多区域部署的复制本质上比单个AZ部署慢.您为更好的冗余支付的价格.

  • 我可以确认Amazon RDS正在使用EBS作为其RDS数据库的后备存储.RDS Cloudwatch中的Read Latency和Write Latency图有效地描述了EBS实例.谢谢你的回答,这是有道理的. (7认同)

小智 5

亚马逊透露了他们在多可用区部署中使用的基本架构。这可以帮助人们做出决定

https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-multi-az/