技術交流
Technical
the main title
2021-04-15 963
對比二者在性能與功能上的差異。
l cpu: 2*10*2 Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
l 內存:512G
l 硬盤:4T*4SSD
l 數據條數:100億
l 數據樣例如下:
行長:384 字節
數據:
{"copy_all" : "鄭州銀行借記卡四川","uuid_24" : "fc3e04b39c72","uuid_30" : "35c8cdeeadbbda48f3aa66aa9c9297062e16","s_mod_10" : 0,"s_mod_100" : 42,"s_mod_1000" : 341,"s_mod_wan" : 6021,"s_mod_10wan" : 34240,"s_mod_100wan" : 87597,"s_mod_1000wan" : 6899273,"s_mod_yi" : 14115907,"tradeid" : "201805161154260852","tradetime" : 20180516115426,"tradetype" : "網上購物","tradestat" : "成功","txnamt" : 966,"product" : "華錄","ptype" : "手機","psn_id" : "511118197804198192","psn_name" : "慕容顏良","sex" : "女","age" : 40,"psn_tel" : "13450024095","psn_areaid" : "5111","psn_provname" : "四川","psn_cityname" : "樂山市","psn_gps_str" : "29.590882,103.315736","psn_gps" : "29.590882,103.315736","psn_cardid" : "6092664394750795","psn_bank" : "鄭州銀行","psn_cardtype" : "借記卡"}
本次測試針對carbondata未設置boolm, datamap,datamap在對等值查詢的列使用boolm后,速度會很快,之所以沒設置考慮到如下因素:
1. 需要driver里加載boolm,耗費內存太多
首次查詢會因加載非常慢,同時boolm會耗費很多的內存,故carbondata會要求driver給予較大的內存如200G,而實際生產中列數較多,數據也經常更新變化,數據條數也遠大于100億,內存可能不夠用。
2. 只能用于等值查詢,對于范圍,前綴檢索無效。
3. lucene datamap幫助分詞查詢,但是執行任務會卡頓,不可用。
4. bloom datamap 可以加快精確查詢,但是會有誤差,統計也會不準確。
解讀:在等值檢索上,lsql的性能約是es的5~8倍,是carbondata的30~40倍
對比項 | lsql | es | carbondata |
數據存放位置 | hdfs分布式文件系統 | 本地 | hdfs分布式文件系統 |
按時序檢索與時序統計 | 支持 | 不支持 | 不支持 |
復雜嵌套SQL,多表關聯 | 支持 | 不支持 | 支持 |
多列分組統計 | 支持 | 組數少可,組數多跑不出來 | 支持 |
全文檢索 | 支持 | 支持 | 不支持 |
地理位置檢索 | 支持 | 支持 | 不支持 |
異構存儲-索引部分存儲SSD | 支持 | 不支持 | 不支持 |
多列聯合索引 | 支持 | 不支持 | 不支持 |
上一篇:第一篇
下一篇:最后一篇