kettle数据同步的五种方案

时间:2022-12-29 11:24:51
数据同步:当数据源发生改变时,其他相关数据也跟着发展变化。根据需求不同可采取以下方案。

1.触发器

在数据库建立增删改的触发器。触发器将变更放到一张临时表里。oracle同步cdc

优点:实时同步
缺点:影响到业务系统,因为需要在业务系统建立触发器

2.日志

通过分析源数据库日志,来获得源数据库中的变化的数据。oracle异步cdc

优点:不影响业务系统
缺点:有一定得延时,对于没有提供日志分析接口的数据源,开发的难度比较大

3.时间戳

在要同步的源表里有时间戳字段,每当数据发生变化,时间戳会记录发生变化的时间

优点:基本不影响业务系统
缺点:要求源表必须有时间戳这一列

4.数据比较

通过比较两边数据源数据,来完成数据同步。一般用于实时性要求不高的场景。

优点:基本不影响业务系统
缺点:效率低

5. 全表拷贝

定时清空目的数据源,将源数据源的数据全盘拷贝到目的数据源。一般用于数据量不大,实时性要求不高的场景。

优点:基本不影响业务系统,开发、部署都很简单
缺点:效率低
总结:
1. 上面五种数据同步方式,除了第五种都需要业务表有主键。
2. 对于没有触发器和日志的一些小型数据源,如txt 文本,excel 文件,Aceess,则只能使用后三种方式。
3. 对于大型数据源,一般优先选择日志方式,如 ORCALE Asynchronized CDC, 对于不能通过日志来实现的情况,可以考虑第1,3,4种方式。