社交數據正在以前所未有的速度猛烈襲來。Facebook已經擁有約十億用戶,而Twitter的使用群體數量也在逼近五億大關。這樣的規模在過去簡直無法想象。如今的Youtube網站需要提供體積龐大的音頻與視頻文件,同時還得十億用戶的評論及態度信息。更不用說其它一些社交媒體站點及企業社交應用所保存的海量非結構化數據了。
那么我們就在這里一同討論應對社交存儲需求持續上溫的方案。
1. 單體體積小
要著手處理社交數據存儲工作,第一步是了解其主要特征——即總容量龐大但單體體積較小。這與其它存儲類型有著明顯差異。
社交媒體數據大多數體積較小——博文、推文以及圖片等等都是如此。NetApp公司大數據解決方案高級經理Bill Peterson注意到。“甚至視頻資料在社交領域都保持著小巧的身材。”
2. 根據對象制定策略
即使同樣是社交媒體數據存儲工作,在不同平臺上的處理方式也在所不同。舉例來說,像Twitter與Facebook這樣的企業需要把數據集中存儲以滿足用戶們的瀏覽操作。另外,為了批量取回社交媒體數據,企業用戶可以嘗試對數據加以分析并深入了解其內容。前者就是我們通常所說的foreground copy,而后者則被稱為background copy。
“基于對象的存儲策略與goreground copy可謂天作之合,因為對象存儲需要通過總體體積與地理跨度兩大要素來形成一定規模,借以滿足應用程序‘將所有圖片保存在Facebook中’或‘將所有推文保存在企業VPN中’的需求,”Peterson解釋道。“對象存儲系統通常擁有基于http的接口,這使得技術人員能夠輕松把此類對象引用到Web頁面中并加以顯示。
3. 分析友好特性
在背景(即社交媒體數據歸檔副本)方面,進行保存的最佳實踐目的在于深入分析并掌握其宏觀內容。為了讓分析平臺完成這項任務,我們通常需要將大量小型對象捆綁在一起形成大型文件。舉例來說,如果大家想分析推文內容,必須先擁有一個包含著所有推文信息的整體文件,而非每條推文構成單獨文件(或對象)。Hadoop就是處理這類分析任務的平臺方案之一。
“Hadoop在處理大型文件(GB、TB乃至PB級別)方面效果拔群,但在處理大量小型文件方面則顯得比較疲軟,“Peterson解釋道。”Hadoop還擅長處理數據流訪問工作,可以說這套方案在設計上主要針對的是一次寫入、多次讀取的數據存儲需求。“
4. 追求速度
社交數據要的就是速度。用戶通常無法容忍應用程序出錯或緩慢的服務響應,遇上這類情況,他們會果斷移步其它社交平臺。
“打理社交數據要求存儲機制能夠以接近實時的方式提供信息,這一特性使固態硬盤成為首選解決方案,”SMART Storage Systems公司總裁John Scaramuzzo建議道。“不過請大家注意,采用低成本MLC閃存的固態硬盤更加耐用,這樣才能確保我們在獲得預期的生產能力之外避免驅動器損壞給業務造成的不良影響。”
5. 慢速歸檔
我們顯然不能簡單把訪問量稀少的社交數據直接丟棄、只保存那些更為熱門的媒體資料。畢竟沒人希望當法律部門的家伙來搜集證據時,自己只能無奈地告訴對方數據被刪掉了。有鑒于此,我們應該根據機構的具體需要將數據劃分為冷門與熱門兩大類。熱門數據需要始終擁有快速響應能力,而其它的部分的訪問速度則完全可以做出一定妥協。
“對于那些使用頻率不高的數據,100毫秒左右的響應速度已經完全能夠接受了,”Peterson表示。“而更冷門一些的對象則不妨采取更長的響應時間。”
6. 至少三層結構
Peterson建議大家至少在存儲體系中部署三層結構:內存內(或閃存內)層、磁盤層以及冷門數據層。由內存內向磁盤層移動的過程需要經由基礎緩存。而再向冷門數據層的移動過程則涉及將大量小型對象整合為少量大型對象的操作。
“如果大家不這樣做,那么舊有數據層就會因為對象數量過多而陷入癱瘓,”Peterson補充道。
7. 存儲配置文件
社交配置文件數據是指用戶通過注冊Facebook或谷歌服務進而登錄站點時所產生的信息。其中包括個人喜好、興趣、好友列表等等。這部分數據非常重要,因此需要以安全高效的方式加以存儲。
“大多數配置文件數據本身被以文檔索引形式加以保存,這是出于性能方面的考慮,”Janrain公司產品副總裁Vidya Shivkumar指出。“另外,在某些情況下這些數據也可能被保存在關系類數據庫中以滿足查詢需求。”
舉例來說,Janrain公司就利用了關系類、鍵值存儲與文檔索引。
8. 總量巨大
社交數據的總量很可能極為龐大,需要企業用戶為其配備同樣龐大的存儲陣列。在很多情況下,利用來自Amazon、谷歌、微軟等企業的云存儲服務可能是滿足這方面的需求的最佳選擇。Janrain公司就使用了Amazon的基礎設施托管方案。
“企業為什么一定要親手打理存儲事務呢?”Shivkumar反問道。“很多供應商都推出了這類功能性服務,管理者沒有理由不認真加以考量。”
9. 不要對重復數據刪除報太大期望
重復數據刪除的效果要依工作負載的具體情況而定。例如在傳統備份及虛擬機領域,重復數據刪除功能可以帶來優秀的空間節約比率。然而在推文及博客等往往需要經過壓縮的信息面前,重復數據刪除技術的效果就要大打折扣了——雖然在圖片方面的收益還算不錯。
“之所以重復數據刪除發揮獲得良好作用,主要是因為很多用戶會上傳同樣的圖片,”Peterson解釋道。
10. 無需備份
Peterson指出,社交數據一般不會采取通常意義上的備份手段。相反,由于基礎設施分布在各地,信息副本也會同時保存在每套設施當中。舉例來說,NetApp公司推出的StorageGrid就允許用戶通過元數據查詢創建數據類。
“我們可以數據類添加一些規則,例如要求至少在兩個不同的數據中心處保存兩套副本,”Peterson指出。“整個過程跟備份無關;這只是一款引擎,用于確保無論發生何種情況、我們的數據都在兩個不同的物理地點擁有兩套副本。”