與管理傳統的大型數據基礎設施相比,管理與大數據相關的拍字節級數據存儲是一種全新的方式。目前在線照片分享網站Shutterfly管理著30拍字節的數據。Shutterfly在這里與我們分享了他們馴服“數據野獸”的經驗。
目前,每個人都在談論大數據分析方法和相關的商務智能成果。但是在公司能夠利用這些數據前,他們必須想辦法解決存儲問題。管理拍字節級甚至更大規模的數據存儲與管理傳統大型數據集有著本質的區別。
Shutterfly為一家在線照片分享網站。他們并不限制用戶存儲照片的數量,并且允許用戶存儲原始分辨率的照片,用戶在存儲時可以不用降低照片的分辨率。Shutterfly還曾承諾永遠不會刪除任何照片。
Shutterfly 高級副總裁兼首席技術官Neil Day稱:“我們的照片存檔大小已經超過了30拍字節。存儲池的增長速度遠遠高于用戶群的增長速度。在我們吸引到客戶后,他們做的第一件事就是向我們上傳大量照片。在他們喜歡上我們之后,他們做的第一件事就是再次上傳大量照片。”
為了有一個直觀的印象,大家可以想像一下,1拍字節等于100太字節,等于1百萬吉字節。美國宇航局哈勃太空望遠鏡前20年的觀測數據存檔也僅為45太字節多一點。以128 kB/s速率壓縮的1太字節音頻數據可以存儲17000小時的音頻。
拍字節級基礎設施的特點
Day稱:“拍字節級基礎設施與傳統存儲設施完全不同。建立和維護它們非常困難。與傳統大型數據集的管理壓力相比,一個拍字節或多個拍字節基礎設施的管理壓力完全是天壤之別。它們之間的差異就如同在筆記本電腦上處理數據和在RAID陣列上處理數據一樣。”
Day在2009年進入Shutterfly網站。當時存儲已經成為了公司最大的開銷,并且這一開銷仍然在飛速地增長。這些開銷的增長速度并不是根據原始容量的增長速度而增長,而是根據員工數量的增長速度而增長。
Day 稱:“存儲每增長n個拍字節就意味著我們需要增加一名存儲管理員,以及相應的物理和邏輯基礎設施。有了這些大型存儲,數據量不斷創下新高。實際管理這些大型存檔的人必須不斷的解決硬件故障問題。每個人都想解決這一基本問題,因為大家都清楚硬盤方面的任何一個故障都會導致服務中斷。那么你如何確保數據能夠被持續獲取,如何保證性能不會下降?”
擴展RAID是一個棘手的問題
失效備援的標準解決方案是進行復制,通常是以RAID陣列的形式進行。但是如果規模龐大,那么RAID產生的問題將比解決的問題更多。在傳統的RAID數據存儲方案中,為了保證完整性和可用性,每個數據的拷貝都會被做成鏡像,存儲在不同的磁盤陣列上。不過,這也意味著每份被存儲和被做成鏡像的數據將導致存儲容量膨脹五倍。隨著RAID陣列中的磁盤容量越來越大,將故障磁盤中的內容恢復到新磁盤上所需要的時間也越來越長。
Day 稱:“實際上,我們在RAID上并沒有遇到操作問題。我們遇到的問題是,磁盤容量越來越大,如果磁盤組件出現故障,切換至冗余系統的時間將越來越長。奇偶校驗與生成的數據集的大小是成正比的。目前我們已經開始在基礎設施中使用1太字節和2太字節的磁盤,這導致切換到冗余系統的時間更長。目前的發展趨勢并沒有朝著正確的方向發展。”
可靠性和可用性對于Shutterfly來說非常關鍵,這也是企業級存儲的需求。Day稱,快速增長的存儲成本使得商品化服務越來越具有吸引力。在Day和他的團隊對一些能夠讓Shutterfly控制成本的潛在技術解決方案進行投資的過程中,他們接觸到了一種名為糾刪碼的技術。這一技術引起了他們的興趣。
利用糾刪碼創建下一代存儲
Reed-Solomon糾刪碼最初是作為前身糾錯(FEC)代碼,用于在不可靠的信道中發送數據,例如深空探測任務中的數據傳輸。這一技術還被廣泛的應用在CD和DVD上,以處理灰塵和劃痕等光盤損傷問題。目前幾家存儲廠商已經開始展開合作,將糾刪碼整合到他們的解決方案中。通過糾刪碼,數據段能夠被分解為多個小塊,每一小塊數據本身都是沒用的。然后,這些數據塊被分散到不同的硬盤上或是服務器上。只需要部分數據塊,數據就能夠隨時被重新恢復,甚至當硬盤故障導致多個數據塊丟失后,數據仍然能夠被完整地拼湊起來。換句話說,你不再需要創建多份數據拷貝,單個實例就能夠保證數據的完整性和可用性。
總部位于芝加哥的Cleversaf公司是較早涉足糾刪碼解決方案的廠商之一。該公司還通過增加存儲單元信息研發出了分散碼技術。該技術允許用戶在地理位置上相互獨立的地方,如在多個數據中心上存儲數據塊、或是片段。
由于每個片斷在數學意義上都是無用的,這使得其具有私密性和安全性。與RAID需要多份拷貝不同,信息分散技術僅使用一個單個實例數據,并且為了確保數據的完整性和可用性只進行了最低限制的擴展,因此公司可能節省90%的存儲成本。
Cleversafe 公司產品策略、營銷和客戶解決方案副總裁Russ Kennedy稱:“在重新將數據塊拼湊在一起時,你不必擁有每一個數據塊。所生成的全部數據塊的數量我們稱之為廣度,恢復數據所需要的最低限度的數據塊,我們稱之為閾值。這兩者之間的差異決定了數據的可靠性。當你同時丟失了節點和硬盤后,你仍然能夠恢復原始的數據。在RAID中你能夠獲得的最高的可靠性是雙奇偶校驗,你可以丟失兩塊硬盤。但是在我們的解決方案中,你可以丟失最多六塊硬盤。”
糾刪碼是一項以軟件為基礎的技術,這意味著該技術可以使用商用硬件,進一步壓縮擴展成本。
創建下一代存儲基礎設施
Day稱:“在找到了合適的技術后,我們將關注提供這種技術解決方案的廠商。同時,我們還關注如何創建它們。我們認為,如果能夠找到一家能夠滿足我們需求的公司,并且他們的系統已經經過了實踐檢驗,那么對于我們來說是再好不過的了。”
Shutterfly讓四家廠商為他們評估和創建其數據中心所需要的存儲設備原型。Day稱,他們關注的重點是性能、可用性、容錯性和可管理性。
他解釋稱:“我們有專門的人員管理照片存檔。我們在2010年最大的一個顧慮是照片存檔越來越大。隨著存檔的日益增長,我們不得不增加管理人員的數量。這讓我們感到很頭疼。”
Day稱,Cleversafe的出現讓Shutterfly遇到了救星,該公司也希望與Shutterfly合作,為Shutterfly量身訂做解決方案。他們對這一新概念進行了仔細驗證,包括在Shutterfly實驗室中進行上傳和性能測試。在Shutterfly對運行和性能感到滿意后,Cleversafe推出了一款平行存儲基礎設施,同時公司將Shutterfly所有流量的一份拷貝引導至這一基礎設施上。
Day 稱:“每一份上傳的照片都被同時存儲在我們的老式基礎設施上和Cleversafe的基礎設施上。當時我們運行了六個月的時間,包括節假日。”節假日對于Shutterfly來說是使用高峰期,許多用戶都會創建相冊,并上傳大量的照片。
在2011年,Shutterfly將Cleversafe的解決方案全面應用于照片存檔中,并將其作為主要的照片存儲倉庫。
糾刪碼存儲的總擁有成本
Day 稱:“總體上,糾刪碼存儲是一個軟件解決方案,允許我們部署費效比更好的硬件。對于我們來說,它改變了總擁有成本。我們與硬件廠商打交道時擁有了更高的靈活性,我們可以確保在硬盤和基礎設施方面獲得最優惠的價格。”
Day表示存儲池的管理也得到了極大的簡化。他稱:“現在我們基本上只需要增加存儲空間即可,隨后它們會自動的添加到我們所指定的存儲池中。以前,只有我們增加了額外的存儲,那么我們就不得不進折騰一翻。”
現在,如果一塊硬盤發生故障或是掉線了,Shutterfly的存儲基礎設施能夠將其標記為不可用狀態,并引導數據繞開這塊硬盤,同時迅速恢復這塊硬盤上的數據。以往當一塊硬盤或是多塊硬盤發生了故障,團隊會召集所有的人一起排除故障,現在他們的團隊只需注明故障,在計劃維護方案中替換掉受影響的基礎設施即可。
他稱:“這樣一來,我們不必再像以前一樣盡可能快的增加人手了。現在,我們的人手仍然在增長,但是速度比以前慢多了。日常維護工作的工作量已經下降了不少。管理員可以在他們感興趣的前瞻性項目中花上更多的時間。他們的工作重點已經轉移至我們以往稱為附加工作的工作上去了。在增加員工人數和工作內容方面,這一技術都產生了不錯的效果。”
數據存儲將讓公司具備敏銳的洞察力
盡管Shutterfly是一家需要處理海量數據的互聯網公司,但是如今大多數公司也都不得不面對大量數據,全球的公司正在存儲越來越多的數據。
他稱:“我們的存檔規模在五年內將變得非常龐大,與比平均水平相比,要大幾個數量級。我們希望在四年或五年后能夠看到大量應用和技術投入市場,讓處理超大型數據集成為可能。讓人感到興奮的是,它們將允許公司觀察細微的數據,從而使得公司具有更加敏銳的業務洞察力。”
Day稱:“這是一個發展趨勢。目前我們還僅僅處于初級階段。隨著業務的互聯性、移動性以及與客戶實時互動程度的不斷提升,數據量將越來越大。對這些數據的分析可能將會對業務洞察力產生深遠影響。但是這些工作的首要條件是要能夠可靠地存儲這些海量數據。”
評論
查看更多