2016-05-30 91 views
0

现在我很困惑,为财务交易系统设计好的架构。 例如: 我有一些表:最佳实践:单独或单个数据库?

  1. MSMembers(用于提供会员资料和会员的用户名密码)
  2. TRTransactions(表记录的是来自其他主机的所有事务,诸如会员主机)
  3. MSFees(名单
与交易的数量与分层费)

在我看来,我认为我可以:

  1. 分隔事务和主数据的数据库。例如, DBMaster:MSMembers,MSFees; DBTransaction:TRTransactions 所以我的应用程序(我的TransactionService不是网络),必须连接到多个数据库,如果我的服务连接到多个数据库,它是有效的吗?
  2. 或者与第1点相同,但我在DBTransaction中创建了MSMembers和MSFees,因此TransacionService不需要连接到多个数据库。

请一定建议这种情况。

以前感谢。 :)

+0

你在看什么样的金融交易?无论如何,我相信有一个问题的一部分的答案,所以建议不要关闭,而我写它 –

回答

0

没有理由去使用单独的数据库,除非你在MySQL上(在这种情况下database意味着schema在其他数据库中)。另外,还不清楚为什么你会首先将它们分成不同的模式。除非你想有效地使用不同的模式来管理应用程序的不同侧面,否则没有什么可以从中获益。

因此,把所有东西放在一个数据库中。这种方式更容易,并且您可以在部件之间实施真正的数据库约束(参考完整性等)。

+0

嗨克里斯,谢谢你的回应。实际上,我认为我想分离,因为1个数据库服务器由许多使用交易的表和1个数据库服务器来管理网络内容或管理费用交易,客户数据,用户管理等。为了您的信息,我使用postgresql。 :) –

+0

有句话说“过早优化是万恶之源”。 PostgreSQL非常非常好地扩展(现在出来)。并且鉴于金融交易表不仅可能是数据库中最大的数据库,而且通常只能追加(因此可以处理可以顺利前进的余额点),所以没有理由使用多个数据库。 FWIW我使用高达11TB的dbs,每天处理大约200万db的写入交易..... –