騰訊雲 CHDFS — 雲端大數據存算分離的基石

隨着網絡性能提高,雲端計算架構逐步向存算分離轉變,AWS Aurora 率先在數據庫領域實現了這個轉變,大數據計算領域也迅速朝此方向演化。java

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

1、問題和挑戰數據庫

對象存儲是普遍使用的雲端非結構化數據存儲解決方案,愈來愈多的非結構化數據彙集於對象存儲的數據湖中,隨之而來的是對這些海量數據的分析需求。緩存

然而對大數據分析的存儲系統來講,HDFS 接口是事實標準,HDFS 是大數據生態的存儲基石。網絡

原生的對象存儲接口不兼容 HDFS,沒法直接使用。爲支持計算存儲分離的大數據場景,對象存儲一般提供了一個模擬層,實現 HDFS 語義到對象存儲語義的轉換,典型實現相似 s3n 和 cosn。然而這類實現缺少對真正的文件系統接口的支持,基於對象存儲的扁平目錄結構沒法實現分層命名空間,在處理相似 rename 等操做時效率極低(實際是基於前綴複製關聯的全部對象),對於 list、head 等頻繁元數據操做的場景延遲較高,一些對象存儲系統還缺乏強一致性語義,不能保證寫後讀一致性,致使上層的大數據計算框架出錯。
架構

同時在數據流方面,諸如常見的文件 append 操做,s3n 和 cosn 等對象存儲的模擬層也沒法支持。併發

爲支持大數據存算分離場景,須要從新設計雲端存儲系統,該系統能夠爲雲端大數據計算提供高效可靠的存儲基石,在實現無限存儲的同時,重點知足對元數據的需求。app

爲此,咱們提出了一種基於對象存儲的通用分佈式文件系統設計方案:cloud native hdfs,簡稱 CHDFS。框架

2、CHDFS 總體介紹分佈式

CHDFS 總體架構如圖所示。

CHDFS,在對象存儲之上,充分發揮雲端優點,構建可擴展的 metadata 層,實現對 HDFS 語義的支持。經過高度優化的 metadata 層,能夠支持海量元數據的高效訪問。在元數據規模遠超 HDFS 的狀況下,達到接近原生 HDFS 性能的效果。同時提供優化了讀寫數據流的 java 客戶端,在支持高效元數據操做的同時,充分發揮了對象存儲高吞吐和低成本的優勢。

CHDFS 基於對象存儲實現文件系統語義,數據託管給對象存儲,把對象存儲當作磁盤使用,在此基礎上構建文件系統分佈式元數據層,支持海量數據。基於對象存儲託管數據,能夠自動得到對象存儲的優點,如低成本,高可靠,大吞吐,高可用等特性,容量可達到百 PB 級別。

3、CHDFS 元數據服務特色

CHDFS 元數據服務採用分佈式架構,在元數據讀寫方面作了較多優化,支持百億級別的文件數據量,突破了 hdfs namenode 規模限制,同時保證了嚴格的強一致語義。

對比 COS 和 HDFS,具備如下特色:

  • 毫秒級別的原子 rename 操做,對目錄和文件都適用;
  • 元數據強一致,寫入後當即可見;
  • 支持百億級別的文件數量,遠超 HDFS 規模,延遲和 HDFS 至關;
  • 單文件系統,元數據支持 10w 以上的 qps,知足大規模計算的高併發需求;
  • 高可用,秒級的 ha 切換時間;
  • 元數據並行加載,冷啓動速度 比 HDFS 快1個數量級;
  • 元數據跨區域/可用區複製,進一步提升可靠性;

CHDFS 提供了多種元數據引擎,在面臨不一樣的應用場景時,用戶能夠有多種選擇,達到成本、容量和性能的平衡。

在接口上,CHDFS 徹底兼容 HDFS,能夠輕鬆在兩個系統之間遷移數據。

4、COS 爲 CHDFS 提供數據底座

對象存儲 COS 做爲雲端基礎存儲服務,爲 CHDFS 提供了堅實的數據底座,CHDFS 的文件數據分塊後存儲在 COS,具備如下優勢:

  • 海量存儲,支持百P級別的數據量,容量自動擴展;
  • 超大帶寬,支持 Tbps 級別的帶寬,大數據計算能夠充分發揮 COS 高吞吐的優點;
  • 數據多AZ,帶來了11個9的超高可靠性;
  • 數據存儲默認EC編碼,成本更低;
  • 支持文件數據跨區域複製;
  • 智能分層支持,根據數據的冷熱程度,自動分層,進一步下降存儲成本;

同時,CHDFS 提供了高性能的 HDFS 兼容的 java sdk,針對大數據場景作了全面優化,實現了高效的讀寫緩存機制,能夠充分發揮 COS 在數據流方面的優點。

5、豐富的產品功能

除了上述提到的強大的文件讀寫能力外,CHDFS 還提供了豐富的產品功能,來知足大數據場景下客戶的多樣需求。

對於關注成本優化的客戶,CHDFS 提供了存儲生命週期管理功能,可以經過簡單的配置頁面,讓客戶的文件自動沉降到成本更低的存儲介質,進一步下降客戶使用雲端存儲的成本,真真正正的幫助客戶省錢。當客戶須要訪問這部分沉降的冷數據時,CHDFS 提供了功能強大、方便易用的命令行工具,使文件回到熱存儲層供客戶使用。

對於有存儲內容感知需求的客戶,CHDFS 提供了強大的文件清單功能,能夠按照客戶指定的文件格式及過濾字段,離線導出文件信息,而且投遞到客戶的文件系統中。客戶能夠經過讀取該清單文件,進行多維度的業務文件屬性分析,如文件平均大小分佈等。甚至還能夠做爲客戶從本地 HDFS 導入 CHDFS 過程當中的一種文件校驗手段。

6、生態整合

CHDFS 提供了徹底兼容 HDFS 的協議,能夠無縫支持常見的大數據計算框架,如 Hive,Spark,Presto,Flink 等。

CHDFS 目前已經和騰訊雲 EMR 產品緊密集合。客戶購買 CHDFS 產品後,無需安裝任何環境,便可直接在騰訊雲 EMR 上使用 CHDFS 產品,進一步簡化客戶使用 CHDFS 的上手成本。

相關文章
相關標籤/搜索