Icon for Apache IoTDB

Apache IoTDB

Apache IoTDB is a native time-series database optimized for IoT and industrial applications. Features edge-cloud synchronization and SQL-like query interface.

Screenshot of Apache IoTDB website

Apache IoTDB (Internet of Things Database) is a native time-series database designed specifically for IoT and industrial applications. It provides a complete data management solution including collection, storage, and analysis of time-series data from millions of connected devices.

Overview

Apache IoTDB provides high-performance data ingestion, efficient storage with TsFile format, and rich query capabilities for industrial IoT deployments. It supports high-speed write access for millions of low-power devices with lightning-fast read access.

Key features

High-performance data ingestion

  • Supports high-speed write access for millions of low-power and intelligently networked devices
  • Lightning-fast read access for retrieving time-series data
  • Efficient handling of massive dataset storage and high-throughput data input

Efficient storage

  • Uses TsFile, a columnar storage file format optimized for time series data
  • High compression ratio achieving storage costs of less than $0.23 per GB
  • Efficient directory structure for organizing complex IoT device hierarchies

Rich query capabilities

  • SQL-like query language with JDBC standard API
  • Time alignment for time series data across devices and sensors
  • Computation in time series field including frequency domain transformation
  • Rich aggregation functions in time dimension
  • Fuzzy searching for complex time series directory structures

Flexible deployment

  • One-click installation on cloud platforms
  • Terminal tool for desktop deployment
  • Data synchronization tool bridging cloud and on-premise/edge deployments
  • Docker and Kubernetes support
  • Standalone (1C1D) and distributed cluster modes

Architecture

IoTDB uses a distributed architecture with:

  • ConfigNode: Manages cluster configuration and metadata
  • DataNode: Handles data storage and query processing
  • AINode: Optional AI/ML inference node for predictive analytics

Limitations

  • Java runtime required for deployment (Java 1.8 to 25)
  • Learning curve for specialized SQL-like syntax and TsFile concepts
  • Smaller third-party ecosystem compared to InfluxDB or TimescaleDB
  • Limited commercial support options compared to vendor-backed alternatives
  • Complex distributed setup requires careful ConfigNode/DataNode configuration

Integration ecosystem

Big data analytics

  • Apache Hadoop
  • Apache Spark
  • Apache Flink

Visualization

  • Grafana plugin for dashboards and monitoring

Data format

  • TsFile: Columnar storage format designed for time series data
  • CSV import/export tools

Industry applications

  • IoT and smart manufacturing: Real-time monitoring and diagnostics
  • Energy and power: Smart energy systems with real-time analytics
  • Aerospace: Telemetry data management and lifecycle data
  • Transportation: Railway/metro systems, smart scheduling, predictive maintenance
  • Steel and metallurgy: Production data analytics, quality control

Getting started

# Start standalone instance
sbin/start-standalone.sh

# Connect with CLI
sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root

# Create database
CREATE DATABASE root.ln

# Create time series
CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE

# Insert data
INSERT INTO root.ln.wf01.wt01(timestamp,temperature) values(100,20.71)

# Query data
SELECT * FROM root.ln.wf01.wt01

Share:

Kind
Software
Vendor
Apache Software Foundation
License
Open Source
Website
iotdb.apache.org
Show all
Ad
Icon

 

  
 

More from Apache Software Foundation

Icon

 

  
  
Icon

 

  
  
Icon

 

  
  

Similar to Apache IoTDB

Icon

 

  
  
Icon

 

  
  
Icon