我是否需要为每个数据库使用 1 个 RDS 群集,或者为所有数据库使用一个 RDS 群集?

我是否需要为每个数据库使用 1 个 RDS 群集,或者为所有数据库使用一个 RDS 群集?

假设我的应用程序将使用 5 个数据库。该应用程序将由 10 万多名用户使用。我计划将 RDS 集群与 Aurora PostgreSQL 结合使用。哪种方式最好?

为每个数据库创建 1 个集群,我最终会得到 5 个集群,我认为这对性能有好处,但成本较高。

或者

创建一个具有足够资源(CPU、RAM 等)的单一集群,其中包含 5 个数据库。

答案1

简单回答:这取决于。 :)

这取决于数据库之间的相互依赖程度。如果每个数据库都由其服务或微服务独立使用,并且您有一些自动化功能来配置微服务,那么通常建议将整个微服务(计算 + 数据库 + 存储)划分开来,并使其完全独立于其他微服务。它更适合 DevOps 模型,其中开发人员不仅负责代码部署,还负责数据库和存储。

但在现实世界中和/或对于单片应用程序和/或只有一个开发团队的情况下,数据库通常是共享的。这有点像老式的本地部署思维,一家公司花大价钱购买一个中央 Oracle RAC,并雇佣一群 DBA 来维持运营。

没有正确答案 - 拥有单独的数据库更“现代”,但如果额外的成本和复杂性不值得,那么一定要使用共享数据库。正如 Tim 所说 - 对性能进行基准测试。

相关内容