InfluxDB vs IotDB

本篇文章主要对比一下时序数据库InfluxDB与IotDB的差异。

周边生态

  1. influxdb:
    • TICK.(Telegraf:数据采集;Influxdb:数据存储;Chronograf:web ui 数据展示;Kapacitor:监控报警等);
    • InfluxQL
    • Flux查询语句,对流处理支持良好
  2. iotdb:支持数据采集;数据存储(TsFile,hadoop生态);数据可视化(Grafana);数据分析(Spark);
    结论:生态相对都比较完善。但是InfluxDB对于sql语言和流处理支持较好。

参考文献:

  1. Introduction to InfluxData’s InfluxDB and TICK Stack
  2. Chapter 1: Overview

性能

  1. Load
    • 场景:数据先load到内存,然后直接load到数据库中;
    • IotDB(772,406 points/s) > InfluxDB (631,227 points/s)
  2. 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.
  3. Query

    • 吞吐
      • IotDB > InfluxDB
    • 延迟
      • IotDB < InfluxDB
  4. Append压力测试(同时有一个查询程序在运行着)

    • 吞吐
      • IotDB = InfluxDB

总体结论:IotDB查询性能是InfluxDB的2倍,插入性能稍微优于InfluxDB;不过在高并发(client>300)Append的情况下,IotDB稍微逊色于InfluxDB。

参考文献:

  1. TS-Benchmark