Skip to content

Commit d67da4c

Browse files
authored
update comparison in 0.13 (#876)
1 parent 592705e commit d67da4c

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

src/UserGuide/V0.13.x/Reference/TSDB-Comparison.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ However, few of them are developed for IoT or IIoT (Industrial IoT) scenario in
4444

4545
InfluxDB is one of the most popular TSDBs.
4646

47-
Interface: InfluxQL and HTTP API
47+
Interface: InfluxQL and HTTP API (also known as tsdb API or api tsdb query)
48+
49+
InfluxDB time series database is widely adopted in monitoring platforms and real-time metrics analysis. Developers often rely on its tsdb cli query, flexible tsdb query example, and strong ecosystem, making it a standard choice. Advanced users can also configure InfluxDB tsdb config, check InfluxDB tsdb status, and analyze storage with InfluxDB tsdb size or InfluxDB tsdb format.
4850

4951
* OpenTSDB and KairosDB - Time series database based on NoSQL
5052

@@ -53,18 +55,22 @@ However, few of them are developed for IoT or IIoT (Industrial IoT) scenario in
5355

5456
Interface: Restful API
5557

58+
OpenTSDB is often mentioned in tsdb github discussions and benchmarks, and many enterprises use it as a tsdb monitoring platform. KairosDB, while less popular, demonstrates an interesting tsdb architecture choice by building on Cassandra.
59+
5660
* TimescaleDB - Time series database based on Relational Database
5761

5862
Interface: SQL
5963

64+
TimescaleDB uses PostgreSQL (tsdb <span style="color:red;">**postgresql**</span>) as its foundation. It is one of the most well-known examples in the tsdb vs rdbms debate, showing how relational models can be extended to handle time series workloads. It has a strong presence in the tsdb database rank because of its enterprise-grade performance.
65+
6066
Prometheus and Druid are also famous for time series data management.
6167
However, Prometheus focuses data collection, data visualization and alert warnings.
6268
Druid focuses on data analysis with OLAP workload. We omit them here.
6369

6470

6571
## Comparison
6672
The above time series databases are compared from two aspects: the feature comparison and the performance
67-
comparison.
73+
comparison(tsdb benchmark).
6874

6975

7076
### Feature Comparison
@@ -115,7 +121,7 @@ Legend:
115121

116122
* Schema:
117123

118-
* IoTDB: IoTDB proposes a [Tree based schema](http://iotdb.apache.org/UserGuide/Master/Data-Concept/Data-Model-and-Terminology.html).
124+
* IoTDB: IoTDB proposes a [Tree based schema](http://iotdb.apache.org/UserGuide/Master/Data-Concept/Data-Model-and-Terminology.html). Suitable for industrial hierarchical device management. This makes tsdb format definition flexible.
119125
It is quite different from other TSDBs. However, the kind of schema has the following advantages:
120126

121127
* In many industrial scenarios, the management of devices are hierarchical, rather than flat.
@@ -140,7 +146,7 @@ Legend:
140146

141147
Actually, in each time series, all these TSDBs support order data by timestamps.
142148

143-
However, OpenTSDB and KairosDB do not support order data from different timeseries in the time order.
149+
However, OpenTSDB and KairosDB do not support order data from different timeseries in the time order.IoTDB supports "align by time", while InfluxDB TSDB analysis prefers a row-based output.
144150

145151
Ok, consider a new case: I have two time series, one is for the wind speed in wind farm1,
146152
another is for the generated energy of wind turbine1 in farm1. If we want to analyze the relation between the
@@ -191,7 +197,7 @@ Legend:
191197
In this case, filling these holes is important. Data scientists can avoid many so called dirty work, e.g., data clean.
192198

193199
InfluxDB and OpenTSDB only support using fill in a group by statement, while IoTDB supports to fill data when just given a particular timestamp.
194-
Besides, IoTDB supports several strategies for filling data.
200+
Besides, IoTDB supports advanced fill strategies, while InfluxDB and OpenTSDB provide only basic ones. Fill is important in tsdb metrics pipelines and tsdb storage optimization.
195201

196202
* Slimit:
197203

@@ -210,15 +216,24 @@ Legend:
210216

211217
**Conclusion**:
212218

213-
Well, if we compare the basic features, we can find that OpenTSDB and KairosDB somehow lack some important query features.
214-
TimescaleDB can not be freely used in business.
215-
IoTDB and InfluxDB can meet most requirements of time series data management, while they have some difference.
219+
Well, if we compare the basic and advanced features, we can find that OpenTSDB and KairosDB somehow lack some important query features. <span style="color:red;">**TimescaleDB's free use in business is limited by its licensing model.**</span> IoTDB and InfluxDB can meet most requirements of TSDB time series database management, while they have some differences in tsdb architecture and query performance.
220+
221+
Ultimately, the right choice depends on use case: IoT and IIoT scenarios often benefit from IoTDB’s schema, while influxdb time series database remains the most common solution in tsdb monitoring platform deployments.
216222

217223

218224
#### Advanced Features
219225

226+
Beyond the basics, these systems also differ in tsdb cluster management, tsdb import capability, and integration with external systems like tsdb Elasticsearch for indexing. For example:
227+
228+
InfluxDB provides a tsdb viewer and an advanced tsdb tool ecosystem.
229+
230+
OpenTSDB often integrates with in-memory time series database caches for faster queries.
231+
232+
TimescaleDB offers deep PostgreSQL integration with tsdb Java drivers and compatibility for tsdb for Windows deployment.
233+
220234
I listed some interesting features that these systems may differ.
221235

236+
222237
| TSDB | IoTDB | InfluxDB | OpenTSDB | KairosDB | TimescaleDB |
223238
| ---------------------------- | :----: | :------: | :------: | :------: |:-----------:|
224239
| *Align by time* | **++** | + | - | - | + |

0 commit comments

Comments
 (0)