【Canal源码分析】TableMetaTSDB
生活随笔
收集整理的這篇文章主要介紹了
【Canal源码分析】TableMetaTSDB
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
這是Canal在新版本引入的一個內容,主要是為了解決由于歷史的DDL導致表結構與現有表結構不一致,導致的同步失敗的問題。采用的是Druid和Fastsql,來記錄表結構到DB中,如果需要進行回滾時,得從DB中根據時間點去查到對應的庫表結構,然后進行業務的處理。也就是,如果我們想要這樣的效果,需要開啟TSDB的功能,同時要新增庫表來記錄表結構的變更。
這個基本上是在parser啟動時,尋找位點時需要的。當然在系統啟動的時候,會將庫表的信息寫入到DB中,然后定時24小時寫入一次。另外就是在發生了DDL時,會更新表結構。
我們來看下他的類圖。
一張表記錄的是表結構,加上了時間,另一張記錄的是當時的DDL語句。在進行回溯的時候,直接根據時間戳和binlog文件名來進行尋找即可找到。當然這些數據也會在內存中保存一份,加快速度。
具體的介紹可以見這個鏈接https://github.com/alibaba/canal/wiki/TableMetaTSDB。
轉載于:https://my.oschina.net/nuaazhaofeng/blog/1821761
總結
以上是生活随笔為你收集整理的【Canal源码分析】TableMetaTSDB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Yum下载慢 的问题
- 下一篇: Java程序员:这是一个最好的时代,也是