每个实例多个数据库的 Amazon RDS 优缺点

Joe*_*ers 5 mysql amazon-rds

我经营两个完全独立的网站。我正在将他们的 MySQL 数据库迁移到 Amazon RDS。

我不会进行多 A/Z 部署 - 让我们从这个问题中删除该变量。

我不确定是创建具有两个数据库的单个 RDS 实例,还是创建具有单个数据库的两个 Amazon RDS 实例。为了这个问题而忽略成本。我不会达到 1 TB 数据限制,所以我们忽略它。然而,极其重要的是,其中一个网站的崩溃不会影响另一个网站。

基于此文档 - http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/Concepts.DBInstance.html

我假设,如果我编写了导致给定 RDS 实例中的数据库之一崩溃的糟糕代码,则可能会导致整个 RDS 实例崩溃(从而无意中影响另一个数据库)。那是对的吗?

作为对评论的回应,我们肯定会考虑使用两个 RDS 实例的想法,每个实例都有自己的数据库。我只是想确保这样做实际上是有好处的 - 我假设好处是这些数据库在不同的实例上时不可能相互影响。我以为有一个镜头,即使在同一个实例中,它们也无法相互影响,但听起来并非如此。

--编辑 Hop3less - 感谢您的回答 - 但是,当我说两个 RDS 实例具有一个数据库时,我的意思是每个实例都有一个数据库。只是想确保您意识到我指的不是两个 EC2 实例。我假设单个 RDS 实例仍然是单点故障?

Hop*_*00b 1

是的,如果您有两个实例和一个数据库,那么您的单点故障就是单个数据库 - 任何对数据库产生影响的因素(例如负载过大、意外删除数据库等)都会对两个实例产生影响使用它的网站。

如果您有一个带有两个数据库的实例,那么您的单点故障就是该实例,并且任何影响该实例的因素(例如操作系统磁盘空间不足)都会影响使用该实例的两个站点它。

允许您的站点彼此完全独立的唯一设置是在其自己的实例上运行每个站点并使用其自己的数据库。(即使这不是“完全”独立,只是您可以控制的完全独立 - 如果两个实例共享的硬件或基础设施发生问题,它们都会受到影响。)