Debezium 博客

“如何添加一个新表来开始捕获其更改?”

这是我们社区中最常见的问题之一。

如果你问《银河系漫游指南》,万事万物的答案是42。遗憾的是,在现实世界中,事情并没有那么简单。真正的答案是:这取决于具体情况。

在这篇文章中,我不仅想通过讲解不同的场景来提供一个答案,还想解释其背后的原因。

自推出 Debezium Management Platform (Debezium Platform) 以来,我们的目标一直是让构建 CDC 数据管道变得容易,这样您就可以专注于您的数据如何从源流向目的地。许多用户已经在 Kafka Connect 或 Debezium Server 上运行 Debezium 连接器。为了进一步简化入门和快速启动流程,我们引入了重用 Kafka Connect 或...

还记得调试数据流管道就像在证据不断移动的犯罪现场玩侦探游戏吗?现在,拿起你的放大镜,因为我们将把你变成流媒体世界的夏洛克·福尔摩斯。在我们介绍了 Debezium 与 OpenLineage 的集成 后,是时候卷起袖子,深入进行一些真正的侦探工作了。我们将构建一个完整的订单处理管道,使用 Debezium 捕获数据库更改,通过 Apache Flink 处理它们,并使用 OpenLineageMarquez 跟踪每一条数据血缘信息——因为丢失数据就像丢失钥匙,在生产环境中只会更令人尴尬。

案例定义

在此次展示中,我们演示了如何利用血缘元数据来排除数据管道中的问题。我们的电子商务订单处理管道,尽管简单,但有效地说明了血缘元数据在操作监控和调试方面的优势。我们将模拟 Debezium 连接器中的配置更改,该更改导致订单处理作业跳过记录。使用血缘图,我们将遍历管道组件以确定问题的根本原因,并了解元数据跟踪如何实现更快的故障排除。

如今的数据格局与过去集中式数据库和简单 ETL 流程已大不相同。当今的组织在多样化的数据源、实时流处理、微服务架构和多云部署的环境中运行。最初从运营系统到报告数据库的简单数据流,已经演变成复杂的互联管道、转换和依赖网络。从 ETL 到 ELT 模式的转变、数据湖的采用以及 Apache Kafka 等流媒体平台的普及,为数据处理带来了前所未有的灵活性。然而,这种灵活性也付出了代价:理解数据如何在这些系统中移动、转换和演变变得越来越具挑战性。

理解数据血缘

数据血缘是指跟踪数据从源头到最终目的地的流动和转换的过程。它本质上映射了数据的“生命周期”,显示了它的来源、如何被改变以及它在数据管道中的去向。这包括记录数据在其旅程中经历的所有转换、连接、拆分和其他操作。

其核心在于,数据血缘回答了关键问题:这些数据来自哪里?它们经历了哪些转换?哪些下游系统依赖于它?当问题出现时,团队应该将调查重点放在哪里?

欢迎阅读我们关于 Debezium 信号和通知系列的第三篇文章。在本文中,我们将继续探索 Debezium 信号和通知。特别是,我们将深入探讨如何使用 JMX 通道启用和管理这些功能。

我们还将探讨如何通过利用 Jolokia 的 REST API 发送信号和获取通知。

欢迎来到这个关于 Debezium 信号和通知系列文章!本文是该系列的第一个篇章,我们将介绍 Debezium 提供的信号和通知功能,并讨论与平台交互的可用通道。

在后续的文章中,我们将深入探讨自定义信号通道,并探索 JMX 信号和通知等其他主题。

Debezium 的一个典型用例是使用变更数据捕获将一个遗留系统与组织中的其他系统集成。有多种方法可以实现此目标

  • 使用 Debezium 将数据写入 Kafka,然后通过 Kafka Streams 流水线和 Kafka Connect 连接器的组合将变更传递到其他系统

  • 在 Java 独立应用程序中使用Debezium Embedded engine,并使用纯 Java 编写集成代码;这通常用于将变更事件发送到其他消息基础设施,例如 Amazon Kinesis、Google Pub/Sub 等。

  • 使用现有的集成框架或服务总线来表达流水线逻辑

本文重点介绍第三种选择——专用的集成框架。

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×