Apache IoTDB
activeby Apache Software Foundation · since 2019 · also known as IoTDB, TimechoDB
Apache time-series database for industrial IoT with tree and table models and edge-to-cloud sync.
Overview
Apache IoTDB is a time-series database that came out of Tsinghua University and became an Apache top-level project in 2020. It stores data in its own TsFile columnar format and offers two models: a hierarchical tree of device paths (root.plant.line1.temp) and, since 2.0, a relational table model queried with standard SQL. It is designed to run on edge gateways and synchronise to cloud clusters through its Pipe framework, and integrates with Spark, Flink and Grafana. Timecho, founded by the original authors, sells an enterprise distribution and support.
Strengths & trade-offs
Strengths
- +TsFile columnar format with strong compression for sensor data
- +Lightweight enough for edge gateways, with Pipe-based edge-to-cloud replication
- +Tree model maps naturally onto plant, line and device hierarchies
- +Table model in 2.x brings standard SQL and joins
- +Apache governance and Apache-2.0 licence
Trade-offs
- −Two data models and two SQL dialects make docs and tooling confusing
- −JVM footprint and tuning compared with C/Rust-based competitors
- −Most production references are in China
- −No managed cloud service from the Apache project itself
Great for
- +Industrial equipment and PLC data
- +Power plant and wind turbine monitoring
- +Edge gateways syncing to a central cluster
- +Rail and vehicle telemetry
Think twice for
- −Transactional business data
- −Log analytics
- −Teams wanting a fully managed SaaS
Capabilities
Native or official first-party support · 9 of 25 tracked
Scale & consistency
- Comfortable data size
- Large · ≤ 1 PB
- Horizontal scaling
- Native
- Multi-region
- No
- Transactions
- None
- Consistency
- Tunable
- Schema
- Flexible
- Architecture
- Single node, Distributed, Client server
- Query languages
- SQL
ConfigNodes manage metadata and DataNodes hold partitioned regions replicated via Ratis or IoTConsensus.
Deployment
Ecosystem
Alternatives to Apache IoTDB
Industrial-IoT time-series database with a table-per-device model and built-in streaming and caching.
apache-iotdb vs tdengine →Purpose-built time-series database, rebuilt in Rust on Arrow, DataFusion and Parquet for version 3.
apache-iotdb vs influxdb →PostgreSQL extension adding hypertables, columnar compression and continuous aggregates for time series.
apache-iotdb vs timescaledb →Rust cloud-native time-series database with SQL on DataFusion and InfluxDB-style ingestion.
apache-iotdb vs cnosdb →Toshiba's memory-first container database for IoT time series, with per-container ACID and SQL.
apache-iotdb vs griddb →CNCF sandbox distributed time-series database from Huawei Cloud, compatible with InfluxQL.
apache-iotdb vs opengemini →Apache IoTDB FAQ
What is Apache IoTDB?
Apache IoTDB is a time-series database by Apache Software Foundation, first released in 2019. Apache IoTDB is a time-series database that came out of Tsinghua University and became an Apache top-level project in 2020. It stores data in its own TsFile columnar format and offers two models: a hierarchical tree of device paths (root.plant.line1.temp) and, since 2.0, a relational table model queried with standard SQL. It is designed to run on edge gateways and synchronise to cloud clusters through its Pipe framework, and integrates with Spark, Flink and Grafana. Timecho, founded by the original authors, sells an enterprise distribution and support.
Is Apache IoTDB open source?
Yes. Apache IoTDB is open source. License: Apache License 2.0.
Does Apache IoTDB support ACID transactions?
No. Apache IoTDB does not provide ACID transactions; its consistency model is tunable.
Does Apache IoTDB scale horizontally?
Apache IoTDB scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).
How can I run Apache IoTDB?
You can self-host it and run it at the edge.
What is Apache IoTDB best for?
Apache IoTDB is a strong fit for industrial equipment and PLC data; power plant and wind turbine monitoring; and edge gateways syncing to a central cluster. Think twice for transactional business data.
What are the best alternatives to Apache IoTDB?
Common alternatives to Apache IoTDB include TDengine, InfluxDB, TimescaleDB, CnosDB and GridDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Apache IoTDB?
Apache IoTDB ranks #133 of 844 databases on the WhichDB Score (22.8/100), and #9 among time-series databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.