大資料儲存平臺之異構儲存實踐深度解讀
經常做資料處理的夥伴們肯定會有這樣一種體會:最近一週內的資料會被經常使用到,而比如最近幾周的資料使用率會有下降,每週僅僅被訪問幾次;在比如3月以前的資料使用率會大幅下滑,儲存的資料可能一個月才被訪問幾次。
這就產生了一種熱和冷資料,對需要頻繁訪問的資料我們稱之為“熱”資料,反之我們稱之為”冷”資料,而處於中間的資料我們稱之為”溫”資料。
在資料被視為公司資產的時代,每個公司基本都會儲存最近數年的資料,而這些資料尤其是冷資料的累積也給儲存平臺帶來了甜蜜的負擔。下面就來分享下如何解決這些“負擔”。
首先如何定義資料為冷熱資料呢,eBay公司根據資料年齡和使用頻率來定義不失為一種辦法,下圖為eBay關於資料溫度的定義
從hadoop2.6開始,HDFS更好的支援了這種冷熱資料的分離儲存,我們可以按HDFS路徑指定其儲存策略,目前HDFS支援的儲存策略有:HOT、WARM、COLD、All_SSD、One_SSD、Lazy_Persist,我們著重介紹SSD相關的儲存策略,具體如下:
All_SSD - 用於將所有副本儲存在SSD中
One_SSD - 用於將其中一個副本儲存在SSD中。剩餘的副本儲存在DISK中
Lazy_Persist - 用於在記憶體中寫入單個副本的塊。該副本首先寫入RAM_DISK,然後在DISK中延續
建立檔案或目錄時,其儲存策略未指定。可以使用“hdfs dfsadmin -setStoragePolicy ”命令指定儲存策略。檔案或目錄的有效儲存策略由以下規則解決。
1. 如果檔案或目錄特定於儲存策略,則返回。
2. 對於未指定的檔案或目錄,如果是根目錄,則返回預設儲存策略。否則,返回其父級的有效儲存策略。
我們在實踐過程中,因為有一部分實時分析的需求,一部分是歷史資料的儲存,歷史資料很少參與計算,只需偶爾查詢會用到。那麼對於歷史資料來說,我們可以使用一批計算能力較弱,而硬碟較多、容量較大的SATA盤,而實時分析的場景,需要高效能的計算力和硬碟吞吐能力,我們選用SSD硬碟來支撐,此外HDFS還提供了記憶體儲存型別,但我們的記憶體還是有限,暫未使用到。實際上,我們的每臺伺服器的12塊硬碟slot中有3個是SSD,其餘9個是SATA。我們實踐結果表明,使用這種策略的效果比以前好了4倍以上。
要使用儲存策略,我們需要在在每個資料節點上hdfs-site.xml中引數dfs.datanode.data.dir配置的由逗號分隔的儲存位置使用的儲存型別進行標記。例如:
1. 使用[DISK]file:///dfs/dn來標識這個儲存位置為普通硬碟
2. 使用[SSD]file:/// dfs/dn來標識這個儲存位置為SSD硬碟
此外,預設情況下的儲存格式為DISK。
下面介紹設定儲存策略命令:
hdfsstoragepolicies -setStoragePolicy -path -policy
相應的獲取儲存策略命令為:
hdfs storagepolicies -getStoragePolicy -path
總結下:我們可以在一個限定的Hadoop叢集中進行設定不同的磁碟使用不同的儲存策略,還可以利用API將資料儲存到不同的儲存層。HDFS設計的詳細儲存型別和儲存策略如下表,有興趣的同學可以看看:
注:HDFS新加的ARCHIVE儲存型別, 它是一種支援PB級的高容量儲存但很少的 計算能力,用於歸檔資料使用,從上圖可以看出冷資料適合使用archive儲存型別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2155745/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 儲存系列1-openfiler開源儲存管理平臺實踐
- 星環科技多模型資料統一儲存的大資料分散式儲存平臺方案分享模型大資料分散式
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- 小米大資料儲存服務的資料治理實踐大資料
- 資料儲存(歸檔解檔,沙河儲存)
- k8s之資料儲存-配置儲存K8S
- IOS資料儲存之檔案沙盒儲存iOS
- 資料儲存--檔案儲存
- Hive之 資料儲存Hive
- Android中的資料儲存之檔案儲存Android
- k8s之資料儲存-高階儲存K8S
- MaxCompute實戰之資料儲存
- HBase 資料儲存結構
- Oracle資料儲存結構Oracle
- 大資料開發的儲存技術探索與實踐大資料
- VSAN儲存結構解析+儲存資料恢復案例資料恢復
- OceanBase 原始碼解讀(九):儲存層程式碼解讀之「巨集塊儲存格式」原始碼
- 儲存資料之SharedPreference
- IOS資料儲存之NSUserDefaultsiOS
- Android資料儲存之SharedPreferences及如何安全儲存Android
- Redis資料儲存和讀寫Redis
- 海量非結構化資料儲存難題 ,杉巖資料物件儲存完美解決物件
- IOS資料儲存之歸檔/解檔iOS
- 資料儲存
- OpenTSDB 資料儲存詳解
- hadoop異構儲存+lucene索引Hadoop索引
- 基於Ceph物件儲存構建實踐物件
- SQL SERVER十大最佳儲存實踐SQLServer
- 聚焦資料時代新儲存需求,浪潮儲存的新儲存之道
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- 管理資料庫儲存結構資料庫
- 大資料的儲存和管理大資料
- Redis儲存結構以及儲存格式Redis
- 雲知聲: 基於 JuiceFS 的超算平臺儲存實踐UI
- 資料儲存--面向列的儲存設計
- Spring Boot資料儲存最佳實踐 - AhadSpring Boot
- Android資料儲存之GreenDao 3.0 詳解Android
- Shopee ClickHouse 冷熱資料分離儲存架構與實踐架構