问题描述:由于业务变更,需要将oracle、sqlserver、mysql数据库上面的数据同步到一个mysql数据库之中。
问题分析:(1)不可能每次都同步所有数据,应采用增量同步方式(2)增量同步方式非常依赖于时间点查询更新,而不同数据来源同步到同一张数据库的数据表中会导致时间点查询有差异。
解决方案:(1)数据同步之前增设一个常量表明数据的来源即状态标志位(2)采用手动记录时间点的方式实现同步
显然,采用标志位的方式节省人力。
操作流程:
- 在目标数据表中建立status(任意非重复字段表示即可)标志位
- 在源数据查询语句中增加常量,形如'0' as status,其中用0表示数据来源为mysql、1为oracle...
- 每次增量同步时,可以根据标志位查询时间。
over...