最高级的和最没有侵入性的CDC方法是基于日志的方式。数据库会把每个插入、更新、删除操作记录到日志里。
Mysql提供了一个可以读取日志的工具:mysqlbinlog。这个工具可以把二进制的日志格式转换为人可以阅读的格式,然后把这种格式转换到文本文件里。mysqlbinlog里有几个选项,其中最重要的一个选项时可以设置开始/截止时间戳,这样可以只从日志里截取一段时间的日志。另外,日志里的每一项都有一个序列号,可以用来做偏移操作。Mysql的日志提供了上述两种方式来防止CDC过程发生重复和丢失数据的情况。
把mysqlbinlog输出写到文本文件后,我们就可以解析和读取这个文件,可以使用Kettle步骤来读取文件内容,并执行相应语句。
使用基于数据库的日志工具也有缺陷,即只能用来处理一种特定的数据库。
Kettle基于日志的CDC
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子...
- 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...