Apache IoTDB

active

by 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.

time-seriesrelationalhierarchicaldatabase engineopen source (permissive)mature

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

✓Joins
✓Triggers
✓TTL / expiry
✓Pub/Sub
✓Columnar storage
✓Durable persistence
✓Compression
✓Role-based access
✓Streaming ingest
–Transactions
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Stored procedures
–Materialized views
–In-memory
–Encryption at rest
–Time travel
–Branching
–Online schema changes
–Offline sync
–Runs in WebAssembly

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

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsJDBC, Session API (Thrift), REST, MQTT
client languagesJava, Python, C++, Go, C#

Alternatives to Apache IoTDB

Compare all→
TDengineTime-Series17.4

Industrial-IoT time-series database with a table-per-device model and built-in streaming and caching.

apache-iotdb vs tdengine →
InfluxDBTime-Series51.0

Purpose-built time-series database, rebuilt in Rust on Arrow, DataFusion and Parquet for version 3.

apache-iotdb vs influxdb →
TimescaleDBTime-Series47.1

PostgreSQL extension adding hypertables, columnar compression and continuous aggregates for time series.

apache-iotdb vs timescaledb →
CnosDBTime-Series6.7

Rust cloud-native time-series database with SQL on DataFusion and InfluxDB-style ingestion.

apache-iotdb vs cnosdb →
GridDBTime-Series10.7

Toshiba's memory-first container database for IoT time series, with per-container ACID and SQL.

apache-iotdb vs griddb →
openGeminiTime-Series6.5

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.