基于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分區,支持流數據準實時入庫等新特性,相信會有越來越多的項目會使用到。