TDengine TSDB(以下“TDengine”均指“TDengine TSDB”)是一款高性能時序數據庫。通過充分利用時序大數據的特點,TDengine Database 團隊設計了新穎的存儲引擎,大幅提升了數據的寫入和查詢速度,同時也大幅提高了數據壓縮率。與通用數據庫相比,性能好至少十倍以上,而存儲空間不到其 1/5,與其他時序數據庫相比,性能也是遠超。
一、DevOps 場景下,TSBS 基準測試報告
在 DevOps 場景下,TSBS 基準測試結果顯示 TDengine 寫入性能最大達到 TimescaleDB 的 6.7 倍,InfluxDB 的 10.6 倍。此外,TDengine 在寫入過程中消耗了最少計算(CPU)資源和磁盤 IO 開銷;相同落盤數據規(guī)模下,TDengine 存儲空間只有 InfluxDB 的 25%,只有 TimescaleDB 的 4%。此外,對于大多數查詢類型,TDengine 的性能均優(yōu)于 InfluxDB 和 TimescaleDB,在 Complex queries 類型的查詢中展現出巨大的優(yōu)勢——TDengine 的 Complex queries 查詢性能最高達到了 InfluxDB 的 37 倍、 TimescaleDB 的 28.6 倍。


從圖 1 可以看出在 TSBS 全部五個場景中,TDengine 的寫入性能全面超越 TimescaleDB 和 InfluxDB。在場景二(4,000 devices)中 TDengine 寫入性能是 TimescaleDB 的最大達到 6.74 倍,在差距最小場景五(10 million devices)中,是 TimescaleDB 寫入性能的 1.52 倍。相對于 InfluxDB,TDengine 在場景五(10 million devices)中寫入性能是 InfluxDB 的 10.63 倍,在差距最小的場景一(100 devices)中也有 3.01 倍。
從圖 2 可以看出,在磁盤空間占用方面,TimescaleDB 在所有的場景下數據規(guī)模均顯著地大于 InfluxDB 和 TDengine,并且這種差距隨著數據規(guī)模增加快速變大。TimescaleDB 在場景四(1 million devices)和場景五(10 million devices)中占用磁盤空間是 TDengine 的 25 倍。在前面三個場景中,InfluxDB 落盤后數據文件規(guī)模與 TDengine 非常接近,但是在場景四/五兩個場景中,InfluxDB 落盤后文件占用的磁盤空間是 TDengine 的 4 倍以上。

查詢響應時間 (數值越小越好)

查詢響應時間 (數值越小越好)
從圖 3 可以看出,在 Double-rollups 類型查詢中, TDengine 展現出巨大的性能優(yōu)勢,其查詢響應時間來度量,double-groupby-5 和 double-groupby-all 的查詢性能是 TimescaleDB 的 24 倍,在 double-groupby-5 查詢上是 InfluxDB 的 26 倍 和 double-groupby-all 是其 34 倍。
從圖 4 可以看出,對于 Complex-queries 類型的查詢,TDengine 兩個查詢均大幅領先 TimescaleDB 和 InfluxDB。在lastpoint 查詢中,查詢性能是 TimescaleDB 的 5 倍, InfluxDB 的 21 倍。在 groupby-orderby-limit 場景中查詢性能是TimescaleDB的 8 倍,是 InfluxDB 的 15 倍。在時間窗口聚合的查詢過程中,TimescaleDB 針對規(guī)模較大的數據集其查詢性能不佳(double rollups類型查詢),對于 groupby-orderby-limit 的查詢,其性能上表現同樣不是太好。
有關測試報告執(zhí)行結果和重現步驟的詳細信息,請參閱《基于 TSBS 標準數據集 TimeScaleDB、InfluxDB 與 TDengine 的性能對比測試》。
二、IoT 場景下,TSBS 基準測試報告
在 IoT 全部五個場景下,TDengine 寫入性能均優(yōu)于 TimescaleDB 和 InfluxDB。寫入性能最大達到 TimescaleDB 的 3.3 倍,InfluxDB 的 16.2 倍。此外,TDengine 在寫入過程中消耗了最少計算(CPU)資源和磁盤 IO 開銷。


對于大多數查詢類型,TDengine 的性能均優(yōu)于 InfluxDB 和 TimescaleDB,在復雜的混合查詢中 TDengine 展現出巨大的優(yōu)勢——其中 avg-load 和 breakdown-frequency 的查詢性能是 InfluxDB 的 426 倍 和 53 倍;daily-activity 和 avg-load 的查詢性能是 TimescaleDB 的 34 倍和 23 倍。


TimescaleDB 在所有場景下數據規(guī)模均顯著地大于 InfluxDB 和 TDengine,并且這種差距隨著數據規(guī)模增加快速變大,其落盤數據規(guī)模最高達到了 TDengine 的 12.2 倍;InfluxDB 在前三個場景中落盤后數據文件規(guī)模與 TDengine 非常接近,但隨著數據規(guī)模的增長(場景四、場景五),InfluxDB 落盤后文件占用的磁盤空間最大達到了 TDengine 的 2.8 倍,這也直接說明 TDengine 更加適用于時序大數據的存儲。
從整體 CPU 開銷上來看,TDengine 不僅完成全部查詢的時間低于 TimescaleDB 和 InfluxDB,在整體上 CPU 計算資源的消耗也遠小于 TimescaleDB 和 InfluxDB。在整個查詢過程中,TDengine 內存也始終維持在一個相對平穩(wěn)的狀態(tài)。


有關測試報告執(zhí)行結果和重現步驟的詳細信息,請參閱《基于 TSBS 標準數據集時序數據庫 TimescaleDB、InfluxDB 與 TDengine 在 IoT 場景性能對比測試》。
與 MongoDB、ClickHouse、OpenTSDB 等其他 Database 的對比測試報告,請下載“TDengine與其他數據庫對比測試的完整報告”。
TDengine 在數據寫入、數據查詢、存儲空間、資源消耗等方面都表現出了超強的性能,因此,采用高性能時序數據庫 TDengine,可將典型的物聯(lián)網、車聯(lián)網、工業(yè)互聯(lián)網大數據平臺的總擁有成本降低至少 50% 以上。
都是時序數據庫,為什么 TDengine 能如此出眾?這是由于 TDengine 采用了獨特的存儲結構,而不是照搬通用的 KV 存儲或 LSM 存儲引擎。它充分利用時序數據的特點而進行了各種優(yōu)化,創(chuàng)新地提出了包括“一個數據采集點一張表”與“超級表”的設計,詳細請看 TDengine 數據模型和基本概念。



互聯(lián)網.png)



-1.png)












伙伴.png)



