1. 程式人生 > >騰訊雲 CHDFS — 雲端大資料存算分離的基石

騰訊雲 CHDFS — 雲端大資料存算分離的基石

隨著網路效能提升,雲端計算架構逐步向存算分離轉變,AWS Aurora 率先在資料庫領域實現了這個轉變,大資料計算領域也迅速朝此方向演化。 存算分離在雲端有明顯優勢,不但可以充分發揮彈性計算的靈活,同時集中的託管儲存可以提供更大的容量和更低的成本,避免了雲端大量自建儲存叢集的維護代價。 **一、問題和挑戰** 物件儲存是廣泛使用的雲端非結構化資料儲存解決方案,越來越多的非結構化資料聚集於物件儲存的資料湖中,隨之而來的是對這些海量資料的分析需求。 然而對大資料分析的儲存系統來說,HDFS 介面是事實標準,HDFS 是大資料生態的儲存基石。 原生的物件儲存介面不相容 HDFS,無法直接使用。為支援計算儲存分離的大資料場景,物件儲存通常提供了一個模擬層,實現 HDFS 語義到物件儲存語義的轉換,典型實現類似 s3n 和 cosn。然而這類實現缺乏對真正的檔案系統介面的支援,基於物件儲存的扁平目錄結構無法實現分層名稱空間,在處理類似 rename 等操作時效率極低(實際是基於字首複製關聯的所有物件),對於 list、head 等頻繁元資料操作的場景延遲較高,一些物件儲存系統還缺少強一致性語義,不能保證寫後讀一致性,導致上層的大資料計算框架出錯。 ![](https://img2020.cnblogs.com/blog/2190831/202012/2190831-20201201202226203-1789116826.png) 同時在資料流方面,諸如常見的檔案 append 操作,s3n 和 cosn 等物件儲存的模擬層也無法支援。 為支援大資料存算分離場景,需要重新設計雲端儲存系統,該系統可以為雲端大資料計算提供高效可靠的儲存基石,在實現無限儲存的同時,重點滿足對元資料的需求。 為此,我們提出了一種基於物件儲存的通用分散式檔案系統設計方案:cloud native hdfs,簡稱 CHDFS。 **二、CHDFS 整體介紹** CHDFS 整體架構如圖所示。 ![](https://img2020.cnblogs.com/blog/2190831/202012/2190831-20201201202242003-609610706.png) CHDFS,在物件儲存之上,充分發揮雲端優勢,構建可擴充套件的 metadata 層,實現對 HDFS 語義的支援。通過高度優化的 metadata 層,可以支援海量元資料的高效訪問。在元資料規模遠超 HDFS 的情況下,達到接近原生 HDFS 效能的效果。同時提供優化了讀寫資料流的 java 客戶端,在支援高效元資料操作的同時,充分發揮了物件儲存高吞吐和低成本的優點。 CHDFS 基於物件儲存實現檔案系統語義,資料託管給物件儲存,把物件儲存當做磁碟使用,在此基礎上構建檔案系統分散式元資料層,支援海量資料。基於物件儲存託管資料,可以自動獲得物件儲存的優勢,如低成本,高可靠,大吞吐,高可用等特性,容量可達到百 PB 級別。 **三、CHDFS 元資料服務特點** CHDFS 元資料服務採用分散式架構,在元資料讀寫方面做了較多優化,支援百億級別的檔案資料量,突破了 hdfs namenode 規模限制,同時保證了嚴格的強一致語義。 對比 COS 和 HDFS,具有以下特點: * 毫秒級別的原子 rename 操作,對目錄和檔案都適用; * 元資料強一致,寫入後立即可見; * 支援百億級別的檔案數量,遠超 HDFS 規模,延遲和 HDFS 相當; * 單檔案系統,元資料支援 10w 以上的 qps,滿足大規模計算的高併發需求; * 高可用,秒級的 ha 切換時間; * 元資料並行載入,冷啟動速度 比 HDFS 快1個數量級; * 元資料跨區域/可用區複製,進一步提高可靠性; CHDFS 提供了多種元資料引擎,在面臨不同的應用場景時,使用者可以有多種選擇,達到成本、容量和效能的平衡。 在介面上,CHDFS 完全相容 HDFS,可以輕鬆在兩個系統之間遷移資料。 **四、COS 為 CHDFS 提供資料底座** 物件儲存 COS 作為雲端基礎儲存服務,為 CHDFS 提供了堅實的資料底座,CHDFS 的檔案資料分塊後儲存在 COS,具有以下優點: * 海量儲存,支援百P級別的資料量,容量自動擴充套件; * 超大頻寬,支援 Tbps 級別的頻寬,大資料計算可以充分發揮 COS 高吞吐的優勢; * 資料多AZ,帶來了11個9的超高可靠性; * 資料儲存預設EC編碼,成本更低; * 支援檔案資料跨區域複製; * 智慧分層支援,根據資料的冷熱程度,自動分層,進一步降低儲存成本; 同時,CHDFS 提供了高效能的 HDFS 相容的 java sdk,針對大資料場景做了全面優化,實現了高效的讀寫快取機制,可以充分發揮 COS 在資料流方面的優勢。 **五、豐富的產品功能** 除了上述提到的強大的檔案讀寫能力外,CHDFS 還提供了豐富的產品功能,來滿足大資料場景下客戶的多樣需求。 對於關注成本優化的客戶,CHDFS 提供了儲存生命週期管理功能,能夠通過簡單的配置頁面,讓客戶的檔案自動沉降到成本更低的儲存介質,進一步降低客戶使用雲端儲存的成本,真真正正的幫助客戶省錢。當客戶需要訪問這部分沉降的冷資料時,CHDFS 提供了功能強大、方便易用的命令列工具,使檔案回到熱儲存層供客戶使用。 對於有儲存內容感知需求的客戶,CHDFS 提供了強大的檔案清單功能,可以按照客戶指定的檔案格式及過濾欄位,離線匯出檔案資訊,並且投遞到客戶的檔案系統中。客戶可以通過讀取該清單檔案,進行多維度的業務檔案屬性分析,如檔案平均大小分佈等。甚至還可以作為客戶從本地 HDFS 匯入 CHDFS 過程中的一種檔案校驗手段。 **六、生態整合** CHDFS 提供了完全相容 HDFS 的協議,可以無縫支援常見的大資料計算框架,如 Hive,Spark,Presto,Flink 等。 CHDFS 目前已經和騰訊雲 EMR 產品緊密集合。客戶購買 CHDFS 產品後,無需安裝任何環境,即可直接在騰訊雲 EMR 上使用 CHDFS 產品,進一步簡化客戶使用 CHDFS 的上手