数据库的多部分应用程序责任

时间:2013-12-17 07:35:55

标签: architecture responsibility

我有一个项目,包括一个webapplication,一个数据库和一个在后台运行的程序,它处理由webapp创建的行。这两个程序都与数据库一起工作并存储它们所需的信息(两个应用程序都使用表格)。

为了使情况更清楚,我可以说我有一个包含三个表A,B和C的数据库(由我的应用程序使用)。

  • A仅供我的webapp使用。
  • C仅供其他程序使用。
  • B包含只有webapp需要的列以及其他程序使用的列,当然还包括两者使用的列。

你可以这样想到整个项目:

  1. 用户通过webapp下订单
  2. webapp将订单存储在数据库中
  3. 其他程序访问数据库并处理订单
  4. 如果在处理过程中发生错误,这些错误也会存储在数据库中
  5. 提出了以下问题:

    • 哪个程序应该负责管理数据库中的表?
    • 每个程序本身应该管理其所需的表,还是应该管理所有表,以便从中心点管理数据库?
    • 谁应该管理两个应用程序需要的表?
    • 或者我应该自己管理数据库,因为数据库结构不应该经常改变

    有些信息:DBMS是 9.3,webapp正在使用并通过访问数据库(目前使用evolutions管理数据库),另一个程序是用scala编写并使用访问数据库。

1 个答案:

答案 0 :(得分:0)

由于没有人提供更好的解决方案,我决定手动管理DB ,因为在我的应用程序上线后,数据库的结构不应该改变。