什么是变更数据捕获?

在仓库内使用笔记本电脑工作的女士。

作者

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

什么是变更数据捕获?

变更数据捕获 (CDC) 是一种识别和记录数据库中数据变更的技术。CDC 将此类变更实时传递到不同的目标系统,以便在数据库发生变化后立即同步整个组织的数据。

 

变更数据采集是一种实时数据整合方法,其功能是合并和协调整个组织中可能孤立或不一致的数据。其他方法包括流数据整合、数据虚拟化和应用集成。

CDC 能够实时(且低延迟)地执行系统更新,这对于实时数据分析、云迁移甚至 AI 模型的成功至关重要。它在各行各业都有各种用例,从零售到金融再到医疗保健,可协助欺诈检测、供应链管理和监管合规。

变更数据捕获有多种方法,其中最常见的是基于日志的 CDC、基于时间戳的 CDC 和基于触发器的 CDC。企业可以借助数据库原生工具、开源平台和第三方解决方案实现变更数据捕获。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

变更数据捕获有哪些优点?

在现代数据管理中,变更数据捕获已成为一项关键数据工程机制。当今企业的数据环境日趋庞大且越发复杂。其中可能包含来自物联网 (IoT) 设备、分布式数据库、应用程序和其他不同来源的数据。在不断扩展的数据生态系统中保持数据的一致性与质量,构成了长期存在的技术难题。

与此同时,企业需要准确、及时的信息,并借此制定实时决策。变更数据捕获是帮助组织满足这一需求的多种方案之一。

变更数据捕获支持低延迟数据管道,通过比其他数据整合方法更高效、资源占用更少的方式提供新数据。例如,数据复制需要复制完整的数据集。相比之下,CDC 仅发送已变更的数据,从而减少源系统负载、网络流量以及对计算能力的需求。

它可以帮助企业快速高效地获取最新、最准确的信息,从而提供多重优势,包括:

实时决策

实时数据变更流可实现实时数据分析和商业智能。借助这些功能,企业就能满足当今 24/7 全天候不间断、高度时效敏感的商业环境需求。

成功完成云迁移

在云迁移期间,CDC 会将本地发生的数据变更快速传送到相关的云数据表,确保两个环境之间的一致性。此功能还能最大限度减少迁移期间的系统停机。

ETL 流程优化

ETL(提取、转换、加载)数据管道是数据分析和机器学习工作流不可或缺的一部分。但是,依赖批处理的 ETL 执行往往速度较慢,并且会消耗系统资源。将 CDC 集成至 ETL 可以优化资源利用率并加速数据迁移。

更优异的人工智能 (AI) 性能

实施变更数据捕获可确保模型源数据实时更新,以便大语言模型 (LLM) 提供准确、及时的输出。例如,在检索增强生成 (RAG) 用例中,AI 模型与外部知识库相连以获取更精准的响应。

Mixture of Experts | 8 月 28 日,第 70 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

变更数据捕获的运作模式?

变更数据捕获用于识别并记录发生在各类数据源中的变更事件。这些数据源包括关系数据库,例如 Oracle、PostgreSQL、MySQL、Microsoft 的 Azure SQL、Microsoft 的 SQL Server,以及非关系 (NoSQL) 数据库,例如 Apache Cassandra 和 MongoDB。

识别变更后,它们将以实时或近乎实时的方式从源数据库传输到目标系统。数据存储(如数据湖数据仓库)、实时分析和流数据平台(如 Apache Kafka 和 Apache Spark)以及 ETL(提取、转换、加载)和 ELT (提取、加载、转换)解决方案都是目标系统的示例。

变更数据捕获可由目标系统(即“推送”模式)或源系统(即“拉取”模式)任一方发起。在前者中,源系统会向目标系统“推送”或发送变更。在后者中,目标系统定期轮询源系统,并在识别变更后“拉取”变更。

变更数据捕获的常用方法

变更数据捕获的执行方法多种多样。常见的 CDC 类型包括:

  • 基于日志的 CDC
  • 基于时间戳的 CDC
  • 基于触发器的 CDC

基于日志的 CDC

数据库事务日志是数据库的标准功能,用于记录所有数据库事务。(事务日志文件可用于在发生系统故障时恢复数据库。)

在基于日志的 CDC 中,CDC 应用程序处理日志中记录的数据库更改并与其他系统分享更新。基于日志的 CDC 越来越受欢迎,部分原因是它依赖于日志而不是可能降低源系统性能的查询。但是,事务日志格式的变化可能会使跨不同数据库的基于日志的 CDC 执行变得复杂。

基于时间戳的 CDC

基于时间戳的变更数据捕获(也称为基于查询的 CDC)要求数据库表模式具有列功能,例如时间戳列,以注明记录变更的日期和时间。CDC 工具可用于通过源表中的时间戳列识别更改的记录,然后将更新提供给目标系统。

虽然基于时间戳的 CDC 易于实施,但当频繁轮询时间戳数据时,它也会给系统造成额外的负担。基于时间戳的 CDC 在整行数据与时间戳均被删除时,同样无法捕获删除操作。

基于触发器的 CDC

在基于触发器的变更数据捕获中,一旦数据库中发生特定修改(例如插入、删除和更新),就会执行名为“数据库触发器”的存储过程或函数。变更后的数据存储于变更表或影子表中。

与基于时间戳的 CDC 相仿,基于触发器的 CDC 同样易于实施。然而,它也会给源系统造成负担——源表中每发生一次事务,触发器都会“激活”。

变更数据捕获工具

执行变更数据捕获的工具可以基于特定环境和数据库系统进行本地部署(例如 AWS Database Migration Service),也可以进行更广泛的实施。非原生变更数据捕获软件解决方案包括 Debezium 等开源平台以及 IBM® Streamsets 和 Oracle GoldenGate 等商业平台。

企业在选择解决方案时,可能会考虑诸如定价、源系统和目标系统的连接器以及用于系统整合的应用程序编程接口 (API) 等因素。

变更数据捕获的用例

企业会根据各种用途部署变更数据捕获,包括:

欺诈检测

通过变更数据捕获持续跟踪财务记录的变化,可以提前检测欺诈活动,以免其造成重大损失。

物联网 (IoT) 支持

CDC 可以高效整合 IoT 设备产生的海量实时数据,实现预测性维护和实时监控。

库存和供应链管理

借助变更数据捕获技术获取实时销售、库存及供应链信息,企业可避免缺货并制定高利润定价决策。

法规一致性

变更数据捕获可以帮助受到严格监管的企业保留准确的记录,以满足 GDPR、“萨班斯-奥克斯利 (SOX) 法案”和美国 HIPAA 等法规的报告与合规要求。

相关解决方案
IBM StreamSets

通过直观的图形界面创建和管理智能流数据管道,促进跨混合和多云环境的无缝数据集成。

深入了解流媒体集
IBM Databand

发现 IBM Databand,用于数据管道的可观测性软件。该软件会自动收集元数据来构建历史基线、检测异常并创建工作流程,以修复数据质量问题。

深入了解 Databand
数据集成解决方案

利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。

探索数据集成解决方案
采取后续步骤

了解 IBM DataStage,这是一款 ETL(提取、转换、加载)工具,为设计、开发和部署数据管道提供可视化界面。它可作为 IBM Cloud 上的托管 SaaS、自托管以及 IBM Cloud Pak for Data 的附加组件提供。

探索 DataStage 深入了解分析服务