- 博客(91)
- 收藏
- 关注
原创 Debezium Schema History Recovery 机制详解
在 Debezium 中,准确地恢复和维护数据库的 schema 历史记录对于确保数据捕获的正确性至关重要。本文将详细介绍 Debezium 如何实现这一机制.
2025-01-30 20:55:04
1495
原创 Debezium EmbeddedEngine 设计文档
EmbeddedEngine的设计展现了优秀的软件工程实践,通过清晰的职责划分、灵活的扩展机制和可靠的数据处理保证,为构建高质量的变更数据捕获系统提供了强大的支持。其模块化的设计和优雅的实现值得学习和借鉴。
2025-01-26 20:19:01
821
原创 SCN跳变处理设计文档
本文档描述了Oracle LogMiner连接器中SCN(系统变更号)跳变处理机制的设计和实现。该系统旨在处理大规模SCN跳变,同时确保数据一致性并提供灵活的处理策略。
2025-01-20 23:33:14
979
原创 Oracle SCN 分析
SCN (System Change Number) 是 Oracle 数据库中的一个逻辑时间戳,它具有以下特点:- 单调递增- 全局唯一- 用于标识数据库变更的时间点
2025-01-19 20:23:53
980
原创 通过心跳日志精确定位Java应用性能卡点的实践指南
如何通过心跳日志机制来精确定位Java应用程序中的性能卡点和任务阻塞问题,包含完整的实践方案和代码示例
2025-01-19 20:10:35
982
原创 LogMinerStreamingChangeEventSource#calculateEndScn方法分析
calculateEndScn 方法用于计算 LogMiner 会话的结束 SCN。这是一个关键方法,它需要在保证数据完整性的同时,实现高效的数据捕获。
2025-01-19 10:55:15
922
原创 LogMinerStreamingChangeEventSource Execute方法分析
LogMinerStreamingChangeEventSource的execute方法是Oracle CDC的核心实现,负责从Oracle日志中读取变更并转换为事件。
2025-01-19 10:32:30
801
原创 Oracle Connector 事务处理流程设计
1. **大事务重复采集**:重启时从最早未提交事务SCN开始,导致重复采集2. **长事务占用内存**:未提交事务长期占用内存3. **SCN跳变性能**:固定步长导致无效查询
2025-01-12 21:10:41
905
2
原创 Debezium Oracle LogMiner 优化设计方案
Debezium Oracle Connector 在使用 LogMiner 读取归档日志时,存在以下问题:- 重启时总是从最早未提交事务的 SCN 开始读取- 如果存在长时间未提交的事务,会导致大量重复读取和过滤- 影响系统性能和资源利用率
2025-01-08 21:13:39
991
原创 BatchEventProcessor 设计文档
BatchEventProcessor 是 Debezium MySQL Connector 中的一个关键组件,负责高效地处理 MySQL binlog 事件。它采用了环形缓冲区和对象池化等技术来优化性能,同时保证事件处理的顺序性和可靠性。
2025-01-05 22:49:49
886
原创 MySqlStreamingChangeEventSource深入分析
MySqlStreamingChangeEventSource是Debezium中实现MySQL变更数据捕获(CDC)的核心类。它负责连接MySQL、读取binlog、解析事件并将变更转换为Debezium的事件格式。本文将深入分析其实现原理和核心流程。
2025-01-05 22:12:46
906
原创 Debezium MySQL监听器DDL解析原理详解
在数据库变更数据捕获(CDC)领域,Debezium是一个强大的开源工具。它的MySQL连接器不仅能捕获DML操作,还能准确解析和处理DDL语句。本文将深入分析Debezium是如何基于ANTLR实现MySQL DDL解析的,并以`AlterTableParserListener`为例进行详细说明。
2024-12-27 21:21:14
1030
原创 EmbeddedEngine类设计分析
EmbeddedEngine是Debezium的嵌入式引擎实现,它允许在应用程序进程内运行单个Kafka Connect的SourceConnector。这是一个完全独立的连接器,只与源系统通信,不需要Kafka、Kafka Connect或Zookeeper进程。
2024-12-27 21:06:27
989
原创 Debezium源码解析:MySqlDatabaseSchema详细剖析
`MySqlDatabaseSchema` 类是 Debezium MySQL 连接器中的核心组件,主要负责:1. 管理和追踪 MySQL 数据库的表结构(schema)变化2. 解析和处理 DDL 语句3. 维护数据库表的历史记录4. 为 Kafka Connect 生成相应的 Schema
2024-12-22 20:50:05
1033
原创 LogMinerStreamingChangeEventSource 流程分析
LogMinerStreamingChangeEventSource 流程分析
2024-12-20 17:00:00
627
原创 MySqlConnectorTask类设计分析
MySqlConnectorTask是Debezium MySQL连接器的核心任务类,负责管理MySQL数据库变更的捕获和处理流程。它实现了Kafka Connect的Task接口,作为连接器和Kafka之间的桥梁。
2024-12-20 11:00:00
662
原创 LogMinerAdapter类设计分析
LogMinerAdapter是Oracle连接器中的一个核心适配器类,它负责与Oracle LogMiner进行交互,实现变更数据捕获(CDC)的功能。
2024-12-20 06:45:00
429
原创 MemoryLogMinerEventProcessor类设计分析:高效的事件处理器实现
`MemoryLogMinerEventProcessor`是Debezium Oracle连接器中的一个关键组件,它负责处理Oracle LogMiner生成的事件。这个类使用JVM堆内存来存储和处理事件,是一个内存高效的事件处理器实现。
2024-12-19 19:52:43
497
原创 Oracle Events包设计分析:优雅的事件处理系统
Oracle Events包(`io.debezium.connector.oracle.logminer.events`)是Debezium Oracle连接器中的核心组件之一,负责处理和表示Oracle LogMiner产生的各种事件。该包采用了优雅的面向对象设计,实现了一个灵活且可扩展的事件处理系统。
2024-12-19 19:44:38
500
原创 LogMinerDmlParser类设计分析:一个优雅的SQL解析器实现
`LogMinerDmlParser`类的主要职责是:- 解析Oracle LogMiner生成的DML语句(INSERT、UPDATE、DELETE)- 将解析结果转换为标准的`LogMinerDmlEntry`对象- 处理特殊数据类型(如DATE和TIMESTAMP)的解析
2024-12-19 19:38:35
1371
原创 JdbcConnection类设计分析
`JdbcConnection`是一个用于简化JDBC连接和事务执行的工具类。它提供了一系列方便的方法来处理数据库连接、执行SQL语句、管理事务等操作。
2024-12-17 19:25:54
771
原创 ChangeEventSourceCoordinator 设计分析
ChangeEventSourceCoordinator 是 Debezium 中的一个核心协调器类,主要负责:1. **事件源协调** - 管理和协调多个事件源的执行 - 按照特定顺序执行事件源 - 处理事件源之间的依赖关系2. **生命周期管理** - 启动和停止事件源 - 管理事件源的状态 - 处理异常情况3. **数据同步控制** - 快照(Snapshot)数据同步 - 流式(Streaming)数据同步 - 增量快照同步
2024-12-17 16:18:39
866
原创 Debezium EventDispatcher设计分析
EventDispatcher作为Debezium中的核心分发器,主要解决以下问题:1. 数据变更事件的统一处理和分发2. 模式变更事件的处理和数据库模式更新3. 保持系统连接的活跃性4. 事务完整性的保证5. 提供可扩展的事件处理机制
2024-12-17 15:30:38
1360
原创 Debezium Oracle连接器错误处理器设计分析
在分布式数据捕获(CDC)系统中,错误处理是一个非常关键的组件。本文将深入分析Debezium Oracle连接器中的错误处理器(OracleErrorHandler)的设计实现,探讨其如何优雅地处理各种数据库操作异常。
2024-12-17 15:05:01
918
原创 OracleDatabaseSchema设计分析
OracleDatabaseSchema 的主要职责是:1. **Schema管理** - 维护数据库表的结构信息 - 处理Schema变更事件 - 提供表结构查询接口2. **类型映射** - Oracle特有类型的处理 - 数据类型转换规则 - Schema版本控制3. **事件处理** - DDL事件处理 - Schema变更事件生成 - 历史记录维护
2024-12-16 17:25:07
1070
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人