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