使用Alluxio加速基于Ceph對象存儲的數(shù)據(jù)分析
1.介紹
隨著企業(yè)收集的數(shù)據(jù)量的不斷增長,人們迫切需要找到高效的存儲解決方案。由于簡單性,可擴展性和具有成本效益,對象存儲(包括Ceph)已經(jīng)越來越成為傳統(tǒng)文件系統(tǒng)的常用替代方案。在大多數(shù)情況下,對象存儲系統(tǒng)采用內(nèi)部部署或在云中部署,與進行分析的計算節(jié)點相互分離。這種分離有幾點好處。
- 提高成本效益——存儲容量和計算能力可以單獨配置。這樣做簡化了容量規(guī)劃,并確保能夠更好地利用資源。
- 易于管理——將數(shù)據(jù)與計算分離意味著單個存儲平臺可被不同的計算集群所共享。例如,一個運行著長時間服務的集群將數(shù)據(jù)發(fā)送到對象存儲,可以和數(shù)據(jù)處理集群一起運行,從而挖掘出一些價值。
然而,這種架構的后果是數(shù)據(jù)遠離計算節(jié)點。當直接在對象存儲上進行分析時,會從存儲節(jié)點反復提取數(shù)據(jù),從而導致性能下降。這種延遲可能會妨礙一些關鍵的數(shù)據(jù)價值被及時提取。
在計算節(jié)點上部署Alluxio可以解決這一問題。通過智能地存儲與計算密切相關的活動歸檔數(shù)據(jù),將性能提升至內(nèi)存級速度,從而實現(xiàn)對數(shù)據(jù)熱點的快速分析。
2.示例架構
3.為什么選擇Alluxio
Alluxio是一個能達到內(nèi)存級速度的虛擬分布式文件系統(tǒng)。它駐留在計算節(jié)點上,并按照集群的規(guī)模進行擴展。Alluxio管理內(nèi)存中的數(shù)據(jù),并且選擇性地管理輔助存儲層的數(shù)據(jù),例如便宜的SSD和HDD,從而獲得額外的容量。通過將熱數(shù)據(jù)保存在計算節(jié)點的內(nèi)存中,并在任意輔助層之間無縫地遷移數(shù)據(jù),Alluxio在大多數(shù)情況下可以實現(xiàn)以內(nèi)存速度訪問遠程數(shù)據(jù)。這種加速是熱點數(shù)據(jù)分析的一個關鍵推動者。
Alluxio還能在不同的計算框架之間以及同一框架內(nèi)的不同作業(yè)之間共享數(shù)據(jù)。無論上層使用的是何種計算引擎,計算集群的所有用戶都可以在本地獲取數(shù)據(jù)并重復訪問。因此,計算節(jié)點上數(shù)據(jù)的生命周期與訪問它的作業(yè)或框架是分離的。通過數(shù)據(jù)共享,Alluxio可確保內(nèi)存中不存在冗余的數(shù)據(jù)副本,從而降低了容量需求和成本。
應用程序利用Alluxio的簡單性和靈活性持續(xù)訪問數(shù)據(jù),就像是運行在運程對象存儲上一樣。任何需要持久化的結(jié)果或轉(zhuǎn)換都可以由Alluxio通過配置同步地將更改傳播到底層對象存儲系統(tǒng)中來完成。這樣確保了沒有數(shù)據(jù)丟失從而易于管理。此外,用戶可以選擇僅在Alluxio內(nèi)存中存儲臨時數(shù)據(jù)或中間數(shù)據(jù),從而允許以內(nèi)存速度寫入。
4.結(jié)論
計算資源與對象存儲的分離提供了一個具有成本效益的解決方案。通過在進行分析的節(jié)點上運行Alluxio,遠程對象存儲的主要限制被消除了。Alluxio的設計使其成為發(fā)掘計算和存儲分離架構的性能潛力的數(shù)據(jù)分析棧的關鍵組件。
如果您有興趣學習如何使用Alluxio從遠程對象存儲中及時獲取數(shù)據(jù)價值,請下載我們的白皮書,白皮書詳細說明了如何使用Alluxio和Spark以及Ceph對象存儲集群來配置和使用一個計算集群。