GaussDB(for Influx)與開源企業版效能對比
摘要:相比於企業版InfluxDB,GaussDB(for Influx)能為客戶提供更高的寫入能力、更穩定的查詢能力、更高的資料壓縮率,高效滿足各大時序應用場景需求。
本文分享自華為雲社群《華為雲GaussDB(for Influx)揭祕第八期:GaussDB(for Influx)與開源企業版效能對比》,作者:高斯Influx官方部落格 。
“你們的資料庫效能怎麼樣?”
“能不能滿足我們的業務?”
“和其他資料庫對比效能有優勢麼?”
…
客戶在使用資料庫時常有這樣的擔心和疑問。
本文從測試方案、測試工具、測試場景、測試結果等方面詳細介紹了GaussDB(for Influx)和開源InfluxDB叢集在X86架構下的效能測試情況。測試結果顯示,GaussDB(for Influx)較企業版InfluxDB叢集能提供更高的寫入效能、更低的訪問延遲以及更高的資料壓縮率。
1. 測試方案
1.1 資源配置
服務端配置
1.2 測試工具
測試工具為開源效能工具TS-benchMark。
2. 測試設計
2.1 測試模型
本次測試採用風力發電資料模型,每個風場50個裝置,每個裝置50個感測器,1個風場1個執行緒,通過load資料的執行緒數來控制時間線的大小,通過收集時間的長短來控制資料量。
模型每條資料大小約為24位元組,具體的型別如下:
Timestamp | farm | device |sensor | value
2.2 測試資料量
測試資料分為兩個場景,大資料量和小資料量,具體資料量如下:
注:企業版InfluxDB在插入到47億資料時OOM,以下效能對比都基於此資料量。
2.3 測試場景
2.3.1 資料寫入場景
- batch_size(每個批次寫入的資料量) 固定為50,執行緒數分別從1、2、4、8、16、32、64、128、256、512 遞增;
- 執行緒數(客戶端併發請求的連線數)固定為8, batch_size分別從50、100、150、200、250、300 遞增。
2.3.2 資料查詢場景
單執行緒進行不同語句的查詢,並統計其時延資訊。
第一類查詢: 所有TAG查詢
select *
from sensor
where f='f1' and d='d2' and s='s1' and time>=1514768400000000000 and time<=1514772000000000000
第二類查詢: TAG + VALUE查詢
select *
from sensor
where f='f1' and s='d2' and value>=3.0 and time>=1514768400000000000 and time<1514854800000000000
第三類查詢: 聚合查詢
select mean(value)
from sensor
where f='f1' and s='s1' and time>=1514768400000000000 and time<=1514854800000000000 group by f,d,s,time(1h)
第四類查詢: 或條件查詢
select *
from sensor
where f='f1' and (s='s1' or s='s2' or s='s3' or s='s4' or s='s5') and time>=1514768400000000000 and time<=1514769150000000000
第五類查詢: 單個TAG查詢
select *
from sensor
where f='f1' and time>=1514768400000000000 and time<=1514769150000000000
3. 測試結果分析
3.1 寫入吞效能比對
在小資料量場景下,GaussDB(for Influx)的寫入效能是企業版InfluxDB的13倍左右,在大資料量的場景下可以達到1.8倍左右。
3.2 查詢效能對比
1)第一類查詢(所有TAG查詢):無論是大資料量還是小資料量場景下,GaussDB(for Influx)的吞吐量是開源InfluxDB企業版的2倍左右。
2)第二類查詢(TAG + VALUE查詢):在小資料量場景下,開源InfluxDB企業版效能高於GaussDB(for Influx),GaussDB(for Influx)在大資料量和小資料量場景下效能基本持平。
3)第三類查詢(聚合查詢):GaussDB(for Influx)查詢效能明顯優於開源InfluxDB企業版,在小資料量場景下是開源版本的14倍,大資料量下也是開源版本的8倍左右。
4)第四類查詢(或條件查詢):GaussDB(for Influx)查詢效能在兩種場景下比較穩定,開源企業版InfluxDB在兩種場景下差異較大;GaussDB(for Influx)在小資料量場景下表現優於開源版,在大資料量場景下低於開源版。
5)第五類查詢(單個TAG查詢):GaussDB(for Influx)查詢效能在兩種場景下比較穩定,在大資料量場景下低於開源版。
3.3 資料壓縮率對比
在250萬時間線場景下,GaussDB(for Influx)匯入了151億條資料,匯入前資料大小為337.5G,匯入後為49.8G,壓縮率為6.8;開源企業版匯入了47億條資料,匯入前105G,匯入後21.3G,壓縮率為4.9。GaussDB(for Influx)壓縮率是開源企業版的1.4倍左右。
Influx引擎採用LSM tree架構,隨著後臺compaction的進行,壓縮率會進一步提升,當前資料對比是資料剛匯入時的結果。
4. 總結
在GaussDB(for Influx)2節點對比開源版3節點場景下,GaussDB(for Influx)給客戶帶來了更高的寫入能力、更穩定的查詢能力、更高的壓縮率。GaussDB(for Influx)寫入能力在小資料量場景下是開源企業版的13倍,在大資料量場景下是開源企業版的1.8倍;查詢能力在兩種場景下表現穩定,在大部分查詢場景下優於開源企業版;在壓縮率方面,同樣資料模型下,高出開源版本40%。
除了以上優勢外,GaussDB(for Influx)還在叢集化、冷熱分級儲存、高可用方面也做了深度優化,能更好地滿足時序應用的各種場景。
5. 結束
本文作者:華為 雲資料庫創新Lab & 華為雲時空資料庫團隊
更多技術文章,關注GaussDB(for Influx)官方部落格:
http://bbs.huaweicloud.com/community/usersnew/id_1586596796288328
Lab官網:http://www.huaweicloud.com/lab/clouddb/home.html
產品首頁:http://www.huaweicloud.com/product/gaussdbforinflux.html
歡迎加入我們!
雲資料庫創新Lab(成都、北京)簡歷投遞郵箱:[email protected]
華為雲時空資料庫團隊(西安、深圳)簡歷投遞郵箱:[email protected]
- 帶你掌握 C 中三種類成員初始化方式
- 實踐GoF的設計模式:工廠方法模式
- DCM:一個能夠改善所有應用資料互動場景的中介軟體新秀
- 手繪圖解java類載入原理
- 關於加密通道規範,你真正用的是TLS,而非SSL
- 程式碼重構,真的只有複雜化一條路嗎?
- 解讀分散式排程平臺Airflow在華為雲MRS中的實踐
- 透過例項demo帶你認識gRPC
- 帶你聚焦GaussDB(DWS)儲存時遊標使用
- 傳統到敏捷的轉型中,誰更適合做Scrum Master?
- 輕鬆解決研發知識管理難題
- Java中觀察者模式與委託,還在傻傻分不清
- 如何使用Python實現影象融合及加法運算?
- 什麼是強化學習?
- 探索開源工作流引擎Azkaban在MRS中的實踐
- GaussDB(DWS) NOT IN優化技術解密:排他分析場景400倍效能提升
- Java中觀察者模式與委託,還在傻傻分不清
- Java中的執行緒到底有哪些安全策略
- 一圖詳解java-class類檔案原理
- Java中的執行緒到底有哪些安全策略