溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL的Binlog日志處理工具有哪些

發(fā)布時(shí)間:2021-12-04 13:51:29 來(lái)源:億速云 閱讀:165 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“MySQL的Binlog日志處理工具有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“MySQL的Binlog日志處理工具有哪些”吧!

Canal

定位:基于數(shù)據(jù)庫(kù)增量日志解析,提供增量數(shù)據(jù)訂閱&消費(fèi),目前主要支持了mysql。

原理:

  • canal模擬mysql slave的交互協(xié)議,偽裝自己為mysql slave,向mysql master發(fā)送dump協(xié)議
  • mysql master收到dump請(qǐng)求,開(kāi)始推送binary log給slave(也就是canal)
  • canal解析binary log對(duì)象(原始為byte流)
MySQL的Binlog日志處理工具有哪些  
MySQL的Binlog日志處理工具有哪些  

整個(gè)parser過(guò)程大致可分為幾步:

  • Connection獲取上一次解析成功的位置(如果第一次啟動(dòng),則獲取初始制定的位置或者是當(dāng)前數(shù)據(jù)庫(kù)的binlog位點(diǎn))
  • Connection建立連接,發(fā)生BINLOG_DUMP命令
  • Mysql開(kāi)始推送Binary Log
  • 接收到的Binary Log通過(guò)Binlog parser進(jìn)行協(xié)議解析,補(bǔ)充一些特定信息
  • 傳遞給EventSink模塊進(jìn)行數(shù)據(jù)存儲(chǔ),是一個(gè)阻塞操作,直到存儲(chǔ)成功
  • 存儲(chǔ)成功后,定時(shí)記錄Binary Log位置
MySQL的Binlog日志處理工具有哪些  
  • 數(shù)據(jù)過(guò)濾:支持通配符的過(guò)濾模式,表名,字段內(nèi)容等
  • 數(shù)據(jù)路由/分發(fā):解決1:n (1個(gè)parser對(duì)應(yīng)多個(gè)store的模式)
  • 數(shù)據(jù)歸并:解決n:1 (多個(gè)parser對(duì)應(yīng)1個(gè)store)
  • 數(shù)據(jù)加工:在進(jìn)入store之前進(jìn)行額外的處理,比如join
 

Maxwell

MySQL的Binlog日志處理工具有哪些  

canal 由Java開(kāi)發(fā),分為服務(wù)端和客戶端,擁有眾多的衍生應(yīng)用,性能穩(wěn)定,功能強(qiáng)大;canal 需要自己編寫(xiě)客戶端來(lái)消費(fèi)canal解析到的數(shù)據(jù)。

maxwell相對(duì)于canal的優(yōu)勢(shì)是使用簡(jiǎn)單,它直接將數(shù)據(jù)變更輸出為json字符串,不需要再編寫(xiě)客戶端。

 

Databus

Databus是一種低延遲變化捕獲系統(tǒng),已成為L(zhǎng)inkedIn數(shù)據(jù)處理管道不可或缺的一部分。Databus解決了可靠捕獲,流動(dòng)和處理主要數(shù)據(jù)更改的基本要求。Databus提供以下功能:

  • 源與消費(fèi)者之間的隔離
  • 保證按順序和至少一次交付具有高可用性
  • 從更改流中的任意時(shí)間點(diǎn)開(kāi)始消耗,包括整個(gè)數(shù)據(jù)的完全引導(dǎo)功能。
  • 分區(qū)消費(fèi)
  • 源一致性保存
MySQL的Binlog日志處理工具有哪些    

阿里云的數(shù)據(jù)傳輸服務(wù)DTS

數(shù)據(jù)傳輸服務(wù)(Data Transmission Service,簡(jiǎn)稱DTS)是阿里云提供的一種支持 RDBMS(關(guān)系型數(shù)據(jù)庫(kù))、NoSQL、OLAP 等多種數(shù)據(jù)源之間數(shù)據(jù)交互的數(shù)據(jù)流服務(wù)。DTS提供了數(shù)據(jù)遷移、實(shí)時(shí)數(shù)據(jù)訂閱及數(shù)據(jù)實(shí)時(shí)同步等多種數(shù)據(jù)傳輸能力,可實(shí)現(xiàn)不停服數(shù)據(jù)遷移、數(shù)據(jù)異地災(zāi)備、異地多活(單元化)、跨境數(shù)據(jù)同步、實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)、查詢報(bào)表分流、緩存更新、異步消息通知等多種業(yè)務(wù)應(yīng)用場(chǎng)景,助您構(gòu)建高安全、可擴(kuò)展、高可用的數(shù)據(jù)架構(gòu)。

優(yōu)勢(shì):數(shù)據(jù)傳輸(Data Transmission)服務(wù) DTS 支持 RDBMS、NoSQL、OLAP 等多種數(shù)據(jù)源間的數(shù)據(jù)傳輸。它提供了數(shù)據(jù)遷移、實(shí)時(shí)數(shù)據(jù)訂閱及數(shù)據(jù)實(shí)時(shí)同步等多種數(shù)據(jù)傳輸方式。相對(duì)于第三方數(shù)據(jù)流工具,數(shù)據(jù)傳輸服務(wù) DTS 提供更豐富多樣、高性能、高安全可靠的傳輸鏈路,同時(shí)它提供了諸多便利功能,極大得方便了傳輸鏈路的創(chuàng)建及管理。

個(gè)人理解:就是一個(gè)消息隊(duì)列,會(huì)給你推送它包裝過(guò)的sql對(duì)象,可以自己做個(gè)服務(wù)去解析這些sql對(duì)象。

免去部署維護(hù)的昂貴使用成本。DTS針對(duì)阿里云RDS(在線關(guān)系型數(shù)據(jù)庫(kù))、DRDS等產(chǎn)品進(jìn)行了適配,解決了Binlog日志回收,主備切換、VPC網(wǎng)絡(luò)切換等場(chǎng)景下的訂閱高可用問(wèn)題。同時(shí),針對(duì)RDS進(jìn)行了針對(duì)性的性能優(yōu)化。出于穩(wěn)定性、性能及成本的考慮,推薦使用。

感謝各位的閱讀,以上就是“MySQL的Binlog日志處理工具有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)MySQL的Binlog日志處理工具有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI