作者:殳鑫鑫,花名辰石,阿里巴巴計算平臺事業部EMR團隊技術專家,目前從事大數據存儲以及Spark相關方面的工作。
JindoFS 概述
JindoFS - 分層存儲背景
JindoFS 分層主要解決客戶冷熱數據存儲成本問題,對於大多數用戶數據可以簡單的分為冷數據和熱數據
- 熱數據:業務需要訪問的數據往往是業務數據集的一部分,這種經常被訪問的數據我們通常稱為熱數據,這部分數據在存儲主要關注數據的存儲性能,因此熱數據主要存放在一些高性能的介質上。
- 冷數據:另外很大一部分數據很長時間內不會被訪問,這部分長期不被訪問的數據我們通常稱為冷數據,冷數據因為很少被業務訪問,在數據存儲上主要考慮存儲成本的問題,常見的做法如採用EC 算法代替三副本存儲策略或者將數據存放在磁帶或者SMR磁盤等低成本的存儲介質上來降低存儲成本
JindoFS 存儲內部我們是通過分層存儲來降低冷數據的存儲成本,提高熱數據的訪問性能。
JindoFS - 分層存儲
JindoFS 無論是Cache 模式還是Block 模式都提供數據本地備份來加速業務數據的訪問,而數據的可靠性和可用性主要由後端存儲OSS 提供,JindoFS 分層存儲中冷數據存放主要依賴OSS 提供存儲類型來提供,OSS 可以提供存儲類型分為三種類型:標準存儲類型,低頻訪問存儲類型,歸檔存儲類型。
- 標準存儲類型:提供高可靠、高可用、高性能的對象存儲服務,能夠支持頻繁的數據訪問, 無數據取回費用,實時訪問,毫秒延遲
- 低頻存儲類型:提供高可靠性、較低存儲成本的對象存儲服務。有最低存儲時間(30天)和最小計量單位(64 KB)要求。支持數據實時訪問,訪問數據時會產生數據取回費用,適用於較低訪問頻率(平均每月訪問頻率1到2次)的業務場景
- 歸檔存儲類型:提供了高可靠性、極低存儲成本的對象存儲服務。有最低存儲時間(60天)和最小計量單位(64 KB)要求。數據需解凍(約1分鐘)後訪問,解凍會產生數據取回費用。適用於數據長期保存的業務場景。
JindoFS 內部可以將數據分為以下集中,熱數據,溫數據,冷數據,低頻數據,歸檔數據。
JindoFS 分層存儲支持存儲數據在上述各種數據類型之間進行轉換,用戶可以根據自己業務的數據類型來確定數據的存儲類型,從而為數據的存儲提供一種最優的存儲方案, 用戶可以使用cache/uncache/archive/unarchive等命令來操作存儲的文件或者目錄進行數據類型轉換。
結語
JindoFS 主要支持計算存儲分離的場景,提供兩種不同的模式支持用戶不同的場景,兩種模式各有優缺點,用戶可以根據業務類型選用不同的模式或者同時選擇兩種不同模式,分層存儲功能同時支持這兩種模式,用戶可以在性能以及存儲成本方面考慮,選擇不同存儲類型,該功能預計會在下一個EMR主版本中發佈支持。
EMR釘釘產品交流群
對開源大數據和感興趣的同學可以加小編微信(下圖二維碼,備註“進群”)進入技術交流微信群。
Apache Spark技術交流社區公眾號,微信掃一掃關注