美文网首页程序员想法读书
数据增量收集CDC系统应用场景分析以及Canal应用步骤

数据增量收集CDC系统应用场景分析以及Canal应用步骤

作者: 皮皮杂谈 | 来源:发表于2019-05-02 00:02 被阅读3次

    很多应用场景下,除了收集数据库全量数据外,还希望只获取增量数据。例如,MySQL某个表从某个时刻开始修改、插入或删除的数据。在这种情况下,CDC(Change

    Data Capture)系统应运而生。本文将介绍数据增量收集CDC系统应用场景分析以及Canal应用步骤。

    CDC系统主要功能是捕获数据库中的数据更新,将增量数据发送给各个订阅者和消费者。CDC系统应用非常广泛,具体应用场景可描述为如下图所示:

    CDC应用场景

    应用场景主要包括:

    (1)异地机房同步。实现数据异地机房容灾。

    (2)数据库实时备份。类似于master/slave架构,实时对数据库进行备份。

    (3)业务Cache刷新。更新数据库成功的同时,刷新Cache的值。

    (4)数据全库迁移。创建任务对列表,逐步完成全库所有表的迁移。

    CDC系统开源实现的典型系统是Canal。Canal的主要定位是基于数据库增量日志解析,提供增量数据订阅和消费,目前主要支持了MySQL关系数据库。

    Canal的主要原理是,模拟数据库的主备复制协议,接收主数据库产生的binary log,进而捕获更新数据,以MySQL为例说明,具体步骤如下:

    步骤1:Canal实现MySQL主备复制协议,向MySQL Server发送dump协议。

    步骤2:MySQL收到dump请求,开始推送binlog给Canal。

    步骤3:Canal解析binlog对象,并发送给各个消费者。

    相关文章

      网友评论

        本文标题:数据增量收集CDC系统应用场景分析以及Canal应用步骤

        本文链接:https://www.haomeiwen.com/subject/otxinqtx.html