点击关注公众号,Java干货及时送达

来源:blog.csdn.net/weixin_38071106/article/details/88547660

  • Canal

  • Maxwell

  • Databus

  • 阿里云的数据传输服务DTS


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进行了针对性的性能优化。出于稳定性、性能及成本的考虑,推荐使用。

热门内容:道友自诉:入职中软一个月(外包华为)就离职了!
23 种设计模式的通俗解释,看完秒懂
token多平台身份认证架构设计思路
最近 GitHub 访问很慢?
好家伙!JDK16 GA 终于发布,内置 Lombok 的功能,真的顶?
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

对比 MySQL 的 Binlog 日志处理工具相关推荐

  1. MySQL 的 Binlog 日志处理工具(Canal/Maxwell/Databus/DTS)对比

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Canal 定位:基于数据库增量日志解析,提供增量数据订阅 ...

  2. 记录:mysql的binlog日志开启与数据恢复

    1.测试使用mysql版本: mysql-5.6.43 2.以下为方便学习所以做了记录,除了第一部分是我自己的环境配置,第二部分大家可参考一下博文. <平头哥的技术博文>平头哥的技术博文 ...

  3. Mysql基于binlog日志恢复数据

    Mysql基于binlog日志恢复数据 1.Linux安装mysql https://blog.csdn.net/qq_44981526/article/details/126717005 可能遇到的 ...

  4. mysql slow log损坏_06 : mysql 的 binlog 日志 和slow慢日志 详解

    mysql 的 binlog 日志 和slow慢日志 详解 mysql一般常用的日志有三种: 1:error错误日志 2: binlog日志 3:slow日志 下面将详细解释这三种日志: 1.错误日志 ...

  5. MySQL二进制binlog日志说明以及利用binlog日志恢复数据

    MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...

  6. Mysql清理binlog日志

    1.查看binlog日志 mysql> show binary logs;+------------------+------------+ | Log_name | File_size | + ...

  7. 数据采集之解析Mysql的binlog日志发送至Kafka实时消费(转:https://blog.csdn.net/liguohuabigdata/article/details/79472777)

    本文采用Maxwell来实现实时解析mysql的binlog日志发送至kafka 1.开启mysql binlog 环境中mysql是docker容器,所以需要进入容器修改mysql配置.docker ...

  8. mysql通过binlog日志来恢复数据

    简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...

  9. 数据库-优化-mysql慢查日志分析工具-mysqldumpslow介绍及用法

    MySQL慢查日志分析工具(mysqldumpslow) 1.介绍 如何进行查看慢查询日志,如果开启了慢查询日志,就会生成很多的数据,然后我们就可以通过对日志的分析,生成分析报表,然后通过报表进行优化 ...

最新文章

  1. inline-block空隙怎么解决
  2. 核酸和CT同时用, 听谁的?——兼释一天新增一万多
  3. shell 字符串操作(长度,查找,替换)详解
  4. 浅谈对5G核心网演进方向的几点展望
  5. 中希尔排序例题代码_【数据结构与算法】这或许是东半球分析十大排序算法最好的一篇文章...
  6. sql net message from client
  7. Pure-Ftp:基于虚拟账号的FTP服务器
  8. 鸿蒙系统当贝市场,鸿蒙os2.0系统怎么安装?ota即可!能与当贝d3x投影仪大屏玩?...
  9. 几何畸变的类型_第七讲 几何纠正(摄影测量与遥感).pdf
  10. Pandas文件读取详解
  11. 6 云计算系列之Nova安装与配置
  12. 空值的日期类型和update 中的null
  13. 3.凤凰架构:构建可靠的大型分布式系统 --- 事务处理
  14. 《操作系统真象还原》——0.17 先有的语言,还是先有的编译器,第1个编译器是怎么产生的...
  15. 给视频翻译字幕可以用哪些软件?
  16. 锁定计算机和睡眠有什么区别,电脑休眠和睡眠哪个好?电脑计算机睡眠和休眠有什么区别...
  17. HTTP ERROR 404 Problem accessing /hwi/authorize.jsp. Reason: HWI HIVE
  18. 如何在mac下安装win7
  19. 归因分析笔记13 特征重要度正确性的验证
  20. 2017电大形考 计算机应用基础6,2015-电大形考-计算机应用基础---Windows-7操作系统---客观题(答案)27689...

热门文章

  1. 2018/8/26 PSO-based Clustering Techniques to Solve Multimodal Optimization Problems: A Survey
  2. 代码示例_网络编程_select
  3. Login failed for user 'NT AUTHORITY\SYSTEM'. 原因: 无法打开明确指定的数据库。异常处理...
  4. BZOJ1901Zju2112 Dynamic Rankings——树状数组套主席树
  5. linux安装配置postgres及使用dblink
  6. Qt5的cmake文件位置
  7. MySQL_数据库操作语句
  8. IOS tableView删除数据
  9. 用PULL解析器解析XML文件
  10. 数据库之子查询四(多重,表复制)