网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CDC简介课案

1.?????CDC简介 1.1.????????CDC是一种数据增量处理技术 ???在构建数据仓库系统的ETL过程中,增量数据的抽取是一个非常关键的环节.对解决方案一般有两点要求: l??准确性,能够将业务系统中的数据按一定的频率准确的取到数据仓库中 l??性能,不能对业务系统造成太大的压力,影响现有业务 ??目前,最为常用的ETL增量数据处理方式有三种: l??时间戳 l??日志对比(CDC) l??全面数据对比 三种方式各有优劣,时间戳是目前应用比较普遍的方式。在Oracle=中推出了两种主要的ETL方案,一种是我们熟悉的物化视图(materialized view),另一种就是本文将要介绍的CDC组件(Change Data Capture?改变数据捕获)。 CDC?特性是在Oracle9i数据库中引入的。CDC能够帮助你识别从上次提取之后发生变化的数据。利用CDC,在对源表进行INSERT、UPDATE或?DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。 1.2.????????CDC与传统增量处理方式的对比分析 我们对比一下CDC方式与传统的全表对比与时间戳方式。 全表对比使用数据仓库中的当前表与业务系统表进行对比,取得变化了的数据,典型是使用minus语句: ???  HYPERLINK /u/140663/blog/307967 ? 1 2?SELECT?*?FROM?new_version MINUS?SELECT?*?FROM?old_version;使用全表对比有以下几方面的问题: l??需要将业务系统中表全部转输,造成很高的网络负载 l??需要对两版本的表进行全表扫描,性能代价非常高 l??无法反映数据的历史状态,如无法捕捉库存的历史变化记录 还有一种常用的方式是时间戳,?它是以业务表中某一个字段的值,作为判断新旧数据的标志。如,”病人费用记录”中的登记时间,每次只抽取上次抽取记录时间以后产生的数据。时间戳方式存在以下问题: l??无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。而类似于ZLHIS这种业务系统对已经发生的数据进行update和delete操作非常普遍(如划价记录转收费记录),应用场景受到了限制。 l??要求业务系统的表必须一个可以标识新旧数据的列,而某些表没有设置这种列。 ? 1.3.????????CDC的发布订立模型 CDC体系结构基于发布者/订阅者模型。发布者捕捉变化数据并提供给订阅者。订阅者使用从发布者那里获得的变化数据。通常,CDC系统拥有一个发布者和多个订阅者。发布者首先需要识别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特别创建的变化表中。它还使订阅者能够控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感兴趣。订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。 CDC有几个重要的基本概念需要先明确一下: l??源表(Source Table),业务数据库的需要捕获数据的源表 l??变化表(Change Table)?,保存从源表捕获的变化数据(包括各种DML产生的数据) l??变化集(Change Set),是保证事务一致性的数据集合。一个变化集对应多个变化表 l??订阅视图(Subscription View),提供给读取变化表数据的视图 l??订阅窗口(Subscription Window) ,定义了查看变化数据的时间范围.就象一个观察变化数据的滑动窗口。变化数据处理完成后,可以对清除订阅窗口。 ? 1.4.????????CDC的同步与异步模式 l??同步模式,实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中。下图说明了同步模式的基本架构。 l??异步模式,以Oracle流复制技术为基础,由于流复制比较复杂,本文档不涉及异步模式的CDC ? 1.5.????????CDC相关的数据库对象?(Package) l??包(Package) n??DBMS_CDC_PUBLISH,???用于定义发布操作 n??DBMS_CDC_SUBSCRIBE,用于定义订阅操作 l??角色 n??EXECUTE_CATALOG_ROLE n??SELECT_CATALOG_ROLE n???CREATE TABLE and CREATE SESSION privileges n???EXECUTE on the DBMS_CDC_P

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档