MySQL異構資料同步–tair為例
在實現levelDB掛載成MySQL引擎時,發現在實際儲存是key-value格式時候,MySQL的異構資料同步,可以更簡單和更通用。
以tair為例,簡要描述一下以MySQL為基礎的一種方案。
所謂異構資料同步,是指應用只更新MySQL,而由後端的某些機制將這些更新應用到其他資料儲存服務上。
1、MySQL-Tair 引擎
a) 使用
b) 說明
這不是一個“儲存引擎”,實際上資料儲存在tair伺服器上。執行insert/update/delete時,只是將對應的動作put /remove到tair伺服器。當然這個過程對使用者是透明的。
2、MySQL-Tair 引擎怎麼用於更新tair資料
首先,資料更新有兩種方式,同步更新和非同步更新。
a) 非同步更新
先說非同步更新。這個類似“讀binlog來更新資料”的方案。如果使用MySQL-Tair引擎,結構可以如下:
說明:tair表只存在Slave上,與主庫上要更新的表同名。
完備性:以現在主庫都是row格式的binglog結構為背景,這裡Slave上收到的都會是這個更新的完整行資訊,從中取出需要的key和value即可。
b) 同步更新
同步更新的意思,是應用端更新MySQL, 在MySQL和tair同時更新完成後,MySQL才返回使用者更新成功。
這種模式更像將tair作為MySQL的網路級別快取服務。當然應用在讀取的時候可以繞過MySQL直接訪問tair,則只是作為一種更新方案。
這種模式能夠讓更新後的下一次訪問直接命中tair中的快取資料。非同步則無法保證。
結構如下:
說明:這裡實體資料表與tair表在同一個資料庫,表結構相同,引擎不同。應用還是更新資料表,用觸發器觸發相同的語句更新tair表。
完備性:同樣的,觸發器會得到這個更新的新行全值。
3、MySQL同步的優點
這種有以下優勢,即使只考慮非同步更新模式:
a) 不需要自己模擬一個MySQL的從庫、不需要維護連線(MySQL自帶)
b) 不需要解析binlog(什麼時候binlog切換都要關心,要做的事情太多)
c) 更方便的監控。MySQL現有的監控介面,直接得到tps、延遲時間,同步點。
d) 更方便的管理。如果主庫掛了,一個Change master命令即可;想暫時停更新,stop slave、start slave。
e) 更方便的擴充套件。 直接利用MySQL的級聯主從。
當然還有讀binlog方案無法實現的同步選擇。
4、其他
不限於tair,只是舉例。
如果後端是一個可靠儲存,如TFS,則可以當作一個儲存表來使用,讀寫都是SQL介面。與直接更新TFS有什麼區別?簡單說一個,可以直接跟MySQL裡的實體表做join。
相關文章
- MySQL 拼接Insert批量同步異構表資料MySql
- 異構資料來源同步之資料同步 → DataX 使用細節
- 異構資料來源同步之資料同步 → datax 改造,有點意思
- Oracle GoldenGate 異構平臺同步(Mysql到Oracle)OracleGoMySql
- clickhouse 同步mysql資料MySql
- ogg在異構資料庫實時雙向同步中如何防止資料死迴圈同步資料庫
- Mysql主主同步-配置資料同步MySql
- EOS 區塊鏈資料實時異構到 MySQL區塊鏈MySql
- Linux下配置ORACLE-MYSQL 資料庫異構LinuxOracleMySql資料庫
- 異源資料同步 → 如何獲取 DataX 已同步資料量?
- 異構資料來源同步之表結構同步 → 透過 jdbc 實現,沒那麼簡單JDBC
- MySQL 資料主從同步MySql主從同步
- clickhouse-mysql資料同步MySql
- mysql資料同步至redisMySqlRedis
- 異構資料來源資料同步 → 從原始碼分析 DataX 敏感資訊的加解密原始碼解密
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- 從 SQL Server 到 MySQL (一):異構資料庫遷移ServerMySql資料庫
- 摩杜雲資料庫MySQL,破解異構資料庫遷移難題資料庫MySql
- 關於異地資料同步的方案
- TiDB 作為 MySQL Slave 實現實時資料同步TiDBMySql
- 資料庫重構之路,以 OrientDB 到 NebulaGraph 為例資料庫
- Mysql和Redis資料同步策略MySqlRedis
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- 設定 MySql 資料同步(轉)MySql
- 異構資料庫訪問資料庫
- Golang 針對 MySQL 資料庫表結構的差異 SQL 工具GolangMySql資料庫
- wdcp環境innodb結構mysql資料庫表異常需要重建MySql資料庫
- 異構資料庫的關聯查詢 oracle hsodbc 關聯mysql資料庫OracleMySql
- 在Linux異構網路中備份MYSQL資料庫(轉)LinuxMySql資料庫
- 資料同步:教你如何實時把資料從 MySQL 同步到 OceanBaseMySql
- Mysql資料實時同步實踐MySql
- FlinkCDCSQL資料同步mysql->clickhouseMySql
- Apache NIFI離線同步MySQL資料ApacheNifiMySql
- 異構資料庫之間資料作業資料庫
- mysql資料庫-資料結構MySql資料庫資料結構
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- DTCC 乾貨 | 中國銀聯跨中心,異構資料同步技術與實踐
- 活動回放 | 如何進行全增量一體的異構資料庫實時同步資料庫