2013-08-16 38 views
6

我们目前在EC2上运行MySQL,并且我们已经有一段时间了。我喜欢简化备份,恢复和故障切换的想法,而且我非常喜欢使用RDS而不是EC2的易用性。我已经开始从EC2迁移到RDS,但是当我通过迁移工作时,我一直在想我是否做得正确。为什么人们建议不要使用Amazon RDS?

我读过人们暗示不要使用Amazon RDS for MySQL数据库,但我还没有找到RDS缺点的简明解释。

有人可以帮助我理解为什么我不应该转移到RDS,而是将我的数据保留在EC2中?

我们的数据库大约有30GB数据,大部分数据来自于一个1800万行表和一个InnoDB数据库中的4000万行表。

任何想法都非常感谢。谢谢!

+1

虽然你获得了一些自动化,但你放弃了一些控制。这是一个不值得每个人都值得的权衡。 – datasage

回答

0

通过使用RDS,您唯一会放弃的就是日志,不幸的是RDS并未提供有时对调试至关重要的全套日志。如果你能在没有他们的情况下生活,并且在开始生产之前进行了强有力的测试,那么RDS是一条可行的路。

+3

我认为这已经改变:http://aws.amazon.com/about-aws/whats-new/2013/03/04/amazon-rds-db-log-access/ –

3

这主要与团队的DBA有关。 RDS旨在消除DBA(主要是多可用区复制,备份,还原,修补...)的大部分重复和无聊的任务。这部分甚至可以占DBA花费的时间的70%。

另一方面,如果DBA在其实例上运行数据库(例如,在EC2上),则某些任务无法通过RDS访问,因为它们在RDS实例上没有ROOT。

如果您的DBA(和您的使用案例)可以从繁重的工作中受益,而且不会受到特权降低的困扰,那么您当然应该考虑RDS。

+0

在这种情况下,我是开发人员和DBA。虽然我不是全职的DBA,但这不是我的顶尖专业知识,但我对MySQL管理并不陌生。我试图了解我现在可能没有想过的事情,以后可能会抑制我的能力。 –

+1

然后我建议你去为它。我也是唯一的常驻系统管理员,并且宁愿外包尽我所能的关键但乏味的DBA任务。我还没有解决一个问题,那就是没有完全的root访问权限是一个问题,但是很多分散注意力(以及一些压力)都会随着RDS管理的备份,故障转移,容量管理和升级而消失。这不像是做或死的决定:如果你后来发现某些你不能做的事情,你可以再次启动自己的MySQL盒子。我打赌你不需要。 – ianjs

+0

RDS太棒了 - https://www.youtube.com/watch?v=RwCn5KAiFqM –

3

我们在RDS的二十个表格中管理一个200GB的数据库。根据我的经验,使用RDS可以节省大量时间,但存在的缺点很小,可以解决。总体而言,RDS节省的时间远远大于任何令人头痛的时间。然而,我所遇到的两个是:

  1. 您不能设置全局变量作为RDS-root用户,你必须将它们放置在parameter group然后应用到数据库中,这比困难“SET GLOBAL”但提供其他好处。

  2. 由于您无权访问RDS文件系统,因此无法将其转储到out-file中。请参阅this question。但正如在这个问题中指出的那样,有一些解决方法。

相关问题