将应用程序分叉到两个实例 - 一个或两个数据库实例?

时间:2011-01-05 10:15:42

标签: java sql database-design

我们有一个基于JDBC和Oracle数据库的工作应用程序。需要创建应用程序的另一个实例。新创建的应用程序实例将为公司的可信客户端设计,访问同一应用程序服务器的事实不会造成问题。

这就出现了我们的疑问,因为我们有三个选择来完成任务:

  1. 部署应用程序的另一个实例并创建一个单独的数据库。
  2. 修改应用程序以访问两个单独的数据库
  3. 修改应用程序和数据库以支持“实例” - 每个表都有另一个列,用于定义我们正在处理的实例
  4. 需要考虑一些因素:更改工作量,维护简便性(修补应用程序和数据库,存储在存储库中,需要保持两个版本的最新版本)。

    我知道这个问题没有明确而明确的答案,但我只想听听你的意见,看看每个解决方案的优缺点,最重要的是要知道我在每个解决方案中都没有看到的潜在陷阱。 / p>

1 个答案:

答案 0 :(得分:1)

我认为,如果你的实例应该看到单独的数据集,最简单的方法是创建2个独立的(相同的)数据库模式,并配置第一个实例使用第一个模式,第二个实例使用第二个模式。

如果两个实例都应该看到相同的数据,则只需将它们配置为使用相同的数据库。

在任何情况下都不要修改你的代码以支持像这样的愚蠢的要求。如果你收到一个这样的要求,你将来会得到更多(我不是算命先生。我只是有一些经验......)。我认为,每当您获得另一个部署要求时,您最不希望更改应用程序。

相关问题