omniture

七牛數(shù)據(jù)遷移解決方案助力企業(yè)擁抱云服務(wù)

關(guān)于數(shù)據(jù)遷移,應(yīng)該知道的方法
2015-02-10 12:29 8921
無論是計劃擁抱云服務(wù)還是打算從正在使用的云服務(wù)切換到另外一家,這其中數(shù)據(jù)的遷移是很關(guān)鍵的一步。 針對各種可能出現(xiàn)的問題, 七牛提出多種數(shù)據(jù)遷移解決方案,助力企業(yè)順利完成數(shù)據(jù)遷移。

上海2015年2月10日電 /美通社/ -- 無論是計劃擁抱云服務(wù)還是打算從正在使用的云服務(wù)切換到另外一家,這其中數(shù)據(jù)的遷移是很關(guān)鍵的一步。針對各種可能出現(xiàn)的問題,七牛提出多種數(shù)據(jù)遷移解決方案,助力企業(yè)順利完成數(shù)據(jù)遷移。在遷移過程中可能遇到以下問題:

  1. 數(shù)據(jù)遷移文件路徑問題。
  2. 數(shù)據(jù)遷移過程中的速率問題。
  3. 寄送磁盤后的遷移過程中,上傳數(shù)據(jù)不完整。

針對這些問題,一個考慮全面的遷移系統(tǒng)就顯得尤為重要,尤其是數(shù)據(jù)遷移的速度和安全性。首先七牛雖然為非結(jié)構(gòu)化存儲,但是仍然支持帶文件路徑進(jìn)行上傳,不影響原先數(shù)據(jù)的訪問規(guī)則;其次,數(shù)據(jù)遷移的速率基本不受網(wǎng)絡(luò)帶寬影響,主要受到磁盤讀寫速度的限制;上傳數(shù)據(jù)不完整,七牛會主動檢測數(shù)據(jù)遷移的完整性,通過鏡像存儲也可以補全未上傳成功的數(shù)據(jù)。一般場景有以下幾種:

場景一:自有機房遷移到七牛且數(shù)據(jù)少量

有兩種方案可以選擇:

一、完全使用七牛鏡像存儲功能

利用七牛提供的鏡像存儲功能,可以非常簡單地將源站的數(shù)據(jù)被動地同步到七牛云存儲中,所謂被動同步即 -- 只有在資源被訪問時,七牛才會回源站獲取一次,此后對該資源的訪問都不會再發(fā)生回源動作,而是直接從七牛這里拿到數(shù)據(jù)。鏡像存儲使用方式如下:

假設(shè)源站所有的圖片,放在一個叫 img.example.com 子域里。

  1. 在七牛上建立一個鏡像bucket,設(shè)定源站為 img.example.com。假設(shè)鏡像 bucket是example-img,鏡像 bucket 對應(yīng)的域名為 example-img.qiniudn.com。
  2. 將所有對外使用的圖片的域名改為 example-img.qiniudn.com。
  3. 如果網(wǎng)站數(shù)據(jù)是 UGC(用戶產(chǎn)生內(nèi)容)的,調(diào)整上傳流程,傳到七牛的鏡像 bucket。這樣源站就變成只讀。

如此就完成整個遷移過程。此時 img.example.com 這個源站就可以廢棄不用了。

二、借助七牛提供的數(shù)據(jù)遷移工具qrsync公網(wǎng)間直傳

qrsync 是一個根據(jù)七牛API實現(xiàn)的簡易命令行輔助上傳同步工具,支持?jǐn)帱c續(xù)上傳,增量同步,它可將用戶本地的某目錄的文件同步到七牛,同步或上傳幾百GB甚至上TB的文件毫無壓力。

場景二:自有機房遷移到七牛但數(shù)據(jù)總量大

在場景二下,用戶可以將數(shù)據(jù)先備份到本地,然后寄送數(shù)據(jù)硬盤給七牛,由七牛通過內(nèi)網(wǎng)將數(shù)據(jù)同步到七牛云端;或者七牛寄送空數(shù)據(jù)硬盤,客戶備份數(shù)據(jù)后寄回七牛,并由七牛通過內(nèi)網(wǎng)上傳。這其中,由于數(shù)據(jù)量巨大,考慮因素需要更多,七牛也會專為該類客戶定制化數(shù)據(jù)遷移系統(tǒng)。

在寄硬盤的過程中,為了保持新數(shù)據(jù)也被存到七牛上面,以及試用七牛的服務(wù),可以使用鏡像存儲。

場景三:從任意云服務(wù)遷移到七牛且數(shù)據(jù)少量

在場景三下,可以有兩種方案進(jìn)行數(shù)據(jù)的遷移工作。

一、完全使用鏡像存儲,無縫將數(shù)據(jù)遷移到七牛的空間中,具體使用方式和場景一中鏡像存儲描述部分一致。

二、使用七牛數(shù)據(jù)遷移定制化工具,在七牛的技術(shù)支持的協(xié)助下,用工具將數(shù)據(jù)同步到七牛。

場景四:從任意云服務(wù)遷移到七牛但數(shù)據(jù)總量大

如果想從某一云服務(wù)切換到七牛,可以先從正在使用的云服務(wù)備份數(shù)據(jù)到本地,通過磁盤/服務(wù)器的遞送,直接上傳數(shù)據(jù)到七牛。

數(shù)據(jù)導(dǎo)入的同時依然可以使用鏡像存儲配合數(shù)據(jù)的遷移,具體步驟如下:

  1. 開啟鏡像存儲,并將用戶對源站資源的訪問切換到從七牛這里訪問,同時在源站保持使用 prefetch 接口預(yù)取更新變化了的資源。
  2. 將資源的上傳動作從源站切換到七牛,這樣用戶對資源的修改動作會直接更新七牛中存儲的內(nèi)容,此時源站的資源數(shù)據(jù)已經(jīng)變成一個靜態(tài)的集合,因此可以撤銷第一步中對 prefetch 接口的使用。
  3. 放心地將源站的靜態(tài)資源數(shù)據(jù)增量地導(dǎo)入七牛的存儲,存儲中已有的資源不再導(dǎo)入,只導(dǎo)入存儲中還不存在的資源(七牛已有針對此類導(dǎo)入的成熟工具提供用戶直接使用)。
  4. 關(guān)閉源站
使用鏡像存儲配合數(shù)據(jù)的遷移步驟圖
使用鏡像存儲配合數(shù)據(jù)的遷移步驟圖

[數(shù)據(jù)遷移典型案例剖析]

七??蛻裟澳暗臄?shù)據(jù)量非常大,如果采用常用的傳輸辦法,整個遷移過程要耗時半年,并且會嚴(yán)重影響線上的業(yè)務(wù)。為此,七牛為陌陌制定了個性化的數(shù)據(jù)遷移方案。

在遷移過程中可能遇到以下問題:

  1. 硬盤遷移過程中,網(wǎng)絡(luò)傳輸中的數(shù)據(jù)出錯。
  2. 傳輸過程中的速率問題。拿陌陌舉例,如果采用常用的傳輸辦法,整個遷移過程要耗時半年,并且會嚴(yán)重影響線上的業(yè)務(wù)。
  3. 硬盤寄送過程以及使用過程中的磁盤損壞。
  4. 存儲數(shù)據(jù)文件對數(shù)據(jù)庫的合并。如果按照傳統(tǒng)的數(shù)據(jù)庫寫入方式,需要若干天,會給客戶數(shù)據(jù)庫以及云服務(wù)的數(shù)據(jù)庫帶來不必要的巨大壓力。

針對這些問題,一個考慮全面的遷移系統(tǒng)就顯得尤為重要:

  1. 針對客戶的業(yè)務(wù)數(shù)據(jù)模型,定制數(shù)據(jù)格式,進(jìn)行存儲數(shù)據(jù)的導(dǎo)入。
  2. 數(shù)據(jù)庫結(jié)構(gòu)需要有強擴(kuò)展性,可以實現(xiàn)瞬時合并。
  3. 遷移系統(tǒng)充分考慮不可控因素,比如硬盤損壞,斷電等情況。

至此,七牛已經(jīng)成為陌陌非常好的合作伙伴,支撐了他們近兩億用戶的數(shù)據(jù)存儲,訪問加速與圖片處理。

Photo - http://photos.prnasia.com/prnh/20150210/0861501057

消息來源:七牛云存儲
China-PRNewsire-300-300.png
全球TMT
微信公眾號“全球TMT”發(fā)布全球互聯(lián)網(wǎng)、科技、媒體、通訊企業(yè)的經(jīng)營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
collection