CDC变更数据捕捉技术是什么?和ETL有什么不同?

一、什么是CDC技术?

变更数据捕获(Change Data Capture,简称 CDC)是一种用于识别和跟踪数据源中发生变化的数据的技术。

工作原理:

1.监测数据源:CDC 工具会持续监测指定的数据源,如数据库表、文件系统或消息队列等。这些数据源可以是关系型数据库、非关系型数据库、大数据存储系统等。

2.识别变化:当数据源中的数据发生变化时,CDC 工具能够检测到这些变化。变化可以包括插入新数据、更新现有数据或删除数据等操作。

3.捕获变化数据:一旦检测到变化,CDC 工具会捕获这些变化的数据,并将其记录下来。记录的方式可以是将变化的数据存储在一个单独的位置,或者生成一个包含变化信息的日志文件。

4.传输变化数据:捕获到的变化数据可以通过不同的方式传输到目标系统。常见的传输方式包括实时推送、批量传输或基于事件触发的传输等。

二、CDC的主要作用是什么?

1.数据同步:CDC 可以实现不同系统之间的数据同步。例如,将一个数据库中的数据变化同步到另一个数据库、数据仓库或数据分析平台中,确保各个系统中的数据保持一致。

2.实时数据分析:通过实时捕获变化数据,可以进行实时数据分析和监控。这对于需要及时响应业务变化、进行实时决策的场景非常有用,如金融交易监控、物流跟踪等。

3.数据备份和恢复:CDC 可以作为一种数据备份和恢复的手段。通过记录数据源中的变化,可以在需要时恢复到特定的时间点的数据状态。

4.数据集成:在企业数据集成场景中,CDC 可以帮助整合来自不同数据源的数据。它可以将各个数据源中的变化数据集成到一个统一的数据存储中,以便进行综合分析和处理。

优势

1.高效性:CDC 能够快速识别和捕获变化数据,减少了数据同步和集成的时间和资源消耗。

2.实时性:可以实现实时的数据同步和分析,满足对业务变化的及时响应需求。

3.灵活性:可以根据不同的数据源和目标系统进行定制化配置,适应各种数据集成场景。

4.可靠性:通过记录变化数据的历史轨迹,可以在需要时进行数据恢复和回溯。

三、CDC技术实现方式

1.基于数据库日志:许多数据库管理系统都提供了日志功能,记录了数据库中的所有变化操作。CDC 工具可以读取这些数据库日志,解析其中的变化信息,并将其捕获下来。这种方式通常具有较高的性能和准确性,因为它直接利用了数据库的内部机制。

2.基于触发器:在数据库中创建触发器,当数据发生变化时触发特定的操作。CDC 工具可以监听这些触发器事件,获取变化数据。这种方式相对灵活,可以根据具体需求进行定制,但可能会对数据库性能产生一定的影响。

3.基于时间戳:在数据源中添加时间戳字段,记录数据的最后修改时间。CDC 工具可以定期扫描数据源,比较时间戳的变化,从而确定哪些数据发生了变化。这种方式相对简单,但可能存在一定的延迟,并且对于频繁更新的数据可能不太适用。

四、CDC与ETL有什区别?

CDC(Change Data Capture,变更数据捕获)和 ETL(Extract, Transform, Load,抽取、转换、加载)技术有以下不同:

1.数据处理范围

1)CDC:主要聚焦于捕获数据源中发生变化的数据。它只处理那些有变动的数据记录,对于没有变化的数据通常不会进行处理。 - 例如,在一个数据库中,如果只有部分记录被更新或插入,CDC 技术会只识别并处理这些发生变化的记录。

2)ETL:通常会对整个数据源进行处理,无论数据是否发生了变化。它会按照预定的规则从源系统中抽取数据,然后进行转换和加载到目标系统。 - 比如,从一个关系型数据库中抽取所有符合特定条件的数据表,对数据进行清洗、格式转换等操作后,加载到数据仓库中。但是现在ETL工具也有所升级,部分ETL工具,如FineDataLink在对数据进行抽取时,有全量抽取和增量抽取功能,能够针对不同的场景选取合适的数据抽取方式。

2.处理方式

1)CDC:强调实时性或近实时性地捕获数据变化。它可以在数据发生变化的时刻立即检测到变化,并将变化的数据传输到目标系统,或者将变化记录下来以便后续处理。 - 例如,在金融交易系统中,CDC 可以实时捕获每一笔交易的变化,以便及时更新风险分析系统中的数据。

2)ETL:一般是按照预定的时间间隔或触发条件进行批量处理。它可能会在每天晚上、每周或其他特定时间点启动,对源数据进行抽取、转换和加载操作。 - 例如,企业每月进行财务报表生成时,ETL 工具会在月底对各个业务系统的数据进行抽取和处理,以生成财务报表所需的数据。

3.数据完整性

1)CDC:在处理变化数据时,通常会尽量保证数据的完整性和一致性。它会记录数据的变化历史,以便在需要时可以回溯到特定的时间点状态。 - 例如,对于一个订单系统,CDC 可以记录订单从创建到修改、取消等各个状态的变化,确保在任何时候都能查询到订单的准确状态。

2)ETL:虽然也会注重数据的质量和一致性,但由于其批量处理的特点,可能在某些情况下无法保证数据的实时完整性。在数据转换过程中,可能会出现数据丢失或不一致的情况,需要额外的验证和处理。 比如,在 ETL 过程中,如果出现网络故障或数据源系统的异常,可能会导致部分数据无法成功抽取和处理。

4.应用场景

1)CDC:适用于对数据实时性要求较高的场景,如实时数据分析、业务监控、数据同步等。它可以快速将变化的数据传递到目标系统,以便及时做出反应。 - 例如,在电商平台中,CDC 可以实时将订单状态的变化同步到库存管理系统和物流配送系统,确保库存和物流的及时调整。

2)ETL:常用于数据仓库建设、数据整合、报表生成等场景。它可以将来自不同数据源的数据进行统一处理和存储,为企业提供全面的数据分析基础。 - 比如,企业构建数据仓库时,使用 ETL 工具将各个业务系统的数据抽取、转换后加载到数据仓库中,以便进行数据分析和决策支持。

了解更多数据仓库与数据集成关干货内容请关注>>>FineDataLink官网

免费试用、获取更多信息,点击了解更多>>>体验FDL功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++复习】经典笔试题

文章目录 八大排序快排过程 卡特兰数反转链表链表的回文结构左叶子之和另一棵树的子树归并排序类与对象编程训练杨辉三角字符串乘积二叉树前序遍历成字符串数组的交集二叉树的非递归前序遍历连续子数组的最大乘积 八大排序 插冒归稳定 快排过程 以 [3,4,6,1,2,4,7] 为例&#…

MySQL 聚合函数

1. AVG函数求平均值 以 teacher 表为例,先查所有 teacher 信息: SELECT * FROM teacher;查询结果如下图: 可以使用 AVG() 函数求出全部教师平均年龄: SELECT AVG(age) FROM teacher;执行结果如下图: Tips&#…

Javascript 脚本查找B站限时免费番剧

目录 前言 脚本编写 脚本 前言 B站的一些番剧时不时会“限时免费”,白嫖党最爱,主打一个又占到便宜的快乐。但是在番剧索引里却没有搜索选项可以直接检索“限时免费”的番剧,只能自己一页一页的翻去查看,非常麻烦。 自己找限…

如何修改MAC地址破解网络无线网络限制-担心别人蹭网,路由器设置MAC地址过滤,限定了能访问无线网络的网卡地址-供大家学习参考

路由器都设置了MAC地址过滤,也就是限定了能访问无线网络的网卡的MAC地址。因为无线路由器不一定由自己控制,所以当更换了笔记本或者更换了无线网卡的时候,也许就上不了网了。我们可以修改网卡的MAC地址实现上网。 下载:https://do…

各种查询sql介绍

1. 关联查询(JOIN) 关联查询用于从多个表中检索数据。它基于两个或多个表之间的共同字段(通常是主键和外键)来组合数据。 内连接(INNER JOIN): sql SELECT a.name, b.order_date FROM custome…

计算机网络——CDN

空间编码例子:不是发送N个相同颜色值,而是仅发送2个值,颜色和重复个数 时间编码例子:不是发送i1帧的全部编码,而是仅发送帧i差别的地方 视频播放时,先下载manifest file文件——>解析(不…

机器学习与神经网络:科技的星辰大海

前提 近日,2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者,这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家,如今却将全球范围内对机器学习和神经网络的研究和开发作为了一…

Faster R-CNN模型微调检测航拍图像中的小物体

1. 项目简介 本项目的目标是基于Faster R-CNN模型对航拍图像中的小物体进行检测和识别。航拍图像通常具有视角广、分辨率高、小目标密集且物体尺寸较小的特点,因此检测难度较大。传统的目标检测模型在处理小物体时,容易受到物体尺寸、分辨率及背景复杂度…

大数据查询引擎之Tez

Apache Tez 是一个用于大数据处理的分布式计算框架,旨在提高 Hadoop 的 MapReduce 计算引擎的效率和性能。它是一个面向 DAG(有向无环图)任务执行的框架,主要用于大规模数据处理场景中,特别是在 Apache Hadoop 生态系统…

elementUI,设置日期,只能选择过去的和今天的日期

在 el-date-picker 组件中加&#xff1a;:picker-options"pickerOptions" <el-form-item label"票据生成日期&#xff1a;"> <el-date-picker v-model"date1" type"daterange" range-separator"至" value-format&…

大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

轻量级可视化数据分析报表,分组汇总表!

什么是可视化分组汇总表&#xff1f; 可视化分组汇总表&#xff0c;是一种结合了数据分组、聚合计算与视觉呈现功能的数据分析展示功能。它能够按照指定的维度&#xff08;如时间、地区、产品类型等&#xff09;对数据进行分组&#xff0c;还能自动计算各组的统计指标&#xf…

mongodb-7.0.14分片副本集超详细部署

mongodb介绍&#xff1a; 是最常用的nosql数据库&#xff0c;在数据库排名中已经上升到了前六。这篇文章介绍如何搭建高可用的mongodb&#xff08;分片副本&#xff09;集群。 环境准备 系统系统 BC 21.10 三台服务器&#xff1a;192.168.123.247/248/249 安装包&#xff1a…

SQL Injection | SQL 注入 —— 报错盲注

关注这个漏洞的其他相关笔记&#xff1a;SQL 注入漏洞 - 学习手册-CSDN博客 0x01&#xff1a;报错盲注 —— 理论篇 报错盲注&#xff08;Error-Based Blind SQL Injection&#xff09;是一种常见的 SQL 注入技术&#xff0c;适用于那些页面不会直接显示后端处理结果的查询方式…

安装nginx实现多ip访问多网站

关闭防火墙并停selinux&#xff1a; 挂载&#xff1a; 安装nginx&#xff1a; 判断nginx是否成功启动&#xff1a; 打开nmtui并添加多个ip&#xff1a; 重启nmtui&#xff1a; 查看多ip是否配置成功: 配置文件&#xff1a; 创建文件&#xff1a; 根据配置在主机创建数据文件&a…

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十一)ESKF中融合速度观测量;发散的原因;如何解决发散;以及对slam的理解

带着问题去学习: 1、slam发散的原因? 2、如何解决/限制发散? 3、如何在已经有观察值和预测值的ESKF中,再引入一个其他其他观察量? 一、多传感器融合的思考——轮速计 反思为何需要融合多个传感器? 我认为根本上的原因,是因为有些传感器在某些场景下会失灵、效果不佳…

aws(学习笔记第七课) 私有子网使用NAT服务器

aws(学习笔记第七课) AWS的私有子网使用NAT服务器 学习内容&#xff1a; AWS的私有子网使用NAT服务器 1. AWS的私有子网使用NAT服务器 在上面的例子的网络构成图中&#xff0c;可能会发现一个问题。就是Private Subnet的Apache server无法访问互联网。比如&#xff0c;当需要…

云计算-----单机LNMP结构WordPress网站

LNMP结构 博客网站 day1 小伙伴们&#xff0c;LNMP结构在第一二阶段浅浅的学习过&#xff0c;这里我们可以离线部署该结构。L指&#xff08;虚拟机&#xff09;服务器&#xff0c;nginx&#xff08;前端代理服务器&#xff09;mysql数据库&#xff0c;最后基于php建设动态…

DockerCompose快速部署Java项目、nginx前端和mysql数据库到centos虚拟机

简介&#xff1a;整理自&#xff1a;SpringCloud微服务开发与实战&#xff0c;java黑马商城项目微服务实战开发&#xff08;涵盖MybatisPlus、Docker、MQ、ES、Redis高级等&#xff09;课程的飞书文档。 DockerCompose介绍 大家可以看到&#xff0c;我们部署一个简单的java项…

黑马程序员Java笔记整理(day03)

1.switch 2.for与while对比 3.嵌套定义,输出的区别性 4.break与continue 5.随机数生成的两种方式 6.Random 7.随机验证码