中间表同步方案(全量,增量)
来源:互联网 发布:网络架构师工作时间 编辑:程序博客网 时间:2024/05/01 22:37
最近做一个大数据量统计分析系统,以前已经做了一个大的描述
http://www.cnblogs.com/edobnet/archive/2005/04/24/144521.html
http://edobnet.cnblogs.com/archive/2005/11/11/273947.html
为了提高性能,对于中间表,的同步,采用初台全量同步,每天,增量同步的方案。
我介绍一下我们增量方案吧!
要增量,增量日志表是必需的,增量日志表的设计。
KEY(原业务表关键字),CREATE_DATE(变更时间),FLAG(数据修改与删除标志),USE_FLAG(增量表是否被使用的记录,(一个存储过滤使用一位))
每天增量同步时,做如下操作
。。下面就可以做同步数据了,
。。。同步数据是从原业务表里取,不过,数据范围限定在,增量表里的没有做增量操作(并且操作类型为新加与修改的)的数据
也就同步多加一个WHERE条件,
WHERE LOG_MANUAL_INC.ARJ_MARK='M' and SUBSTRING(USING_FLAG,2,1)<>1
取好的数据是放在新建的临时中间表,#TG_ENTRY
做好了同步操作,不要忘了更新增量表的标志。
http://www.cnblogs.com/edobnet/archive/2005/04/24/144521.html
http://edobnet.cnblogs.com/archive/2005/11/11/273947.html
为了提高性能,对于中间表,的同步,采用初台全量同步,每天,增量同步的方案。
我介绍一下我们增量方案吧!
要增量,增量日志表是必需的,增量日志表的设计。
KEY(原业务表关键字),CREATE_DATE(变更时间),FLAG(数据修改与删除标志),USE_FLAG(增量表是否被使用的记录,(一个存储过滤使用一位))
每天增量同步时,做如下操作
--如果增量日志表,所有标志位都已经使用,把增量日志表移到增量日志备份表里
INSERT LOG_MANUAL_INC_BAK
SELECT *
FROM LOG_MANUAL_INC
WHERE LEFT(USING_FLAG,4)='1111'
DELETE LOG_MANUAL_INC WHERE LEFT(USING_FLAG,4)='1111'
INSERT LOG_MANUAL_INC_BAK
SELECT *
FROM LOG_MANUAL_INC
WHERE LEFT(USING_FLAG,4)='1111'
DELETE LOG_MANUAL_INC WHERE LEFT(USING_FLAG,4)='1111'
--建临时中间表,方便同步(字段内容与真实表一样)
CREATE TABLE #TG_ENTRY (
[TE_ENTRY_ID] [char] (18) NOT NULL
..
)
GO
CREATE TABLE #TG_ENTRY (
[TE_ENTRY_ID] [char] (18) NOT NULL
..
)
GO
---------------------将未整合记录从中间表中删除
--SUBSTRING(USING_FLAG,2,1)为这次整合使用的标记位
DELETE FROM TG_ENTRY WHERE TG_ENTRY_ID IN (SELECT TG_ENTRY_ID FROM LOG_MANUAL_INC WHERE SUBSTRING(USING_FLAG,2,1)<>1)
--SUBSTRING(USING_FLAG,2,1)为这次整合使用的标记位
DELETE FROM TG_ENTRY WHERE TG_ENTRY_ID IN (SELECT TG_ENTRY_ID FROM LOG_MANUAL_INC WHERE SUBSTRING(USING_FLAG,2,1)<>1)
。。下面就可以做同步数据了,
。。。同步数据是从原业务表里取,不过,数据范围限定在,增量表里的没有做增量操作(并且操作类型为新加与修改的)的数据
也就同步多加一个WHERE条件,
WHERE LOG_MANUAL_INC.ARJ_MARK='M' and SUBSTRING(USING_FLAG,2,1)<>1
取好的数据是放在新建的临时中间表,#TG_ENTRY
做好了同步操作,不要忘了更新增量表的标志。
- 中间表同步方案(全量,增量)
- 大数据量同步方案之全量同步改为增量同步解决方案
- mysqldump备份(全量+增量)方案操作记录
- 增量and全量数据同步项目总结
- solr配置dataimport步骤 增量 全量同步配置
- Solr之Mysql数据库全量、增量同步-yellowcong
- 增量和全量
- informatica 数据库之间的多表数据同步(全量/增量)以及variable的使用问题
- mysql增量、全量备份
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- VMware 虚拟化编程(11) — VMware 虚拟机的全量备份与增量备份方案
- kettle入门(七) 之kettle增量方案(一)全量比对取增量-根据唯一标示
- jdbc操作 数据库做同步,全量+增量,线程控制,批处理
- 使用Logstash-input-jdbc同步数据库中的数据(全量 和 增量)
- 全量同步索引
- db2 全量+增量备份数据
- 什么是域,什么是工作组
- 项目经理与客户沟通的宜与忌
- 第11章 对象的集合
- 流行病毒temp1.exe、temp2.exe解决方法。
- PHP的bbs实现之三
- 中间表同步方案(全量,增量)
- 触发器在增量同步数据的运用.
- 如何制作网页中的ICO
- 读一读Scktsrvr.exe的源程序
- 什么是SID
- 解决浏览器Background标签的TD属性不被支持
- Windows蓝屏画面错误代码说明一览表
- 《PHP&MORE》 第七期发布
- 软件项目的需求开发与管理