企业系统之间数据同步处理

引用内容:

数据同步一般是指一个数据源的数据发生改变时,其他相关的数据源的数据也发生相应变化。数据同步可以有五种实现方案,根据具体需求不同,可以采取不同方案。
1. 触发器:在源数据库建立增、删、改触发器,每当源数据库有数据变化,相应触发器就会激活,触发器会将变更的数据保存在一个临时表里。ORCLE 的 同步 CDC (synchronized CDC) 实际上就是使用的触发器
优点: 
能做到实时同步 
缺点: 
降低业务系统性能,ORCLE 的 synchronized CDC 大概降低10% 左右。 
影响到业务系统,因为需要在业务系统建立触发器。
2. 日志:通过分析源数据库日志,来获得源数据库中的变化的数据。ORCLE 的 异步 CDC (Asynchronized CDC) 就是使用这种方式。
优点: 
基本不影响业务系统,如Oracle Asynchronized CDC 的 HotLog 方式对业务系统的性能大概降低 3% 左右,而 AutoLog 方式对业务系统几乎没有影响。 
缺点: 
有一定的延时 
对于没有提供日志分析接口的数据源,开发的难度比较大。
3. 时间戳:在要同步的源表里有时间戳字段,每当数据发生变化,时间戳会记录发生变化的时间。
优点: 
基本不影响业务系统 
缺点: 
要求源表必须有时间戳这一列。 
在删除数据时,还要做一些特殊处理。
4. 数据比较:通过比较两边数据源数据,来完成数据同步。一般用于实时性要求不高的场景。
优点: 
基本不影响业务系统 
缺点: 
效率低 
5. 全表拷贝:定时清空目的数据源,将源数据源的数据全盘拷贝到目的数据源。一般用于数据量不大,实时性要求不高的场景。 
优点: 
基本不影响业务系统 
开发、部署都很简单 
缺点: 
效率低
总结:
1. 上面五种数据同步方式,除了第五种都需要业务表有主键。 
2. 对于没有触发器和日志的一些小型数据源,如txt 文本,excel 文件,Aceess,则只能使用后三种方式。 
3. 对于大型数据源,一般优先选择日志方式,如 ORCALE Asynchronized CDC, 对于不能通过日志来实现的情况,可以考虑第1,3,4种方式。

一般企业级内部软件之间因为软件提供商的原因,采用最多的数据同步方式都是第4种:进行数据比较,提供方提供数据接口服务,接收方根据服务对数据进行同步分析比较。

在不要求数据实时的情况下:

接收方如何处理数据呢?

1.接收数据接口数据(最新全局数据),存入临时数据表中。(如果是UPDATE数据,就不需要第2步了)

2.将临时数据表中数据与本地数据进行比对,分析差异,按时间批次记录差异数据。

3.提供服务专门处理差异数据进行数据同步。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值