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

雲端儲存小天使發表於2020-12-01

隨著網路效能提升,雲端計算架構逐步向存算分離轉變,AWS Aurora 率先在資料庫領域實現了這個轉變,大資料計算領域也迅速朝此方向演化。

存算分離在雲端有明顯優勢,不但可以充分發揮彈性計算的靈活,同時集中的託管儲存可以提供更大的容量和更低的成本,避免了雲端大量自建儲存叢集的維護代價。

一、問題和挑戰

物件儲存是廣泛使用的雲端非結構化資料儲存解決方案,越來越多的非結構化資料聚集於物件儲存的資料湖中,隨之而來的是對這些海量資料的分析需求。

然而對大資料分析的儲存系統來說,HDFS 介面是事實標準,HDFS 是大資料生態的儲存基石。

原生的物件儲存介面不相容 HDFS,無法直接使用。為支援計算儲存分離的大資料場景,物件儲存通常提供了一個模擬層,實現 HDFS 語義到物件儲存語義的轉換,典型實現類似 s3n 和 cosn。然而這類實現缺乏對真正的檔案系統介面的支援,基於物件儲存的扁平目錄結構無法實現分層名稱空間,在處理類似 rename 等操作時效率極低(實際是基於字首複製關聯的所有物件),對於 list、head 等頻繁後設資料操作的場景延遲較高,一些物件儲存系統還缺少強一致性語義,不能保證寫後讀一致性,導致上層的大資料計算框架出錯。

同時在資料流方面,諸如常見的檔案 append 操作,s3n 和 cosn 等物件儲存的模擬層也無法支援。

為支援大資料存算分離場景,需要重新設計雲端儲存系統,該系統可以為雲端大資料計算提供高效可靠的儲存基石,在實現無限儲存的同時,重點滿足對後設資料的需求。

為此,我們提出了一種基於物件儲存的通用分散式檔案系統設計方案:cloud native hdfs,簡稱 CHDFS。

二、CHDFS 整體介紹

CHDFS 整體架構如圖所示。

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 的上手成本。

相關文章