暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术实现 | Apache Doris Binlog 导入设计与实现

ApacheDoris 2022-08-13
564




Binlog 导入是通过获取并解析 Mysql 数据库的 Binlog 日志,增量同步用户在Mysql 数据库的所有更新操作,为 Doris 提供了一种对接 Mysql 数据库的 CDC(Change Data Capture) 功能。

Binlog 导入已在 0.15 版本发布,本文主要介绍的是 Binlog 导入的总体设计与实现思路。



作者百度 PALO 徐洋


   总体架构


Binlog 导入目前需要依赖canal作为中间媒介,让 canal 伪造成一个从节点去获取 Mysql 主节点上的 Binlog 并解析,再由 Doris 去获取 canal 上解析好的数据。


后续 Binlog 导入可支持除了 canal 外的不同数据源。


总体数据流向为:



   多表导入


Binlog 导入的特点是可支持在一个数据同步作业里同步多张 Mysql 源表,用户可通过如下语法创建数据同步作业。


    sql> CREATE SYNC `test_db`.`job1`
    (
    FROM `mysql_db1`.`tbl1` INTO `test_tbl1 `,
    FROM `mysql_db1`.`tbl2` INTO `test_tbl2 `,
    FROM `mysql_db1`.`tbl3` INTO `test_tbl3 `
    )
    FROM BINLOG
    (
    "type" = "canal",
    "canal.server.ip" = "127.0.0.1",
    "canal.server.port" = "11111",
    "canal.destination" = "example",
    "canal.username" = "",
    "canal.password" = ""
    );


    文章转载自ApacheDoris,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论