全量、增量同步解决方法目录
简介
你好! 本篇文章适合有一定软件行业基础的同行人员阅读,涉及数据库,ETL等运维相关知识,主要介绍包含:添加触发器操作记录表,业务主表编写触发器,编写ETL脚本三个模块。
一、添加触发器操作记录表trigger_incremental_log数据库设计。
在原有数据库不修改原始表设计结构基础上,相关数据库必须添加业务表触发器操作记录表,为全量、增量、删除脚本同步数据做准备。
二、业务主表编写触发器,涉及添加、修改、删除操作。
用s_sites表举例, 包含三个触发器名称:tri_Insert_sites ,tri_Update_sites,tri_Delete_sites
1、添加操作触发器名称:tri_Insert_sites
2、修改操作触发器:tri_Update_sites
3、删除操作触发器: tri_Delete_sites
三、编写ETL脚本
1、全量脚本
脚本截图:
输入项查询语句: SELECT * FROM dbo.s_sites
脚本案例下载: 全量脚本
2、增量脚本
脚本截图:
输入项查询语句: SELECT DISTINCT s.*,til.pkid
FROM dbo.s_sites as s INNER JOIN
dbo.trigger_incremental_log as til ON s._suid=til.columnvalue WHERE til.tablename=‘s_sites’ and (til.operationstate=‘udp’ or til.operationstate=‘ins’) and til.issuccess=‘0’ and toappid=‘theme’
脚本案例下载: 增量脚本
3、删除脚本
脚本截图:
输入项查询语句:
SELECT til.columnvalue,til.pkid FROM
dbo.trigger_incremental_log as til WHERE til.columnname=’_suid’ and til.tablename=‘s_sites’ and til.operationstate=‘del’ and til.issuccess=‘0’ and toappid=‘theme’
脚本案例下载: 删除脚本
最后通过数据中心平台定时运行ETL脚本同步数据。
微信号与CSDN账号一致,有不同建议与意见同仁可以私聊。