最近遇到个棘手的问题,老板要求用ETL实现不同数据库之间的同步,不能使用TRIGGER。只能使用ETL作业。
条件是:不同数据库的两张不同的表。通过以下方法,处理速度是最快的。
处理INSERT功能是如下:
1)使用merge join 连接要处理的两张表,找出要处理的数据集合。
2) 使用多播和条件判断要处理的数据集。
3)将不同的表中增加数据。表A 中增加的数据加入到表B,表B中增加的数据加入到表A中。
Update 处理过程如下:
1)通过Merge来找到要处理的数据集。
2)原始的数据表中纯在timestamp字段,ssis 没有办法处理,只能将其转换为CHAR类型
3)通过Command完成每行的更新。