apache carbondata 介紹

apache carbondata 介紹

Carbondata是華為開發的一種大數據場景下的列式存儲格式,目前是apache社區的頂級項目。CarbonData是一個高性能的數據解決方案,目標是實現一份數據支持多種分析場景,包括BI分析,即席SQL查詢,明細數據分析,流式分析等。CarbonData已經部署在許多企業生產環境中,例如一個規模較大的場景,支持單個表5PB數據(超過10萬億條記錄)上明細數據分析,響應時間小於3秒!

相比parquet和orc的列式存儲,Carbondata的優勢在於:

  • 數據排序上,Carbondata不侷限於單個row group(blocklet)內
  • MDK+invert index實現多列,行級別的索引
  • 全局字典+惰性轉換,能夠實現在排序,聚合之後進行字典到數據的轉換。
apache carbondata 介紹

Carbondata底層的每一個存儲單元稱為一個blocklet,對應於parquet的一個row group。每個blocklet內按列分為多個Column Chunk。carbondata引入了ColumnGroup Chunk支持行存,在一個ColumnGroup內將多個列按行組織存儲。在ColumnGroup外部,整個ColumnGroup視為一列與其他ColumnChunk混合存儲在同一Blocklet內部。


分享到:


相關文章: