我遇到了我觉得不对劲的数据库架构。它适用于一小群开发人员......我将不胜感激有关此设计的任何意见。
这是系统的简化描述。所有 3rd NF 数据库(客户、会计、费率、曝光)
我们有 4 个范式 DB:
• 客户数据库:维护客户和组织信息
• 汇率数据库:从第 3 方系统获取汇率
• Exposure DB:联系第三方系统获取我们的银行账户和交易信息
• 会计数据库:进一步计算财务风险和预测
我们有以下数据库用于数据仓库
• SQL Server 分析服务:星型模式
• 立方体
数据库拆分: 我们的 4 个数据库(Client、Rate、Exposure、Accounting)是拆分数量的 4 个 SQL Server,但它们都运行在同一个物理服务器上。这些数据库需要彼此的数据,例如我们有一个用于所有数据库的组织表……或者其他数据库中需要速率。
分析服务: 我们有星型模式和分析服务。我的理解是Data Vault可以用作生成 Start Schema 的来源……。但我们并没有为此目的使用我们的Data Vault 。我们使用 SSIS 直接从Client、Rate、Exposure 和 Accounting DB 读取数据,并直接填充启动模式。
问题:
当我们需要使用这些拆分数据库中的数据时,拆分数据库是一个好主意吗?
是否有一个好的来源/博客来解释什么时候拆分数据库是个好主意?
将表从源数据库复制到目标数据库是一个好的解决方案吗?我觉得跨数据库查询比将这么多表复制到多个 DBa 中要简单和高效得多。