GaussDB(for Influx)與開源企業版效能對比

語言: CN / TW / HK
摘要:相比於企業版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)官方部落格
https://bbs.huaweicloud.com/community/usersnew/id_1586596796288328
Lab官網https://www.huaweicloud.com/lab/clouddb/home.html
產品首頁https://www.huaweicloud.com/product/gaussdbforinflux.html
歡迎加入我們!
雲資料庫創新Lab(成都、北京)簡歷投遞郵箱:[email protected]
華為雲時空資料庫團隊(西安、深圳)簡歷投遞郵箱:[email protected]

 

點選關注,第一時間瞭解華為雲新鮮技術~