当前位置: 首页 > Linux

4款MySQLBinlog日志处理工具对比

时间:2023-04-06 22:43:30 Linux

Canal定位:基于数据库增量日志分析,提供增量数据订阅消费,目前主要支持mysql。原理:canal模拟mysqlslave的交互协议,伪装成mysqlslave,向mysqlmaster发送dump协议。mysqlmaster收到dump请求,开始pushbinarylog给slave(也就是canal)。Canal解析二进制日志对象(本来是字节流)整个解析过程大致可以分为几个步骤:currentdatabase)Connection建立连接,出现BINLOG\_DUMP命令Mysql开始推送BinaryLog。接收到的BinaryLog通过Binlog解析器进行解析,将一些特定的信息添加到EventSink模块中进行数据存储。一直是阻塞操作,直到存储成功,定期记录BinaryLog位置。数据过滤:支持Wildcard过滤方式,表名,字段内容等数据路由/分发:解决1:n(一个parser对应多个store模式)数据合并:解决n:1(多个parser对应一个store)数据处理:在进入商店之前执行附加处理。比如joinMaxwell运河,是Java开发的,分为server和client。拥有众多衍生应用,性能稳定,功能强大;canal需要自己写客户端来消费canal解析出来的数据。maxwell相对于canal的优势在于简单易用,直接将数据变化输出为json字符串,不需要写客户端。DatabusDatabus是一个低延迟的变更捕获系统,已成为LinkedIn数据处理管道不可或缺的一部分。Databus解决了可靠地捕获、流式传输和处理主要数据变化的基本要求。Databus提供以下功能:源和消费者之间的隔离保证按顺序和至少一次交付,具有高可用性从更改流中的任何时间点消费,包括整个数据的完全引导。分区消费源一致性保存阿里云数据传输服务DTS数据传输服务(DataTransmissionService,简称DTS)是阿里云提供的支持RDBMS(关系型数据库)、NoSQL、OLAP等多种数据源的数据传输服务。交互式数据流服务。DTS提供数据迁移、实时数据订阅、实时数据同步等多种数据传输能力,可实现不间断数据迁移、数据异地容灾、异地多活(单元化))、跨境数据同步、实时数仓、查询报表分发、缓存更新、异步消息通知等多种业务应用场景,助您构建高安全、可扩展、高可用的数据架构。优势数据传输服务DTS支持RDBMS、NoSQL、OLAP等数据源之间的数据传输。提供数据迁移、实时数据订阅、实时数据同步等多种数据传输方式。与第三方数据流工具相比,数据传输服务DTS提供了更加多样化、高性能、高安全可靠的传输链路。同时,它提供了许多方便的功能,极大地方便了传输链路的创建和管理。个人理解:就是一个消息队列,它会把它包裹的sql对象推送给你,你可以自己做一个服务来解析这些sql对象。消除昂贵的部署和维护使用成本。DTS适配阿里云RDS(在线关系型数据库)、DRDS等产品,解决Binlog日志回收、主备切换、VPC网络切换等场景的订阅高可用问题。同时,针对RDS进行了针对性的性能优化。出于稳定性、性能和成本的考虑,推荐使用。原文:https://blog.csdn.net/weixin_...