數據異構


數據異構指的是把數據按照需要異地構建存儲。

其中一個應用場景是分庫分表的時候。假如已經按照某個維度做了分庫分表,新來一個需求,需要按照另外一個維度做分庫分表,這個時候就需要數據異構了。

數據異構主要有兩種方式,binlog方式和mq方式。binlog方式是指訂閱mysql的binlog日志,解析這些日志,重構數據然后寫到新的數據庫或者其他存儲,如kafka、es中。常用的binlog訂閱組件是canal,由阿里開源。mq方式是指在數據寫入數據庫時,同時雙寫至mq中。

mysql主從復制原理:

1、mysql master將改變記錄到二進制文件中(binary log,俗稱binlog)

2、mysql slave從master拉取binlog至自己的中繼日志中(relay log)

3、slave重做中繼日志中的事件,將改變落實到自己的數據上

canal原理:

canal把自己偽裝成一個mysql slave。

參考https://www.jianshu.com/p/99d1762b2fda


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM