关于mysql:4-款-MySQL-Binlog-日志处理工具对比

10次阅读

共计 1431 个字符,预计需要花费 4 分钟才能阅读完成。

Canal

定位:基于数据库增量日志解析,提供增量数据订阅 & 生产,目前次要反对了 mysql。

原理:

  • canal 模仿 mysql slave 的交互协定,假装本人为 mysql slave,向 mysql master 发送 dump 协定

  • mysql master 收到 dump 申请,开始推送 binary log 给 slave(也就是 canal)

  • canal 解析 binary log 对象 (原始为 byte 流)

整个 parser 过程大抵可分为几步:

  • Connection 获取上一次解析胜利的地位(如果第一次启动,则获取初始制订的地位或者是以后数据库的 binlog 位点)

  • Connection 建设连贯,产生 BINLOG\_DUMP 命令

  • Mysql 开始推送 Binary Log

  • 接管到的 Binary Log 通过 Binlog parser 进行协定解析,补充一些特定信息

  • 传递给 EventSink 模块进行数据存储,是一个阻塞操作,直到存储胜利

  • 存储胜利后,定时记录 Binary Log 地位

  • 数据过滤:反对通配符的过滤模式,表名,字段内容等

  • 数据路由 / 散发:解决 1:n (1 个 parser 对应多个 store 的模式)

  • 数据归并:解决 n:1 (多个 parser 对应 1 个 store)

  • 数据加工:在进入 store 之前进行额定的解决,比方 join

Maxwell

canal 由 Java 开发,分为服务端和客户端,领有泛滥的衍生利用,性能稳固,功能强大;canal 须要本人编写客户端来生产 canal 解析到的数据。

maxwell 绝对于 canal 的劣势是应用简略,它间接将数据变更输入为 json 字符串,不须要再编写客户端。

Databus

Databus 是一种低提早变动捕捉零碎,已成为 LinkedIn 数据处理管道不可或缺的一部分。Databus 解决了牢靠捕捉,流动和解决次要数据更改的根本要求。Databus 提供以下性能:

  • 源与消费者之间的隔离

  • 保障按程序和至多一次交付具备高可用性

  • 从更改流中的任意工夫点开始耗费,包含整个数据的齐全疏导性能。

  • 分区生产

  • 源一致性保留

阿里云的数据传输服务 DTS

数据传输服务(Data Transmission Service,简称 DTS)是阿里云提供的一种反对 RDBMS(关系型数据库)、NoSQL、OLAP 等多种数据源之间数据交互的数据流服务。DTS 提供了数据迁徙、实时数据订阅及数据实时同步等多种数据传输能力,可实现不停服数据迁徙、数据异地灾备、异地多活 (单元化)、跨境数据同步、实时数据仓库、查问报表分流、缓存更新、异步音讯告诉等多种业务利用场景,助您构建高平安、可扩大、高可用的数据架构。

劣势

数据传输(Data Transmission)服务 DTS 反对 RDBMS、NoSQL、OLAP 等多种数据源间的数据传输。它提供了数据迁徙、实时数据订阅及数据实时同步等多种数据传输方式。绝对于第三方数据流工具,数据传输服务 DTS 提供更丰盛多样、高性能、高安全可靠的传输链路,同时它提供了诸多便当性能,极大得不便了传输链路的创立及治理。

集体了解:就是一个音讯队列,会给你推送它包装过的 sql 对象,能够本人做个服务去解析这些 sql 对象。

免去部署保护的低廉应用老本。DTS 针对阿里云 RDS(在线关系型数据库)、DRDS 等产品进行了适配,解决了 Binlog 日志回收,主备切换、VPC 网络切换等场景下的订阅高可用问题。同时,针对 RDS 进行了针对性的性能优化。出于稳定性、性能及老本的思考,举荐应用。

原文:https://blog.csdn.net/weixin_…

正文完
 0