惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
The Last Watchdog
The Last Watchdog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
O
OpenAI News
T
Threat Research - Cisco Blogs
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Palo Alto Networks Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Help Net Security
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Securelist
Vercel News
Vercel News
S
Security Affairs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
博客园_首页
Attack and Defense Labs
Attack and Defense Labs
G
Google Developers Blog
T
Tor Project blog
Project Zero
Project Zero
腾讯CDC
Schneier on Security
Schneier on Security
月光博客
月光博客
N
Netflix TechBlog - Medium
AWS News Blog
AWS News Blog
L
LINUX DO - 最新话题
P
Proofpoint News Feed
博客园 - 司徒正美
A
About on SuperTechFans
Latest news
Latest news
Scott Helme
Scott Helme
Hacker News: Ask HN
Hacker News: Ask HN
T
Threatpost
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
博客园 - 聂微东

博客园 - 森林坛子

2010新会计准则 打发时光的102个网站 适合女生玩的29个有意思的网站 某强人手机里保存的五十条牛B短信 2008年10大牛语 新巴塞尔资本协议(中英文) 26个英文字母中蕴涵的管理学 买土豆的故事(转中外管理) Assessing Your Project's ROI Potential Maximizing Your BI Return-On-Investment 软件开发项目过程中的风险管理研究 Ad Hoc: The Way We Live. The Way We Work? Testing for DW/BI - Current State and a Peep into the Future 漫谈售前必须具备的能力和素质(转) 爆笑,美貌女大学生们的文雅性暗示! 一段好玩的JavaScript代码 Master Data Management: Creating a Single View of the Business 07年1季度 Gartner商业智能平台魔法四分区 请个CIO 踏平商业智能坎坷路
Oracle Change Data Capture 变化数据捕捉
森林坛子 · 2007-08-28 · via 博客园 - 森林坛子

 在构建数据仓库的ETL过程中,增量数据抽取是一个比较关键的环节。一般情况下需要满足以下两点:

  • 数据的准确性,能够将业务系统中的数据按一定的频率准确的抽取到数据仓库中;
  • 性能要求,不能对业务系统造成太大的压力,影响现有业务。

  目前,实现增量数据抽取最常用的方式有三种:

  • 时间戳;
  • 变化数据捕捉,Change Data Capture(CDC);
  • 全表扫描

  上述三种方式各有优劣,用的比较多的可能是几种方式混合使用。

  1. 时间戳

  时间戳使用业务表中某一字段做为判断新旧数据的依据,该字段可以是时间类型,也可以是int型。使用该种方式存在以下问题:

  • 无法捕获对时间戳以前数据的deleteupdate操作,在数据准确性上受到了一定的限制,而实际业务中delete和update的操作还比较普遍;
  • 要求业务系统的表必须有一个可以标识新旧数据的列,而某些表没有设置这种列。

  2. 全表扫描

  全表扫描是使用数据仓库中的当前表与业务系统表进行对比,取得变化了的数据,典型的是使用minus语句:

  SELECT * FROM new_version MINUS SELECT * FROM old_version;

  使用全表扫描存在以下问题:

  • 需要将业务系统中表全部转输,造成很高的网络负载;
  • 需要对两版本的表进行全表扫描,性能代价非常高;
  • 无法反映数据的历史状态,如无法捕捉库存的历史变化记录。

  3. Change Data Capture(CDC)

  Oracle的CDC是在Oracle9i新特性中引入的,使用内部触发器或对日志文件的分析发现变化了的数据,并通过订阅/分发的形式(类似于SQL SERVER的分发/订阅)提供给使用者。这些变化了的数据包括insert、delete和update的数据。

  CDC分同步和异步两种模式,同步是使用数据库内部的触发器捕捉变化数据,基本做到实时数据;异步是通过分析日志记录得到增量数据信息,有一定延迟,同时提供Stream技术。同步在企业版和标准版中都可以使用,而异步只能在企业版中使用。

  CDC异步模式,根据实现机制的不同又可以分为Autolog和Hotlog模式,Autolog通过database's redo transport services传输日志redo log信息,然后在一个独立于source database的staging database内进行日志分析;而Hotlog是在source database进行日志分析的。看得出两者对source database所产生的压力差别。

  异步Hotlog模式又可分为异步Hotlog CDC模式和异步分布式Hotlog CDC模式,二者的区别在于异步Hotlog CDC模式在source database建立change set、change tables和执行订阅;而异步分布式Hotlog CDC通过stream技术分发,在staging database建立change set、change tables和执行订阅。

  下面列出上面讲到的几种CDC模式:

  • Synchronous CDC(同步CDC);
  • Asynchronous Autolog CDC(异步Autolog CDC);
  • Asynchronous Hotlog CDC(异步Hotlog CDC);
  • Asynchronous Distributed Hotlog CDC(异步分布式Hotlog CDC)

  Synchronous CDC(同步CDC)

同步CDC

  Asynchronous Autolog CDC(异步Autolog CDC)

异步Autolog

异步Autolog

  Asynchronous Hotlog CDC(异步Hotlog CDC)

异步Hotlog

  Asynchronous Distributed Hotlog CDC(异步分布式Hotlog CDC)

异步分布式Hotlog