何时创建新的 RDS 实例与新数据库?
When to create new RDS Instance vs new database?
我有两个 AWS RDS Postgres 实例。有时我为与其他应用程序(非常)模糊相关的应用程序创建新实例。这总是让我想到这个问题;我应该只在现有实例中创建一个新数据库,还是将它们分开并创建一个新实例?
我建议您使用相同的数据库服务器(Amazon RDS 实例)。
您可以通过以下任一方式在逻辑上分隔数据:
CREATE DATABASE
:完全逻辑分离。您登录到一个数据库,却永远看不到另一个数据库。 或
CREATE SCHEMA
:数据分开保存,但可以相互引用。对于暂存区域很常见,例如在暂存模式中执行 ETL,然后发布到生产模式。
根据你的描述,我认为 CREATE DATABASE
比较合适。
好处是你只需要管理一个数据库,对成本影响很小,除非你需要增加数据库实例的大小来处理更高的负载(但它仍然比 运行 两个独立的数据库)。
只需关注 CloudWatch 指标,确保数据库正确处理增加的负载。
通常情况下,使用不同服务器的最大原因是因为它们 owned/managed 属于不同的团队。但是,在您的情况下,同一个团队似乎 'own' 两个数据存储,所以这不是问题。
我有两个 AWS RDS Postgres 实例。有时我为与其他应用程序(非常)模糊相关的应用程序创建新实例。这总是让我想到这个问题;我应该只在现有实例中创建一个新数据库,还是将它们分开并创建一个新实例?
我建议您使用相同的数据库服务器(Amazon RDS 实例)。
您可以通过以下任一方式在逻辑上分隔数据:
CREATE DATABASE
:完全逻辑分离。您登录到一个数据库,却永远看不到另一个数据库。 或CREATE SCHEMA
:数据分开保存,但可以相互引用。对于暂存区域很常见,例如在暂存模式中执行 ETL,然后发布到生产模式。
根据你的描述,我认为 CREATE DATABASE
比较合适。
好处是你只需要管理一个数据库,对成本影响很小,除非你需要增加数据库实例的大小来处理更高的负载(但它仍然比 运行 两个独立的数据库)。
只需关注 CloudWatch 指标,确保数据库正确处理增加的负载。
通常情况下,使用不同服务器的最大原因是因为它们 owned/managed 属于不同的团队。但是,在您的情况下,同一个团队似乎 'own' 两个数据存储,所以这不是问题。