您好,登錄后才能下訂單哦!
本篇文章為大家展示了Binlog 日志處理工具如何在MySQL中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
定位:基于數據庫增量日志解析,提供增量數據訂閱&消費,目前主要支持了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
canal 由Java開發,分為服務端和客戶端,擁有眾多的衍生應用,性能穩定,功能強大;canal 需要自己編寫客戶端來消費canal解析到的數據。
maxwell相對于canal的優勢是使用簡單,它直接將數據變更輸出為json字符串,不需要再編寫客戶端。
Databus是一種低延遲變化捕獲系統,已成為LinkedIn數據處理管道不可或缺的一部分。Databus解決了可靠捕獲,流動和處理主要數據更改的基本要求。Databus提供以下功能:
源與消費者之間的隔離
保證按順序和至少一次交付具有高可用性
從更改流中的任意時間點開始消耗,包括整個數據的完全引導功能。
分區消費
源一致性保存
數據傳輸服務(Data Transmission Service,簡稱DTS)是阿里云提供的一種支持 RDBMS(關系型數據庫)、NoSQL、OLAP 等多種數據源之間數據交互的數據流服務。DTS提供了數據遷移、實時數據訂閱及數據實時同步等多種數據傳輸能力,可實現不停服數據遷移、數據異地災備、異地多活(單元化)、跨境數據同步、實時數據倉庫、查詢報表分流、緩存更新、異步消息通知等多種業務應用場景,助您構建高安全、可擴展、高可用的數據架構。
優勢:數據傳輸(Data Transmission)服務 DTS 支持 RDBMS、NoSQL、OLAP 等多種數據源間的數據傳輸。它提供了數據遷移、實時數據訂閱及數據實時同步等多種數據傳輸方式。相對于第三方數據流工具,數據傳輸服務 DTS 提供更豐富多樣、高性能、高安全可靠的傳輸鏈路,同時它提供了諸多便利功能,極大得方便了傳輸鏈路的創建及管理。
上述內容就是Binlog 日志處理工具如何在MySQL中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。