2014-09-01 127 views
2

我们正在开发使用RDS的Java/j2ee应用程序。Amazon RDS - 在单个rds实例中创建/克隆多个数据库

我们希望为每个客户在单个RDS实例上创建单独的数据库。

我们希望创建一个带有表格和一些元数据的模板SQL模式。

当创建新客户时,我们希望克隆模板模式并为该客户创建单独的数据库。

如果使用AWS开发工具包API可以实现这一点,您能否告知我们?或者如果有其他方法?

Regard, Dattatray。

回答

2

用于处理对多租户应用个人数据库的一般设计会像

  • 有一个单独的DB为特定数据库的识别/分配给特定客户端[元数据数据库]
  • 期间启动/登录新客户端时,需要使用唯一客户端数据库名称触发SQL代码段并将此信息更新为元数据数据库
  • 您可以考虑动态更新SQL代码段DB NAME,然后为新客户端启动Schema或使用像Hibernate这样的ORM来创建指定的数据库元素。

亚马逊RDS 没有对你可以在一个单一实例创建的数据库数量的任何限制,所以你需要担心的上限。您无需使用任何AWS SDK或API,只需专注于App和连接字符串即可。从AWS FAQs for RDS

提取物:

问:有多少数据库或模式可我一个数据库实例中运行?

RDS为MySQL:无限制软件强加

RDS的Oracle:每个实例1个数据库;每征收数据库模式的数量是没有限制的 软件

RDS的SQL Server:每个实例30个数据库

RDS对PostgreSQL:无软件强加的限制

1

您不需要为RDS使用任何SDK,因为您没有以任何方式真正修改该实例。该实例将始终运行,并且您只需要在该实例上创建新的数据库模式。这可以通过使用您在Java代码中使用的SQL连接器库来完成(或者可以用另一种语言如Perl或Python来编写脚本)。

相关问题