我一直在寻找在云上设置数据库时的最佳实践,但我仍然不清楚我们应该采用以下哪种解决方案?
- 亚马逊RDS极光
- 亚马逊RDS MySQL
- EC2实例上的MySQL
我认为亚马逊极光(Amazon Aurora)是一个更好的 Select ,但经过一些研究,人们似乎并没有使用它.有什么问题吗?
我一直在寻找在云上设置数据库时的最佳实践,但我仍然不清楚我们应该采用以下哪种解决方案?
我认为亚马逊极光(Amazon Aurora)是一个更好的 Select ,但经过一些研究,人们似乎并没有使用它.有什么问题吗?
你应该仔细考虑极光,然后再考虑.启动一个实例并设置应用程序和数据库的测试实例.产生尽可能高的负载.我在上一家公司做过,我发现,尽管亚马逊声称它的性能很好,但极光还是失败了.比RDS慢两个数量级.我们的应用程序有很高的写入流量.
我们的结论是:如果你有二级索引和高写流量,Aurora是不合适的.不过,我敢打赌它对只读流量有好处.
(编辑:我描述的测试是在2017年第1季度完成的.与大多数AWS服务一样,我预计Aurora会随着时间的推移而改进.亚马逊有一个明确的"Release ideas at 70% and then iterate."战略.从这一点上,我们应该得出结论,AWS的一个新产品值得测试,但在推出后的至少几年内可能还没有做好生产准备).
在那家公司,我推荐了RDS.他们没有专门的DBA员工,RDS为您提供的升级和备份等DB操作的自动化非常有用.您在调整选项上牺牲了一点灵活性,但这应该不是问题.
RDS带来的最大不便是,您不能让MySQL用户拥有超级权限,但RDS为您需要超级权限的大多数常见任务提供存储过程.
我比较了多AZ RDS实例和由Orchestrator管理的EC2实例副本集.因为Orchestrator需要三个 node ,所以您可以拥有仲裁,所以RDS在成本、安装和操作的方便性方面无疑是赢家.