在云上设置数据库时,我一直在寻找最佳实践,但我仍然不清楚我们应该采用以下哪种解决方案?
- 亚马逊 RDS 极光
- 亚马逊 RDS MySQL
- EC2 实例上的 MySQL
我认为 Amazon Aurora 被宣传为更好的选择,但经过一些研究后,似乎人们并没有使用它。是不是有什么问题呢?
在考虑之前,您应该仔细对 Aurora 进行基准测试。启动实例并设置应用程序和数据库的测试实例。生成尽可能高的负载。我在上一家公司做到了这一点,我发现尽管亚马逊声称其高性能,但奥罗拉(Aurora)却惨遭失败。比 RDS 慢两个数量级。我们的应用程序的写入流量很高。
我们的结论是:如果您有二级索引并且写入流量较高,Aurora 不适合。我敢打赌这对于只读流量来说是有好处的。
(编辑:我描述的测试是在 2017 年第一季度完成的。与大多数 AWS 服务一样,我预计 Aurora 会随着时间的推移而改进。亚马逊有一个明确的策略“70% 的时候发布创意,然后迭代。 http://www.businessinsider.com/3-lessons-we-can-learn-from-jeff-bezos-about-making-decisions-2017-11“由此,我们应该得出结论,AWS 的新产品值得测试,但可能至少在推出后几年内还无法投入生产)。
在那家公司,我推荐了 RDS。他们没有专门的 DBA 人员,RDS 为您提供的升级和备份等数据库操作的自动化非常有帮助。您牺牲了一点调整选项的灵活性,但这应该不是问题。
RDS 最大的不便之处是您不能拥有具有 SUPER 权限的 MySQL 用户,但 RDS 为您需要 SUPER 权限的大多数常见任务提供存储过程。
我将多可用区 RDS 实例与由 Orchestrator 管理的 EC2 实例副本集进行了比较。由于 Orchestrator 需要三个节点,以便您可以拥有仲裁,因此 RDS 在成本以及易于设置和操作方面显然是赢家。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)