基於Hadoop生態系統的一高效能資料儲存格式CarbonData(效能篇)
CarbonData在資料查詢的效能表現比Parquet好很多,在寫一次讀多次的場景下非常適合使用;社群比較活躍,響應也很及時。目前官網釋出版本1.3.0與最新的spark穩定版Spark2.2.1整合,增加了支援標準的Hive分割槽,支援流資料準實時入庫等新特性,相信會有越來越多的專案會使用到。
一、評測環境
1)網路拓撲圖

2)配置引數
Ø 伺服器配置

二、效能對比
目前主流hadoop的檔案儲存格式有行儲存的CSV格式,列式儲存的ORC和Parquet等。本章給出的是Parquet+Spark和CarbonData+Spark在過濾查詢場景和聚合計算場景的效能測試結果。
1)測試資料
建立瀋陽社保的資料倉庫,匯入、整合1年的測試資料,如下表:

生成CarbonData格式檔案,如下表:

2)過濾查詢場景測試


Parquet和CarbonData在過濾查詢場景下的效能對比
3)聚合計算場景測試
Parquet和CarbonData在聚合計算場景下的效能對比
4)總結分析
在過濾查詢中,CarbonData的查詢效率比parquet效率好,主要體現在列資料的索引查詢,極大地提高了精確查詢的效能。在聚合查詢中,CarbonData通過使用全域性字典編碼來加快計算速度,這使得處理、查詢引擎可以直接在編碼好的資料上進行處理而不需要轉換資料,資料只有在返回結果給使用者的時候才轉換成使用者可讀的形式,通過索引有效過濾檔案資料塊減少磁碟的IO,提高查詢效能。

三、小結
CarbonData在資料查詢的效能表現比Parquet好很多,在寫一次讀多次的場景下非常適合使用;社群比較活躍,響應也很及時。目前官網釋出版本1.3.0與最新的spark穩定版Spark2.2.1整合,增加了支援標準的Hive分割槽,支援流資料準實時入庫等新特性,相信會有越來越多的專案會使用到。