[转帖][大数据]ETL之增量数据抽取(CDC)

数据,etl,增量,抽取,cdc · 浏览次数 : 0

小编点评

**CDC 概念介绍** CDC(Change Data Capture)是一种实现数据的增量抽取解决方案,用于捕获数据变化并将其加载到数据仓库中。CDC主要分为以下几部分: * **数据收集器(Collector):**从数据源中捕获数据并将其转换为数据格式。 * **中间平台(Bridge):**处理数据并进行清洗和转换。 * **数据仓库(Warehouse):**存储最终抓取的数据。 **CDC 常见解决方案** **1. 基于时间戳的CDC** * 将数据加上【时间戳】。 * 通过【关键字段】对数据进行对比。 * 将未出现在已采集/存储的数据集中的新采集数据记录存储下来。 **2. 基于触发器的CDC** * 当执行INSERT、UPDATE、DELETE等SQL语句时,可预先编写、激活数据库里的触发器,以调用、执行数据抽取动作。 **3. 基于快照的CDC** * 通过比较源表和快照表来获得数据变化。 **4. 基于日志的CDC** * 源数据库会把每个插入、更新、删除操作记录到日志里。 * 通过分析已经发生的事件提交(commit)的日志记录来得到增量数据信息。 **5. 补充方案:与数据库引擎直接集成的CDC** * 数据库厂商Oracle添加CDC特性,其在【数据库层面】上直接实现增量抽取功能。

正文

 

https://www.cnblogs.com/johnnyzen/p/12781942.html

 

目录

 

关于:转载/知识产权

本文遵循 GPL开源协议,如若转载:

关于:本文由来

本文系CD-SFWY公司第二阶段产品培训(ETL融合数据产品)的试题部分的个人思考答案(员工:ZT - Johnny)

  • 文中所涉技术、观点均具备行业内公开技术的特征
  • 博文内容与公司和产品本身无关,故与保密无关
  • 网络中,CDC相关博文甚少,故而觉得有必要写一篇笔记性的、科普性的文章~
  • 如若描述不当之处,欢迎指正、并进一步沟通,感谢~

1 CDC 概念

1.1 定义

Change Data Capture,变化的数据捕获,也称:【增量数据抽取】(名词解释)
CDC是一种实现数据的增量抽取解决方案,是实现【ETL整体解决方案】中的一项子方案/子问题。(对CDC的定位)

1.2 需求背景

在ETL项目中,面临需要抽取哪部分数据加载到数据仓库?全量抽取,还是增量抽取?

1.3 考察指标

如何捕获变化的数据是增量抽取的关键,对捕获方法一般有2点要求:

  • 准确性:能够将业务系统中的变化数据准确地捕获到;
  • 性能:尽量减少对业务系统造成太大的压力,影响现有业务。

2 CDC 常见解决方案

按CDC方案的任一操作是否对数据源系统产生影响(性能、功能等),分为:【侵入式CDC】、【非侵入式CDC】
按CDC方案所抽取的数据与数据源系统的变化数据是否在规定时间内同步,分为:【同步CDC】、【异步CDC】

以下,对各实现方案进一步地详细描述。

2.1 基于时间戳的CDC 【侵入式CDC + 异步CDC】

  • 【过程】
    首先,对数据加上【时间戳】;(加时间戳)
    然后,全记录中通过【关键字段】(新设判断是否新增、更新等状态的属性、索引等)对比;(全量对比)
    最终,将未出现在已采集/存储的数据集中的新采集数据记录存储下来;反之,则:不予采集/存储。

  • 【特点】简单、常用、暴力
    1 需要【新建数据库表】,以存储变化的、新增的数据记录。
    2 大数据量的情况下,需要有优异的查找、排序【算法】作支撑,否则,对比效率低而导致效率低下
    3 【无法实时】捕获
    4 不能记录删除记录的操作
    5 无法识别单位捕获时间差内的【多次更新】(∵无法实时捕获,存在抽取时间差)

2.2 基于触发器的CDC 【侵入式CDC / 非侵入式CDC + 同步CDC】

  • 【概念】
    当执行INSERT、UPDATE、DELETE等SQL语句时,可预先编写、激活数据库里的触发器,以调用、执行数据抽取动作。

  • 【过程】
    首先,可用触发器来捕获变更的数据,并把数据保存在中间临时表里;
    然后,将这些变更数据再从临时表取出,抽取到数据仓库的过渡区中。

  • 【特点】实时
    1 大多数场合下,不允许向操作型数据库里添加触发器,且这种方法会降低系统性能,所以用的不多。
    2 可在调用数据库的后端服务器层面编写触发器模式的程序,间接实现数据库中触发器的能力。
    3 基本能达到实时增量抽取

2.3 基于快照的CDC 【非侵入式CDC + 异步CDC】

  • 【概念】
    可通过比较源表和快照表来获得数据变化。

  • 【特点】
    1基于快照的CDC可检测到插入、更新和删除的数据 (相比基于时间戳的CDC的优点)
    2需要大量存储空间来保存快照

2.4 基于日志的CDC 【非侵入式CDC + 异步CDC】

  • 【概念】
    源数据库会把每个插入、更新、删除操作记录到日志里。
    通过分析已经发生的事件提交(commit)的日志记录来得到增量数据信息,有一定的时间延迟。
  • 【特点】复杂、异步、非侵入式

2.5 补充方案:与数据库引擎直接集成的CDC 【侵入式CDC + 同步CDC】

例如:数据库厂商Oracle
Oracle新增CDC特性,其在【数据库层面】上直接实现增量抽取功能;
在【性能层面】,由于和数据库引擎的直接集成,比第三方的实现方案应具有一定的优势。

3 参考文献

X 推荐文献

与[转帖][大数据]ETL之增量数据抽取(CDC)相似的内容:

[转帖][大数据]ETL之增量数据抽取(CDC)

https://www.cnblogs.com/johnnyzen/p/12781942.html 目录 1 CDC 概念 1.1 定义 1.2 需求背景 1.3 考察指标 2 CDC 常见解决方案 2.1 基于时间戳的CDC 【侵入式CDC + 异步CDC】 2.2 基于触发器的CDC 【侵入式C

[转帖]大数据基础架构Hadoop,终于有人讲明白了

http://blog.itpub.net/70024420/viewspace-2928855/ 导读:大数据正在成为经济社会发展的新的驱动力。随着云计算、移动互联网等网络新技术的应用和发展,社会信息化进程进入大数据时代,海量数据的产生与流转成为常态。而大数据技术也如雨后春笋般正在蓬勃发展中。Ha

[转帖]本周话题:大数据已死

本周话题:大数据已死 http://www.ruanyifeng.com/blog/2023/03/weekly-issue-244.html "大数据"这个词,大家想必耳熟能详。这是最大众化的 IT 词汇之一,全社会曾经都热衷于它。 百度指数显示,"大数据"从2011年开始进入搜索引擎,然后快速传

[转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案

一.操作系统-Linux Kafka是JVM系的大数据框架kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件 使用Linux kafka客户端底层使用Java的selector,selector在Linux上的实现机制是epoll,由于在windows上

[转帖]分布式文件系统测试方法与测试工具

https://zhuanlan.zhihu.com/p/36415684 非结构化数据、大数据、云存储已经毫无争议地成为了信息技术发展趋势和热点,分布式文件系统作为核心基础被推到了浪潮之巅,广泛被工业界和学术界热推。现代分布式文件系统普遍具有高性能、高扩展、高可用、高效能、易使用、易管理等特点,架

[转帖]一张图让你学会LVM

http://blog.itpub.net/69955379/viewspace-2901403/ Linux操作系统 作者:大雄45 时间:2022-11-18 01:13:44 292 0 导读 随着科技的进步,人们不知不觉的就进入了大数据的时代,数据的不断增加我们发现我们的磁盘越来越不够用了,

[转帖]一月一盘点:12月,那些您错过的服务器领域新鲜事儿

http://blog.itpub.net/28285180/viewspace-2930414/ 数字化转型趋势下,各行业领域的信息数据呈爆发式增长。随着人工智能、云计算、物联网、大数据等前端科技的不断发展和延伸,各科技产业呈现良好发展态势。无论是企业还是个人,在新时代的环境下,都应紧跟数字化转型

[转帖]关基、等保、密评之间的关系

没有网络安全就没有国家安全,没有信息化就没有现代化,网络安全和信息化是一体之两翼、驱动之双轮”。随着5G、大数据、云计算、人工智能、工业互联网、物联网等新一代信息技术的发展,网络空间与物理空间被彻底打通,网络空间成为继“陆海空天”之后的第五大战略空间,愈演愈烈的网络攻击已经成为国家安全的新挑战。为保

[转帖]修改jmeter内存配置(win&mac&linux)

目录 一、背景: 二、win环境下修改jmeter内存 三、mac&linux环境下修改jmeter内存 四、验证内存是否修改成功 一、背景: 在进行大数据、高并发压测的过程性,有时会遇上JMeter卡死现象,使得测试无法进行,查看日志显示:java.lang.OutOfMemoryError: J

[转帖]7大openGauss商业版发布,共推规模落地行业核心场景

神舟通用、云和恩墨、超图软件、南大通用、海量数据、超聚变及中国联通 https://baijiahao.baidu.com/s?id=1738417443151957787&wfr=spider&for=pc 央广网北京7月15日消息 openGauss Developer Day 2022(ope