oracle change data capture 介绍

oracle change data capture 介绍

ID:6127948

大小:212.00 KB

页数:37页

时间:2018-01-04

oracle change data capture 介绍_第1页
oracle change data capture 介绍_第2页
oracle change data capture 介绍_第3页
oracle change data capture 介绍_第4页
oracle change data capture 介绍_第5页
资源描述:

《oracle change data capture 介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、OracleChangeDataCapture介绍一、概述CDC(ChangeDataCapture)是oracle在数据库级别实现的增量抽取解决方案。在一般的ETL过程中,对于增量抽取,无非是在数据上加时间截,全记录比对,关键字段比对,日志分析抽取等几种方法,要么需要修改原表结构,要么需要大量的算法,要么借助第三方的工具实现。Oracle从9i开始引入的CDC特性,使得有机会在数据库层面上直接实现增量抽取功能,在性能方面由于和数据库引擎的直接集成,比第三方工具应该具有一定的优势。CDC有两个模式:同步和异步。两种模式的实现机制是

2、截然不同的。同步CDC主要是采用触发器记录新增数据,基本能够做到实时增量抽取。而异步CDC则是通过分析已经commit的日志记录来得到增量数据信息,有一定的时间延迟,并且提供了到OracleStreams的接口。同步CDC在企业版或者标准版中都可以使用,异步CDC则只包含在企业版中。注意CDC在9i和10g中有了比较大的改变,异步CDC主要采用了和Streams相同的技术。CDC中将系统分为两个角色:发布者和订阅者。发布者主要负责捕获增量数据,订阅者则将增量数据传递给实际应用。这些任务都可以通过oracle提供的PL/SQL包实现

3、。二、名词解析ChangeSource增量数据的抽取来源,比如同步CDC模式是通过trigger直接从database中获取的,changesource就是sourcedatabase。异步CDC模式则是从日志文件中获取的,则changesource则表示redologfile。ChangeSet一组逻辑上相关的增量数据,需要保证其一致性。changeset必须是某个changesource的成员。对于异步分布式HotLog模式,同一个changesource的所有changeset必须在同一个stagingdatabase中。而

4、异步AutoLog模式中一个changesource只能有一个changeset。ChangeTable一个changetable对应一个sourcetable,用于保存sourcetable中的增量数据。Changetable中除了需要保存sourcetable的增量数据,还有一些控制列用于保存相关的元数据。三、CDC模式介绍前面讲到同步CDC和异步CDC模式。同步的比较简单,就是通过触发器捕获增量数据,类似于物化视图的实现机制。而异步CDC根据实现的内部机制区别,又可以分为异步HotLog模式,异步分布式HotLog模式和异步

5、AutoLog模式。有些模式有固定的预先定义changesource,有些则没有。比如同步CDC的changesource是SYNC_SOURCE,异步HotLog模式则是HOTLOG_SOURCE,这是因为这两种模式都只有一个sourcedatabase。而其他的,像异步分布式Hotlog模式和异步AutoLog模式,除了sourcedatabase,还需要一个stagingdatabase。同步CDC模式同步CDC模式(SynchronousMode)通过在源库上建立trigger的方式来捕获增量数据,因此可以做到实时抽取增量

6、数据。当源库执行commit的时候,增量数据将生成在changetable中。但是同步CDC模式的缺点也是明显的,由于需要在源库创建trigger,对于源库将造成不小的压力,并且changetable也必须在源库中生成,还需要占据源库一定的空间。同步模式有一个固定的changesource:SYNC_SOURCE,表示sourcedatabase。该changesource不能修改也不能删除。异步HotLog模式异步HotLog模式(AsynchronousHotLogMode)直接从sourcedatabase的onlinere

7、dologfile中抽取增量数据,由于需要解析日志文件,会有一定的时间延迟。changetable也必须在源库中生成。该模式由于是在源数据库中解析日志,对源数据库也会造成一定的压力,但是比同步CDC模式的压力要小一些。异步HotLog模式也有一个固定的changesource:HOTLOG_SOURCE,表示sourcedatabase的当前连接日志文件。不能修改也不能删除。异步分布式HotLog模式异步分布式HotLog模式(AsynchronousDistributedHotLogMode)和异步HotLog模式相比,主要是将

8、多个sourcedatabase的当前联机日志中解析出增量数据,然后传递一个stagingdatabase中处理,便于集中式数据管理。在异步分布式HotLog模式中,changesource也表示sourcedatabase的当前联机日志。但是由于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。