我们目前在EC2上运行MySQL,我们已经有一段时间了。我喜欢简化备份,恢复和故障转移的想法,我真的很容易使用RDS而不是EC2。我已经开始从EC2迁移到RDS,但是当我完成迁移时,我一直想知道我是否做了正确的事情。
我读过一些暗示不要使用Amazon RDS for MySQL数据库的人,但我还没有找到RDS缺点的简明解释。
有人可以帮助我理解为什么我不应该转移到RDS,而是将我的数据保存在EC2中?
我们的数据库大约有30GB的数据,主要来自一个1800万行表和一个InnoDB数据库中的4000万行表。
非常感谢任何想法。谢谢!
答案 0 :(得分:3)
这主要是团队DBA的一个问题。
RDS旨在消除DBA的大多数重复和枯燥的任务(主要是多可用区复制,备份,恢复,修补......)。这部分甚至可以占DBA花费的70%。
另一方面,DBA在其实例上运行数据库时可以执行的某些任务(例如,在EC2上)无法通过RDS访问,因为它们在RDS实例上没有ROOT。
如果您的DBA(以及您的使用案例)可以从繁重的工作中受益并且不会受到降低的权限的影响,那么您当然应该考虑使用RDS。
答案 1 :(得分:3)
我们在RDS的20个表中管理了200GB的数据库。根据我的经验,使用RDS节省了大量时间,而确实存在的缺点很小,可以解决。总的来说,RDS节省的时间远远超过任何令人头疼的问题。但是,我遇到的两个是:
您无法在RDS中将全局变量设置为root用户 - 您必须在parameter group中设置它们然后将其应用于数据库,这比“SET GLOBAL”更难,但提供其他好处。
由于您无权访问RDS文件系统,因此无法转储到外部文件中。见this question。但是,如该问题所述,有一些解决方法。
答案 2 :(得分:0)
使用RDS唯一可以放弃的是日志,遗憾的是,RDS不提供有时对调试至关重要的全套日志。如果您可以在没有它们的情况下生活,并且在投入生产之前有一个强大的测试,那么RDS就是您的选择。