多个数据库连接与集中/冗余数据库

时间:2009-09-22 15:56:18

标签: data-warehouse multiple-databases

我有一个项目来创建一个仪表板,该仪表板将连接到现有系统,并基于组合现有系统的数据创建新功能。例如,仪表板将能够生成包含从“成员”(MS Access DB),“员工”(MySQL DB)和“产品”(平面文件)合并的数据的“订单”,并且还将具有特定的新属性“订单。”

起初我认为让我的应用程序分别连接到每个系统并在不同数据库之间执行跨供应商连接是最有效的。但后来我认为创建一个集中/冗余的数据库(使用在系统之间推送和提取数据的脚本构建)也可能是有用的,因为它可以使一些半技术人员使用像OOBase这样只能建立单一连接的产品。

创建像我正在谈论的集中/冗余数据库还有其他任何优势吗?或者多个直接连接是最好的方法吗?

提前感谢任何提示。

2 个答案:

答案 0 :(得分:2)

给你简短的回答:是的,你想要一个中央数据存储。

您不希望在实时数据库上运行复杂的报告。随着您的实时数据库的增长,您将需要进行一些内务管理并进行清理,但保留数据以进行分析。

您还希望聚合数据,以便进行历史分析。

对于来自不同来源的数据,将需要进行一些清理。而且你可能需要知道如何将你的数据链接在一起,并且你需要注意很多事情才能正确地完成工作。

您可以考虑阅读数据仓库(wikipedia)和商业智能(wikipedia)。

如果您希望在此系统中添加“新功能”,您还可以查找协调(wikipedia。它将允许您将异构业务流程链接在一起。

所有这些都是非常专业和复杂的学科,因此您可能希望有专家来咨询您。

答案 1 :(得分:1)

要非常非常小心地复制大量数据。如果您这样做,这里有一些重要的指导原则:

  1. 确保将一个系统定义为主系统,其他系统不得篡改数据。

  2. 始终将数据从主服务器复制到从服务器。

  3. 复制数据时,请使用某种校验和以确保已复制所有数据。确保你能处理“昨天,副本失败”。

  4. 如果从站必须进行更改,请将更改推送到主站,然后使用标准“更新”路径将其合并回从站。避免“在奴隶上保存更改并在将来的某个时间更新主人”。