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

时间:2011-03-09 17:37:24

标签: mysql amazon-web-services latency amazon-rds

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

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

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

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

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

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

谢谢!

amazon RDS write latency

2 个答案:

答案 0 :(得分:74)

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

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

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

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

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

  • 跨多区域部署的复制本质上比单个AZ部署慢。为更好的冗余而付出的代价。

答案 1 :(得分:4)

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

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