在云上设置数据库时,我一直在寻找最佳实践,但我仍然不清楚我们应该选择哪种解决方案?
我认为亚马逊Aurora被营销为更好的选择,但经过一些研究,似乎没有人使用它。有什么问题吗?
发布于 2017-09-25 16:17:04
在考虑之前,您应该仔细地对Aurora进行基准测试。启动一个实例并设置应用程序和数据库的测试实例。生成尽可能高的负载。在我的上一家公司,我发现尽管亚马逊声称业绩很好,但Aurora却惨遭失败。比RDS慢两个数量级。我们的应用程序有很高的写流量。
我们的结论是:如果您有二级索引和高的写入流量,Aurora是不合适的。不过,我敢打赌它对只读交通有好处。
(编辑:我描述的测试是在2017年的Q1中完成的。和大多数AWS服务一样,我预计Aurora会随着时间的推移而得到改进。亚马逊有一个明确的"以70%的速度发布想法,然后迭代。“策略,因此我们应该得出结论,AWS的新产品是值得测试的,但可能无法生产--至少在推出几年后才能准备好)。
在那家公司我推荐了RDS。他们没有专门的DBA人员,RDS为DB操作提供的自动化(比如升级和备份)非常有用。您在优化选项上牺牲了一点灵活性,但这不应该是个问题。
RDS最严重的不便是您不能让MySQL用户拥有超级权限,但是RDS为您需要超级特权的大多数常见任务提供存储过程。
我比较了一个多AZ实例和一个由Orchestrator管理的EC2实例的副本集。因为Orchestrator需要三个节点才能拥有仲裁,因此RDS在成本、设置和操作方面都是明显的赢家。
发布于 2017-09-25 09:32:33
我个人不使用Aurora,但我可以强烈推荐RDS而不是在EC2上运行您自己的RDS。让故障转移自动发生,而且备份也值每一分钱。尤其是因为RDS并不贵得多。
Aurara在纸面上看起来真的很好,但是更灵活的实例选择让我一直在PostGreSQL工作到现在。不过,我们正在考虑迁移到Aurora,主要是因为自动标度存储配置和更高的性能。
发布于 2017-09-25 10:19:26
AWS是托管数据库解决方案,它支持多种数据库选项Amazon、PostgreSQL、MySQL、MariaDB、Oracle和Microsoft。当您使用RDS时,它将提供内置的配置选项,例如。
这简化了数据库管理的开销。然而,灵活性仅限于RDS产品。
或者,如果您在EC2实例中承载数据库,您可以安装所需版本的数据库引擎,安装所需的扩展等等,这提供了更多的灵活性,但也需要专门知识&增加管理开销。
当您在RDS中考虑Amazon Aurora时,它与其他引擎不同,因为它的新的和完全由Amazon从底层实现的,并提供了更高的性能、更高的可靠性(由Amazon销售)和合理的价格。然而,Aurora的一个限制是它不包含在AWS免费层中,其中它支持的最小实例类型是“小”。
注意:根据您选择的数据库选项,RDS提供的一些功能和成本有所不同。
https://stackoverflow.com/questions/46401830
复制相似问题