Amazon RDS - 在单个rds实例中创建/克隆多个数据库

时间:2014-09-01 08:02:05

标签: amazon-web-services amazon-rds

我们正在开发一个使用RDS的Java / j2ee应用程序。

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

我们想要创建一个包含表格和一些元数据的模板SQL模式。

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

如果可以使用AWS SDK API,您能告诉我吗?或者,如果有其他方式?

方面, Dattatray。

2 个答案:

答案 0 :(得分:3)

处理多租户应用程序的单个数据库的一般设计就像

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

Amazon RDS 不会对您在单个实例中创建的数据库数量施加任何限制,因此您需要担心上限。您无需使用任何您需要专注于应用程序和连接字符串的AWS软件开发工具包或API。

从AWS FAQs for RDS中提取:

  

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

     

适用于MySQL的RDS :不受软件限制

     

RDS for Oracle :每个实例1个数据库;对每个数据库施加的模式数量没有限制   软件

     

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

     

PostgreSQL的RDS :软件没有限制

答案 1 :(得分:1)

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