本篇文章主要对比一下时序数据库InfluxDB与IotDB的差异。
周边生态
- influxdb:
- TICK.(Telegraf:数据采集;Influxdb:数据存储;Chronograf:web ui 数据展示;Kapacitor:监控报警等);
- InfluxQL
- Flux查询语句,对流处理支持良好
- iotdb:支持数据采集;数据存储(TsFile,hadoop生态);数据可视化(Grafana);数据分析(Spark);
结论:生态相对都比较完善。但是InfluxDB对于sql语言和流处理支持较好。
参考文献:
性能
- Load
- 场景:数据先load到内存,然后直接load到数据库中;
- IotDB(772,406 points/s) > InfluxDB (631,227 points/s)
- Append
- 吞吐
- IotDB = InfluxDB, client number <= 300,
- IotDB(329,172 points/s) < InfluxDB(502,900 points/s), client number > 300.
- 延迟
- IotDB > InfluxDB, client number <= 300,
- IotDB = InfluxDB, client number > 300.
- 吞吐
Query
- 吞吐
- IotDB > InfluxDB
- 延迟
- IotDB < InfluxDB
- 吞吐
Append压力测试(同时有一个查询程序在运行着)
- 吞吐
- IotDB = InfluxDB
- 吞吐
总体结论:IotDB查询性能是InfluxDB的2倍,插入性能稍微优于InfluxDB;不过在高并发(client>300)Append的情况下,IotDB稍微逊色于InfluxDB。
参考文献: