如何克服几个数据库中的数据不匹配

时间:2014-09-18 04:11:12

标签: algorithm design-patterns architecture system

在我的系统中,我有多个项目,每个项目都与单个数据库连接。当任何项目中发生插入事务时,然后在所有数据库上记录插入,但是当任何项目发生更新事件时项目然后各自的更新发生只有它的DB不影响项目的其余部分db.it是我的系统进程。继续这个进程数据在每个db上变得不同。没有改变这个过程我做了什么来克服这个数据不匹配问题。

假设有关系统1的交易活动:

交易 - >更新 - >修改仅发生在不在system-2中的system1 db,sytem-3 db

enter image description here

任何类型的建议都是可以接受的,如果有任何疑问,请先询问,谢谢。

1 个答案:

答案 0 :(得分:0)

我目前在几乎相同的项目架构中工作。我们的解决方案是创建将管理Single_entry_point模块的Orchestration module。最后一个负责统一来自 Upstream (不同数据库和服务系统的集群)的信息,然后将其上传/分发到 Downstream (Single_Data_Warehouse)。通过这样做 - 您可以保证您的所有信息在每个时刻都是实际的。处理所有其他模块时, Orchestrator 与服务按摩进行通信。

此设计基于Pipes and Filters Pattern概念。

enter image description here

我认为在您的情况下,您只能为更新数据库信息添加逻辑,并在此时重用您拥有的所有内容。如果您花费一些时间在这样的Single_entry_point模块上,该模块不仅要处理插入,还要处理事务更新

对于数据库“eyeballing”验证(由SQL脚本完成),您必须考虑使用Informatica。更具体一点 - 当数据被移动到生产系统中时。生产系统中的数据必须正确才能支持您的业务决策。 Informatica Data Validation Option提供ETL测试自动化和管理功能,以确保您的生产系统不会受到数据更新过程的影响。

如果您发现此选项并不适合您的需求,请参阅以下有关此主题的资源: