與管理傳統(tǒng)的大型數(shù)據(jù)基礎(chǔ)設(shè)施相比,管理與大數(shù)據(jù)相關(guān)的拍字節(jié)級(jí)數(shù)據(jù)存儲(chǔ)是一種全新的方式。目前在線照片分享網(wǎng)站Shutterfly管理著30拍字節(jié)的數(shù)據(jù)。Shutterfly在這里與我們分享了他們馴服“數(shù)據(jù)野獸”的經(jīng)驗(yàn)。
目前,每個(gè)人都在談?wù)摯髷?shù)據(jù)分析方法和相關(guān)的商務(wù)智能成果。但是在公司能夠利用這些數(shù)據(jù)前,他們必須想辦法解決存儲(chǔ)問題。管理拍字節(jié)級(jí)甚至更大規(guī)模的數(shù)據(jù)存儲(chǔ)與管理傳統(tǒng)大型數(shù)據(jù)集有著本質(zhì)的區(qū)別。
Shutterfly為一家在線照片分享網(wǎng)站。他們并不限制用戶存儲(chǔ)照片的數(shù)量,并且允許用戶存儲(chǔ)原始分辨率的照片,用戶在存儲(chǔ)時(shí)可以不用降低照片的分辨率。Shutterfly還曾承諾永遠(yuǎn)不會(huì)刪除任何照片。
Shutterfly 高級(jí)副總裁兼首席技術(shù)官Neil Day稱:“我們的照片存檔大小已經(jīng)超過了30拍字節(jié)。存儲(chǔ)池的增長(zhǎng)速度遠(yuǎn)遠(yuǎn)高于用戶群的增長(zhǎng)速度。在我們吸引到客戶后,他們做的第一件事就是向我們上傳大量照片。在他們喜歡上我們之后,他們做的第一件事就是再次上傳大量照片。”
為了有一個(gè)直觀的印象,大家可以想像一下,1拍字節(jié)等于100太字節(jié),等于1百萬吉字節(jié)。美國宇航局哈勃太空望遠(yuǎn)鏡前20年的觀測(cè)數(shù)據(jù)存檔也僅為45太字節(jié)多一點(diǎn)。以128 kB/s速率壓縮的1太字節(jié)音頻數(shù)據(jù)可以存儲(chǔ)17000小時(shí)的音頻
拍字節(jié)級(jí)基礎(chǔ)設(shè)施的特點(diǎn)
Day稱:“拍字節(jié)級(jí)基礎(chǔ)設(shè)施與傳統(tǒng)存儲(chǔ)設(shè)施完全不同。建立和維護(hù)它們非常困難。與傳統(tǒng)大型數(shù)據(jù)集的管理壓力相比,一個(gè)拍字節(jié)或多個(gè)拍字節(jié)基礎(chǔ)設(shè)施的管理壓力完全是天壤之別。它們之間的差異就如同在筆記本電腦上處理數(shù)據(jù)和在RAID陣列上處理數(shù)據(jù)一樣。”
Day在2009年進(jìn)入Shutterfly網(wǎng)站。當(dāng)時(shí)存儲(chǔ)已經(jīng)成為了公司最大的開銷,并且這一開銷仍然在飛速地增長(zhǎng)。這些開銷的增長(zhǎng)速度并不是根據(jù)原始容量的增長(zhǎng)速度而增長(zhǎng),而是根據(jù)員工數(shù)量的增長(zhǎng)速度而增長(zhǎng)。
Day 稱:“存儲(chǔ)每增長(zhǎng)n個(gè)拍字節(jié)就意味著我們需要增加一名存儲(chǔ)管理員,以及相應(yīng)的物理和邏輯基礎(chǔ)設(shè)施。有了這些大型存儲(chǔ),數(shù)據(jù)量不斷創(chuàng)下新高。實(shí)際管理這些大型存檔的人必須不斷的解決硬件故障問題。每個(gè)人都想解決這一基本問題,因?yàn)榇蠹叶记宄脖P方面的任何一個(gè)故障都會(huì)導(dǎo)致服務(wù)中斷。那么你如何確保數(shù)據(jù)能夠被持續(xù)獲取,如何保證性能不會(huì)下降?”
擴(kuò)展RAID是一個(gè)棘手的問題
失效備援的標(biāo)準(zhǔn)解決方案是進(jìn)行復(fù)制,通常是以RAID陣列的形式進(jìn)行。但是如果規(guī)模龐大,那么RAID產(chǎn)生的問題將比解決的問題更多。在傳統(tǒng)的RAID數(shù)據(jù)存儲(chǔ)方案中,為了保證完整性和可用性,每個(gè)數(shù)據(jù)的拷貝都會(huì)被做成鏡像,存儲(chǔ)在不同的磁盤陣列上。不過,這也意味著每份被存儲(chǔ)和被做成鏡像的數(shù)據(jù)將導(dǎo)致存儲(chǔ)容量膨脹五倍。隨著RAID陣列中的磁盤容量越來越大,將故障磁盤中的內(nèi)容恢復(fù)到新磁盤上所需要的時(shí)間也越來越長(zhǎng)。
Day 稱:“實(shí)際上,我們?cè)赗AID上并沒有遇到操作問題。我們遇到的問題是,磁盤容量越來越大,如果磁盤組件出現(xiàn)故障,切換至冗余系統(tǒng)的時(shí)間將越來越長(zhǎng)。奇偶校驗(yàn)與生成的數(shù)據(jù)集的大小是成正比的。目前我們已經(jīng)開始在基礎(chǔ)設(shè)施中使用1太字節(jié)和2太字節(jié)的磁盤,這導(dǎo)致切換到冗余系統(tǒng)的時(shí)間更長(zhǎng)。目前的發(fā)展趨勢(shì)并沒有朝著正確的方向發(fā)展。”
可靠性和可用性對(duì)于Shutterfly來說非常關(guān)鍵,這也是企業(yè)級(jí)存儲(chǔ)的需求。Day稱,快速增長(zhǎng)的存儲(chǔ)成本使得商品化服務(wù)越來越具有吸引力。在Day和他的團(tuán)隊(duì)對(duì)一些能夠讓Shutterfly控制成本的潛在技術(shù)解決方案進(jìn)行投資的過程中,他們接觸到了一種名為糾刪碼的技術(shù)。這一技術(shù)引起了他們的興趣。
利用糾刪碼創(chuàng)建下一代存儲(chǔ)
Reed-Solomon糾刪碼最初是作為前身糾錯(cuò)(FEC)代碼,用于在不可靠的信道中發(fā)送數(shù)據(jù),例如深空探測(cè)任務(wù)中的數(shù)據(jù)傳輸。這一技術(shù)還被廣泛的應(yīng)用在CD和DVD上,以處理灰塵和劃痕等光盤損傷問題。目前幾家存儲(chǔ)廠商已經(jīng)開始展開合作,將糾刪碼整合到他們的解決方案中。通過糾刪碼,數(shù)據(jù)段能夠被分解為多個(gè)小塊,每一小塊數(shù)據(jù)本身都是沒用的。然后,這些數(shù)據(jù)塊被分散到不同的硬盤上或是服務(wù)器上。只需要部分?jǐn)?shù)據(jù)塊,數(shù)據(jù)就能夠隨時(shí)被重新恢復(fù),甚至當(dāng)硬盤故障導(dǎo)致多個(gè)數(shù)據(jù)塊丟失后,數(shù)據(jù)仍然能夠被完整地拼湊起來。換句話說,你不再需要?jiǎng)?chuàng)建多份數(shù)據(jù)拷貝,單個(gè)實(shí)例就能夠保證數(shù)據(jù)的完整性和可用性。