400-638-8808
|
微信公眾號(hào)








穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無(wú)阻

協(xié)同辦公 資源管理

超大郵件 超級(jí)功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠

1.什么是數(shù)據(jù)遷移
數(shù)據(jù)遷移指的是將一批數(shù)據(jù)從同構(gòu)存儲(chǔ)系統(tǒng)(如MySQLA到MySQLB)或異構(gòu)存儲(chǔ)系統(tǒng)(如MySQL-MongoDB)間搬運(yùn)遷移。
最簡(jiǎn)單的數(shù)據(jù)遷移方式是通過(guò)腳本或定時(shí)任務(wù)將數(shù)據(jù)進(jìn)行搬運(yùn),亦或是通過(guò)類似canal之類的工具進(jìn)行數(shù)據(jù)同步。
這種最簡(jiǎn)單方案在數(shù)據(jù)量小且系統(tǒng)對(duì)數(shù)據(jù)一致性要求低的情況下可以良好生效,但是對(duì)于大數(shù)據(jù)量的實(shí)時(shí)在線系統(tǒng)來(lái)講,需要在數(shù)據(jù)遷移的過(guò)程中做好以下三個(gè)保障:
在線遷移:遷移應(yīng)該是在線的遷移,也就是在遷移的同時(shí)還會(huì)有數(shù)據(jù)的寫入
數(shù)據(jù)一致性:數(shù)據(jù)應(yīng)該保證完整性,也就是說(shuō)在遷移之后需要保證新的庫(kù)和舊的庫(kù)的數(shù)據(jù)是一致的
可回滾:遷移的過(guò)程需要做到可以回滾,這樣一旦遷移的過(guò)程中出現(xiàn)問(wèn)題,可以立刻回滾到源庫(kù)不會(huì)對(duì)系統(tǒng)的可用性造成影響
2.數(shù)據(jù)雙寫遷移方案
數(shù)據(jù)雙寫遷移是最常用的一種數(shù)據(jù)遷移方案,可以保證遷移過(guò)程是在線的、遷移前后數(shù)據(jù)是一致的、遷移過(guò)程是可回滾的。數(shù)據(jù)雙寫遷移方案分為五大步,分別是:同步、雙寫、校驗(yàn)、切讀、切寫。以MySQL數(shù)據(jù)遷移至MongoDB為例來(lái)說(shuō)明這五大步的流程。
2.1.同步
首先通過(guò)Binlog監(jiān)聽工具(如Canal)獲取MySQL的全量日志及增量日志,并且不斷寫入MongoDB:

2.2.雙寫
在進(jìn)行了同步操作之后,此時(shí)MongoDB中數(shù)據(jù)已經(jīng)幾乎和MySQL一致,但是此時(shí)并不能直接將讀寫操作切換到MongoDB中,因?yàn)樵谇袚Q的這個(gè)過(guò)程中會(huì)出現(xiàn)數(shù)據(jù)不一致,此時(shí)就需要雙寫。
所謂雙寫其實(shí)就是在程序中寫入MySQL時(shí),也將這份數(shù)據(jù)轉(zhuǎn)換格式并同時(shí)寫入MongoDB,為了不影響接口寫入的pct99時(shí)間,可以將對(duì)MongoDB的寫入進(jìn)行異步化,對(duì)于寫入失敗的數(shù)據(jù)再定時(shí)回?fù)茖懭搿?/p>
注意由于Binlog監(jiān)聽程序也在進(jìn)行數(shù)據(jù)增量寫入,所以可以通過(guò)開關(guān)控制雙寫啟動(dòng)后,關(guān)閉Binlog監(jiān)聽程序。

2.3.校驗(yàn)
經(jīng)過(guò)同步及雙寫兩個(gè)步驟,此時(shí)MySQL和MongoDB應(yīng)該已經(jīng)保持線上實(shí)時(shí)同步了,但是為了確保雙寫的數(shù)據(jù)不出問(wèn)題,需要通過(guò)定時(shí)任務(wù)來(lái)對(duì)MySQL及MongoDB的數(shù)據(jù)一致性做抽樣校驗(yàn),當(dāng)校驗(yàn)到數(shù)據(jù)不一致時(shí),以MySQL的數(shù)據(jù)為準(zhǔn)覆蓋MongoDB中的對(duì)應(yīng)數(shù)據(jù)。

2.4.切讀
當(dāng)抽樣校驗(yàn)持續(xù)一段時(shí)間(如一周)時(shí),如果數(shù)據(jù)一致性基本為100%時(shí),可以啟動(dòng)切讀。
所謂切讀指的是將數(shù)據(jù)讀取時(shí),不對(duì)MySQL進(jìn)行讀取,而是對(duì)MongoDB進(jìn)行讀取。此時(shí)通過(guò)灰度控制來(lái)進(jìn)行小流量數(shù)據(jù)讀取,在觀察一段時(shí)間沒問(wèn)題后,逐步放大切讀流量,直到100%讀MongoDB。

2.5.切寫
切讀完成后,讀取時(shí)就已經(jīng)不依賴于老MySQL,而是依賴于新MongoDB了。此時(shí)要做的最后一步是切寫,也就是關(guān)閉雙寫,只寫MongoDB。此時(shí)數(shù)據(jù)遷移完成,讀寫均通過(guò)MongoDB。

3.切量過(guò)程關(guān)鍵點(diǎn)
數(shù)據(jù)校驗(yàn)以最終結(jié)果量為準(zhǔn),因?yàn)檫^(guò)程量可能不置信,最好可以實(shí)現(xiàn)切讀后的數(shù)據(jù)打點(diǎn)趨勢(shì)與原流程趨勢(shì)做對(duì)比產(chǎn)出報(bào)告
切量過(guò)程必須是可以回滾的,并且需要小流量的切量觀察
天 下 數(shù) 據(jù)提供完整的端到端云遷移解決方案,將企業(yè)客戶的系統(tǒng)和數(shù)據(jù)平滑遷移至各大公有云:騰訊云、谷歌云、阿里云、華為云等。詳詢客服電話400-63-8-88-08,官網(wǎng):m.51huadong.com
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國(guó)服務(wù)器 韓國(guó)服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國(guó)云主機(jī) 韓國(guó)云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(jī) 日本云主機(jī) 德國(guó)云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無(wú)限防御 SSL證書 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠(chéng)聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊(cè) 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國(guó)服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》 ISP證:粵ICP備07026347號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營(yíng))聯(lián)合版權(quán)
深圳總部:中國(guó).深圳市南山區(qū)深圳國(guó)際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊(cè)業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品