最佳实践:独立数据库还是单一数据库?
Best practices: Separate or single databases?
我现在很困惑如何为金融交易系统设计好的架构。
例如 :
我有一些 tables :
- MSMembers(用于提供会员资料和会员的用户名密码)
- TRTransactions(table记录所有来自其他主机的交易,例如会员主机)
- MSFees(与交易数量相关的分级费用列表)
在我看来,我认为我可以:
- 分离了交易数据和主数据的数据库。例如,
DBMaster:MSMembers,MSFees;
DBTransaction:TRTransactions
所以我的应用程序(我的 TransactionService 而不是 Web)必须连接到多个数据库,如果我的服务连接到多个数据库是否有效?
- 或者,与第 1 点相同,但我在 DBTransaction 中创建了 MSMembers 和 MSFees,因此 TransacionService 不需要连接到多个数据库。
这种情况请多多指教
先谢谢了。 :)
除非您使用 MySQL(在这种情况下 database
意味着其他数据库中的 schema
),否则没有理由使用单独的数据库。此外,不清楚为什么首先要将它们分成不同的模式。除非您想有效地使用不同的模式来管理应用程序的不同方面,否则实际上没有任何好处。
因此,将所有内容都保存在一个数据库中。这样更容易,并且您可以在各部分之间强制执行真实的数据库约束(参照完整性等)。
我现在很困惑如何为金融交易系统设计好的架构。 例如 : 我有一些 tables :
- MSMembers(用于提供会员资料和会员的用户名密码)
- TRTransactions(table记录所有来自其他主机的交易,例如会员主机)
- MSFees(与交易数量相关的分级费用列表)
在我看来,我认为我可以:
- 分离了交易数据和主数据的数据库。例如, DBMaster:MSMembers,MSFees; DBTransaction:TRTransactions 所以我的应用程序(我的 TransactionService 而不是 Web)必须连接到多个数据库,如果我的服务连接到多个数据库是否有效?
- 或者,与第 1 点相同,但我在 DBTransaction 中创建了 MSMembers 和 MSFees,因此 TransacionService 不需要连接到多个数据库。
这种情况请多多指教
先谢谢了。 :)
除非您使用 MySQL(在这种情况下 database
意味着其他数据库中的 schema
),否则没有理由使用单独的数据库。此外,不清楚为什么首先要将它们分成不同的模式。除非您想有效地使用不同的模式来管理应用程序的不同方面,否则实际上没有任何好处。
因此,将所有内容都保存在一个数据库中。这样更容易,并且您可以在各部分之间强制执行真实的数据库约束(参照完整性等)。