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]

 

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