数据库增量数据采集(Change Data Capture)概略

数据采集通常是指ETL过程中Extract-数据抽取部分。除了ETL外在不同应用系统之间通常也需要传递数据,在某些环境条件限制下不能将数据从一个系统直接移到另一个系统,只能借助文本来作为中间媒介传递数据,且文本的生成有时间窗口的限制,所以对数据采集即数据抽取的性能有一定的要求。对增加数据的采集的方法常用的有以下几种:

1.时间戳(Timestamps on rows)

在表中增加一列通常为Last_update列来存储当前行最后一次进行DML操作的时间。时间戳大于最后一次采集(capture)时间的数据是待采集的数据即最后一次采集后有变化的数据。

2.版本号(Version Numbers on rows)

在表中增加一列通常为Version_number列来存储数据行变化,每次变化都将version_number列的数据增加;然后可以使用一个参考表来记录每次采集时数据对应的版本号,当再次采集时将参考表与源表中的版本号比较来判断需要采集的数据,采集完以后将参考表中对应版本号更新为与源表一致的版本号;

3.状态指示(Status indicators on rows)

在表中增加一列状态列通常为Status列来存储数据行状态,比如如果当前行需要采集则将其致为true,否则为false;采集时只需要采集状态为true的行即可;

4.时间戳、版本号、状态指示混合使用(Time/Version/Status on rows)

在如下逻辑下可以混合使用,比如需要采集2011年1月2日12:15到2011年2月4日10:00之间版本号为2.1状态的数据;

5.触

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值