走近数据变更捕获(CDC):定义、优势和用例

在当今快节奏的数字化环境下,企业需要数据来做出决策、提高运营效率、优化客户体验。然而,获得最新最准确的数据有时并不容易,尤其是当数据来自于多个系统和应用程序时。这时,数据变更捕获(Change Data Capture,简称 CDC)技术就派上了用场。它提供了一种强大的解决方案,可以无缝地集成和同步不同环境中的数据。

1. 什么是 CDC?

数据变更捕获(CDC)是一种捕捉数据变更的技术。它能实时监控数据源(如数据库、应用系统等)中数据的增、删、改等变化,并记录下这些变更信息。与传统批处理方式相比,CDC 实现了近乎实时的数据集成和同步,使企业能够随时掌握最新信息,从而基于数据做出及时决策。

为更好理解 CDC,我们来看示例:假设有一份公司员工信息表,包括员工 ID、姓名和薪资等。现在,该公司财务部加入了一位新员工 Alice Williams,其薪资为 70,000 美元,此时,我们会把新员工信息插入到员工表中。

当启用 CDC 时,系统会自动捕获员工表插入的这个新记录,并生成一个数据修改的日志或流。当这个日志或流到达目标系统(如数据仓库或分析平台)时,它会触发目标表的更新,确保源表和目标表保持同步,反映最新的信息。

员工表数据变更捕获整体流程示意图

具体来说,CDC 日志或流会捕获操作的一些详细信息,包括操作内容 (INSERT)、时间戳 (2023-06-01 09:15:22)、受影响的表名(Employees),以及实际插入的数据 (data)。在该示例中,实际插入数据包含新员工的 ID、姓名、部门和薪资信息。

{"operation": "INSERT","timestamp": "2023-06-01 09:15:22","table": "Employees","data": {"EmployeeID": 1004,"EmployeeName": "Alice Williams","Department": "Finance","Salary": 70000}
}

此时,如果员工表出现其他变化,比如有员工获得晋升或加薪,CDC 日志可能如下所示:

{"operation": "UPDATE","timestamp": "2023-06-15 11:30:47","table": "Employees","oldData": {"EmployeeID": 1002,"EmployeeName": "Jane Smith","Department": "Marketing","Salary": 75000},"newData": {"EmployeeID": 1002,"EmployeeName": "Jane Smith","Department": "Marketing","Salary": 80000}
}

上述 CDC 日志捕获的操作是“更新 (UPDATE)”,同时显示了旧数据(更新前的员工详细信息)和新数据(更新后的员工详细信息,薪资增加到 80,000 美元)。

从上述例子可见,CDC 能实时捕获员工数据变化,使下游系统(数据仓库、数据湖和分析平台等)能够实时消费和处理最新更新,从而为人力资源流程(如薪资管理、绩效管理和劳动力规划)提供支持。

2. 使用 CDC 的益处

那么,实施 CDC 在数据堆栈中有哪些关键益处呢?让我们来探讨一下:

  1. 实时集成:CDC 可以捕获并传播数据变化,确保下游系统(如数据仓库和数据湖)始终拥有最新、一致的数据,从而支持实时分析、报告和决策。
  2. 事件驱动架构:CDC 将数据变化视为事件,可触发下游流程、工作流或微服务。它将这些事件发布到队列或流中,实现近乎实时的消费和响应。
  3. 数据复制和同步:在高可用性、灾难恢复或性能优化等场景中,CDC 能通过捕获和应用变化,在分布式环境中维持数据副本的一致。
  4. 治理与合规:在受监管行业中,CDC 能维护审计轨迹,跟踪数据血缘,并记录关键数据源的变化,确保合规。
  5. 混合云和多云:随着企业采用混合云和多云策略,CDC 成为跨不同云环境、本地系统和数据存储同步数据的关键,能支持无缝的数据共享和集成。

3. CDC 的使用案例

让我们来看一些 CDC 在实际中为企业带来显著效益的例子:

  • 金融服务:在金融行业,数据完整性至关重要。CDC 能实时同步银行、交易和会计数据,确保财务决策的准确性。
  • 供应链和物流:这些快节奏行业需要实时的库存、运输和订单履行的可见性。CDC 能实现高效的数据集成和同步,让企业快速响应变化,优化运营效果,提升客户满意度。
  • 电商和零售:出色的客户体验需要各渠道间保持一致且最新的产品、定价、订单数据。CDC 能确保无缝的全渠道体验,助力明智决策。
  • 医疗:准确、及时的患者数据对高质量护理至关重要。CDC 能实时同步电子健康记录(EHR)系统,为医疗专业人员提供最新患者信息。
  • 物联网(IoT) :随着物联网设备的普及,实时数据流的摄取和处理变得至关重要。CDC 能高效集成物联网传感器和设备数据,实现实时监控、预测性维护和数据驱动决策。

4. 流行的 CDC 工具和技术

以下是一些广泛使用的 CDC 工具,用于实现实时数据集成和同步:

  • Debezium:开源 CDC 平台,基于Apache Kafka 构建。它从 MySQL、PostgreSQL、Oracle、SQL Server 和MongoDB 等数据库捕获并流式传输数据变化,提供可扩展且可靠的解决方案。
  • Maxwell CDC:CDC 工具,将 MySQL 数据库的实时变化流式传输到Kafka、Kinesis 等平台,以其简单、易于设置和轻量架构著称,能高效地流式传输行级变化为 JSON。
  • Canal:CDC 工具,能将 MySQL 数据库的实时变化流式传输到其他系统,提供统一的变更日志格式方案,并支持 JSON 和 protobuf 消息序列化。
  • Oracle GoldenGate:Oracle 的 CDC 工具,用于跨 Oracle 数据库及 SQL Server、DB2 和 Teradata 等其他数据库实现实时数据复制和集成,提供高性能和低影响的数据捕获。
  • AWS数据库迁移服务(DMS) :支持完全托管的 AWS 服务,支持各种数据库的迁移和复制,具备 CDC 功能,支持 Amazon RDS、Aurora 和本地数据库。
  • Microsoft SQL Server Change Data Capture:SQL Server 内置的 CDC 功能,允许捕获和跟踪 SQL Server 数据库中表的变化。

5. RisingWave 如何处理数据变更捕获

RisingWave 是一款专为处理实时数据而设计的数据库,其关键功能之一是实时数据摄取,包括数据变更捕获(CDC)数据。

RisingWave 通过提供流行数据库(如Postgres、MySQL、MongoDB 和 Citus)的本地 CDC 连接器来处理数据变更捕获(CDC)。这些连接器在确保数据一致性的同时,简化了技术堆栈。同时,RisingWave 还可以摄取以 Kafka、Pulsar 或 Kinesis 等消息系统格式传递的 CDC 数据,这种功能需要先使用单独的 CDC 工具将数据库的 CDC 数据转换为流格式。有关 RisingWave 如何摄取这些格式的 CDC 数据的更多信息,请参考我们的官方文档 CDC via messaging systems。

6. 结论

在如今数据驱动的大环境下,数据变更捕获(CDC)已成为不可或缺的技术。通过捕获并传播数据变化,CDC 确保了实时数据一致性,并实现了跨混合云和多云环境的无缝集成。

如果您正在构建事件驱动架构或探索为实时应用程序提供动力的工具,RisingWave 是一个值得考虑的数据库。

RisingWave 专为处理流数据而设计,能直接从 Postgres 和 MySQL 等数据库中摄取 CDC 数据。它使用 SQL 进行实时数据转换和增强,然后将数据导出到数据仓库或数据湖等下游系统。此外,RisingWave 还支持摄取打包成 Debezium、Maxwell 和 Canal 格式的 CDC 数据,欢迎大家免费试用。

7. 关于 RisingWave

RisingWave 是一款开源的分布式流处理数据库,旨在帮助用户降低实时应用的开发成本。RisingWave 采用存算分离架构,提供 Postgres-style 使用体验,具备比 Flink 高出 10 倍的性能以及更低的成本。

👨‍🔬加入 RW 社区,欢迎关注公众号:RisingWave 中文开源社区

🧑‍💻快速上手 RisingWave,欢迎体验入门教程:github.com/risingwave

💻深入使用 RisingWave,欢迎阅读用户文档:zh-cn.risingwave.com/docs

🔍更多常见问题及答案,欢迎搜索留言: risingwavelabs/discussions

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

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

相关文章

内存卡数据移走了怎样恢复?简易步骤与解决方案

随着科技的快速发展,内存卡已成为我们日常生活中不可或缺的一部分,特别是在行车记录仪、手机、相机等设备上。然而,当内存卡中的数据意外移走或删除时,我们往往会感到焦虑和困惑。本文将为您介绍如何简易恢复内存卡中移走的数据&a…

基于SpringBoot+Vue北部湾地区助农平台设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

震惊!CURRENT_TIMESTAMP不能乱用

事情发生在签到和查询签到记录. 设置mysql时间默认值为CURRENT_TIMESTAMP可以随系统生成默认时间戳,即生成该数据的时间戳, 但是有些特殊场景要避免由mysql给我们生成默认时间: 1、首先签到成功之后返回给前端, 2、前端收到执行成功之后立马去查询签到记录, 3、发现并没有…

leetcode-17-[235]二叉搜索树的最近公共祖先[701]二叉搜索树中的插入操作[450]删除二叉搜索树中的节点

一、[235]二叉搜索树的最近公共祖先 class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(rootnull){return null;}//左子树if (root.val > p.val && root.val > q.val) {return lowestCommonAncestor(root.left…

智慧校园-实习管理系统总体概述

智慧校园实习管理系统是专为高校、企业和学生设计的一体化数字解决方案,它革新了传统实习管理的方式,通过科技手段促进了实习资源的高效对接与管理。该系统整合了实习信息发布、申请管理、过程监督、评估反馈等多个核心环节,构建了一个无缝连…

钡铼BL101网关6串口Modbus转MQTT优化智慧园区设备互联

BL101网关:优化智慧园区设备互联的关键利器 在当今快速发展的智能化时代,智慧园区管理对于设备之间的高效互联至关重要。钡铼(BL101)网关作为一款功能强大的Modbus转MQTT设备,不仅支持多种通信协议和硬件接口&#xf…

Excel条件格式的经典用法

目录: 一、自动设置填充颜色 二、设置Excel到期自动销毁 三、隔行自动标记 四、美化表格 五、快速突出显示重复值 六、标记空单元格 七、突出显示前N名单元格数值 八、表格添加新内容自动加边框 一、自动设置填充颜色 1、选择内容 首先我们选中表格的数据…

常微分方程算法之编程示例三(预估-校正法)

目录 一、研究问题 二、C代码 三、计算结果 一、研究问题 本节我们采用预估校正法(改进欧拉法)求解算例。 预估-校正法的原理及推导请参考: 常微分方程算法之预估-校正法(改进Euler法)_、改进欧拉法-CSDN博客https…

规则引擎-Aviator 表达式校验是否成立

目录 介绍特性使用更多文献支持 介绍 Aviator是一个轻量级、高性能的Java表达式执行引擎,它动态地将表达式编译成字节码并运行。 特性 支持绝大多数运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(~)、三元表达式(?:…

IDEA services模块无法启动springboot服务(添加了springboot但是为空白)

https://blog.csdn.net/m0_54042402/article/details/117918995 https://blog.csdn.net/qq_46550964/article/details/122235235 Alt8 显示services模块 发现有springboot启动模块,点一下springboot之后,这个模块就消失了 会自动在.idea文件夹下的work…

五十八、openlayers官网示例Map Graticule解析——给地图添加经纬度网格线

这篇没啥好说的,写出来完全是嘲笑一下自己蠢,以及,,,帮大家避个坑。。。。 之前一个项目需要展示这种经纬线,但是我不知道openlayers有这种图层,于是拿canvas画上去的。。。。 很好&#xff0c…

【嵌入式Linux】<总览> 多进程

文章目录 前言 一、进程的概念与结构 1. 相关概念 2. 内核区中的进程结构 3. 进程的状态 4. 获取进程ID函数 5. 进程组 6. 会话 二、进程创建 1. fork和vfork函数 2. 额外注意点 3. 构建进程链 4. 构建进程扇 三、进程终止 1. C程序的启动过程 2. 进程终止方式…

2024年无线领夹麦克风选购指南,领夹麦克风哪个品牌好

"领夹麦克风"这个名词对于大多数人可能还比较陌生,但在互联网专业人士和短视频制作者的世界里,它却是一个不可或缺的工具。如果你有志于成为短视频领域的创作者,或者想要参与视频拍摄、直播等多媒体内容的制作,那么了解…

计算机工具软件安装攻略:Chrome浏览器下载安装及使用

1 Chrome简介 Chrome是谷歌公司开发的一款免费网页浏览器它快速、稳定、安全拥有简洁流畅的界面和丰富的应用程序内置了强大的谷歌搜索引擎。Chrome使用Blink浏览器引擎和V8 JavaScript引擎支持多种插件和扩展程序让浏览网页更便捷。它可以与Android手机良好同步支持跨设备浏览…

cpu scheduling cpu调度

soft real-time Vs hard real-time scheduling Real-Time CPU Scheduling Can present obvious challengesSoft real-time systems – Critical real-time tasks have the highest priority, but no guarantee as to when tasks will be scheduledHard real-time systems – …

“Allegro评论管理:高效处理评价,提升顾客满意度”

波兰Allegro平台以其庞大的用户基础和丰富的商品种类,成为波兰乃至欧洲电商市场中的一颗璀璨明珠。如何高效管理和优化顾客评价,成为每个商家亟待解决的核心问题。正是基于这一背景,“无忧易售”——一款专注于Allegro评价管理的功能上线了&a…

使用 Mac 数据恢复从 iPhoto 图库中恢复照片

我们每个人都会遇到这种情况:在意识到我们不想丢失照片之前,我们会永久删除 iPhoto 图库中的一些照片。永久删除这些照片后,是否可以从 iPhoto 图库中恢复照片?本文将指导您使用免费的 Mac 数据恢复软件从 iPhoto 中恢复照片。 i…

2024软件设计师笔记之考点版(一考就过):1-10

软件设计师之一考就过:成绩版 考点1:CPU、指令 真题1:CPU 执行算术运算或逻辑运算时,常将源操作数和结果暂存在(累加器(AC))中。 真题2:在程序的执行过程中,Cache与主存的地址映射是由(硬件自动)完成的。 真题3:计算机执行程序时,内存分为静态数据区、代码区、…

【漏洞复现】华测监测预警系统——SQL注入漏洞

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 华测监测预警系统2.2版本存在sql注入,UserEdit接口S…

文华6声音预警公式-macd+kdj共振信号买卖点提示主图指标公式源码

文华6声音预警公式-macdkdj共振信号买卖点提示主图指标公式源码 指标公式逻辑: KDJC和MACDJC同时金叉时在K线的下面标记买字, KDSC和MACDSC同时死叉时候在K线上面标记卖字。 同时添加一下声音 指标公式源码: RSV:(CLOSE-LLV(LOW,9))/(H…