華為深耕Apache社區,CarbonData成為首個中國公司貢獻的頂級項目
美國時間2017年4月19日,Apache軟件基金會宣布,華為貢獻給Apache社區的開源項目CarbonData從Apache孵化器畢業,正式成為Apache***項目(TLP)。Apache® CarbonData™也成為***由中國公司貢獻給Apache基金會,并成為***項目的開源項目。
隨著數字化時代的到來,企業生產和應用的數據與日俱增,業務驅動下的數據分析靈活性要求也越來越高。但是,企業不同場景下的數據分業務系統而構建,不同的業務場景使用不同的數據存儲格式。這種數據存儲方式導致數據冗余嚴重,同時也阻礙了企業的數字化轉型。因此,企業在建設大數據平臺時,希望能夠建設統一數據存儲,用一份數據支持多種使用場景,從而減少數據孤島和冗余,通過數據共享產生更大價值。同時,這種數據存儲還需要滿足高效、易集成、易開發、易擴展以及開放性生態等需求。
華為FusionInsight大數據產品團隊針對用戶的訴求,從2013年開始調研分析業界大數據方案,發現每種技術都只能解決某種場景的訴求,不能同時滿足上述的所有訴求。于是,華為FusionInsight大數據產品團隊開發了CarbonData項目,針對當前大數據領域分析場景需求各異而導致的存儲冗余問題,CarbonData提供了一種新的融合數據存儲方案,以一份數據同時支持“交互式分析、詳單查詢、任意維度組合的過濾查詢等”多種大數據應用場景,并通過豐富的索引技術、字典編碼、列存等特性提升了IO掃描和計算性能,實現百億數據級秒級響應,與大數據生態Apache Hadoop、Apache Spark等無縫集成。
Apache CarbonData主要有下面一些特點:
列式存儲:高效的列式數據組織,可以實現列裁剪和過濾下壓,使OLAP查詢性能更高。同時,CarbonData針對明細數據查詢實現了深度優化,在需要返回所有列的場景下性能優于其他列存方案。
豐富的索引支持:支持全局多維索引、文件索引、Min/Max、倒排索引等多種索引技術,從表級,文件級,列級等多個層級逐級快速定位數據,大幅提升性能。
全局字典編碼:除了常見的Delta、RLE、BitPacking等編碼外,CarbonData應用了全局字典編碼來實現免解碼的計算,計算框架可以直接使用經過編碼的數據來做聚合,排序等計算,這對需要做跨節點數據交換的業務來說性能提升非常明顯(3倍以上)。
自適應類型轉換:CarbonData針對分析型應用中大量使用的數值類型(Double/Decimal/Numeric/BigInt)實現存儲內數據類型轉換,配合列式數據壓縮,使得壓縮非常高效,數據壓縮率基于應用場景不同一般壓縮比在2到8之間。
標準SQL和API:在SparkSQL基礎上,支持標準SQL99/2003;支持數據批量更新、刪除,適用于OLAP場景下數據的周期性刷新,例如拉鏈表更新、維表數據同步。提供JDBC/ODBC連接,支持與BI工具無縫對接;兼容Spark DataFrame/DataSet,支持復雜分析應用。
數據生態集成:支持與Hadoop、Spark等大數據生態系統集成,支持和商業BI工具無縫對接。既滿足傳統數倉、數據集市、BI應用要求,也提供大數據生態豐富多樣的API支持,覆蓋從GB級到EB級應用。
基于華為“源于開源、強于開源、回饋開源”的戰略,華為FusionInsight大數據團隊開發出CarbonData后,就積極向社區進行回饋。2015年,華為向社區貢獻了CarbonData的代碼;2016年6月,CarbonData全票通過進入Apache孵化器;2017年4月,經過來自華為、Intel、Talend、eBay、Inmobi、Knoldus、Habib Bank、交通銀行、上汽、攜程、丁香園、阿里、美團、樂視、滴滴等公司資深架構師和開發人員的努力,CarbonData經過不到一年的時間,畢業成為Apache***項目。這標志著CarbonData項目完全依照Apache way開源方式運作,并完成社區多樣化工作。而對華為公司FusionInsight大數據團隊而言,這標志著華為對Apache開源社區,不僅能夠貢獻代碼和提案,也能夠貢獻***開源項目,華為對Apache社區的開源貢獻,已經跨入了一個新的高度。這也是華為“源于開源、強于開源、回饋開源”戰略的成功實踐。