代码之家  ›  专栏  ›  技术社区  ›  Khalid Al-Mutawa

EC2上的Amazon RDS Aurora vs RDS MySQL vs MySQL?

  •  48
  • Khalid Al-Mutawa  · 技术社区  · 7 年前

    我一直在寻找在云上设置数据库时的最佳实践,但我仍然不清楚应该采用以下哪种解决方案?

    • 亚马逊RDS极光
    • 亚马逊RDS MySQL
    • EC2实例上的MySQL

    3 回复  |  直到 7 年前
        1
  •  53
  •   Bill Karwin    6 年前

    在考虑之前,你应该仔细地对极光进行基准测试。启动实例并设置应用程序和数据库的测试实例。生成尽可能高的负载。我在上一家公司做过,我发现尽管亚马逊声称它的性能很高,但极光还是失败了。比RDS慢两个数量级。我们的应用程序有很高的写入流量。

    我们的结论是:如果您有二级索引并且具有较高的写入流量,则Aurora不适合。不过,我敢打赌这对只读流量有好处。

    Release ideas at 70% and then iterate.

    在那家公司,我推荐了RDS。他们没有专门的DBA员工,RDS为您提供的数据库操作自动化(如升级和备份)非常有用。您在调优选项上牺牲了一点灵活性,但这应该不是问题。

    RDS最不方便的地方是,您不能让MySQL用户拥有超级权限,但RDS为您需要超级权限的大多数常见任务提供存储过程。

    我比较了多AZ RDS实例与由Orchestrator管理的EC2实例副本集。因为Orchestrator需要三个节点,所以您可以拥有仲裁,所以RDS在这里的成本以及易于安装和操作方面无疑是赢家。

        2
  •  14
  •   Exelian    7 年前

    我个人并不使用Aurora,但我可以强烈推荐RDS,而不是在EC2上运行自己的RDS。让故障转移自动发生,同时备份也值得花每一分钱。尤其是因为RDS没有那么贵。

    Aurara在纸上看起来真的很好,但更灵活的实例选择让我一直留在PostGreSQL。不过,我们正在考虑迁移到Aurora,这主要是因为自动缩放存储资源调配和更高的性能。

        3
  •  4
  •   Ashan    7 年前

    • 数据库复制以实现高可用性
    • 读取副本以实现可扩展性
    • 操作系统和软件补丁;等

    或者,如果您将数据库托管在EC2实例中,您可以安装所需版本的数据库引擎,安装所需的扩展;等等,这提供了更多的灵活性,但也需要专业知识;增加了管理开销。

    当你考虑RDS中的Amazon Aurora时,它不同于其他引擎,因为它是全新的,完全由Amazon从头开始实施,以合理的价格提供更高的性能和可靠性(正如Amazon所销售的那样)。然而,Aurora的一个限制是它不包括在AWS自由层中,它支持的最小实例类型是“小”。