IoTDB

IoTDB (Internet of Things Database) is a specialized database management system for time series data generated by network of IoT devices with low computational power. It targets at workload that has high-frequency of data write, large-volume data storage, and complex analytical queries.

History

IotDB is a project started in 2017 by Prof. Jianmin Wang’s group in School of Software of Tsinghua University and China’s National Engineering laboratory for Big Data Software. The project entered incubation by Apache Incubator on Nov. 18th, 2018. The project evolves from a prior project of the same group called TsFile. TsFile is a columnar storage format optimized for storing time series data. IoTDB uses TsFile as its underlying storage format.

Query Compilation

Code Generation

Apache Thrift

System Architecture

Embedded

The overall IoTDB follows a client-server architecture. IoTDB client resides in the sensors(IoT devices) of the system, handling data collection and sending data to IoTDB server. Client can sync its data collected every user-configured interval with the server using Sync Tool; this allows data collected by the sensor to constantly being persisted in server, where the data can then be used for native query or shipped to other open-source platform for data analysis. Currently support single node server deployment. The group is working in progress to support shared-nothing cluster. IoTDB currently supports writing to HDFS.

Query Interface

Custom API

SQL-like customized query language.

Stored Procedures

Supported

SQL-like PREPARE statement is supported.

Logging

Logical Logging

Physical query plans are serialized and stored as logs. Write-Ahead-Logging with only REDO records.

Concurrency Control

Not Supported

No transaction supported.

Storage Architecture

Disk-oriented

Query Execution

Tuple-at-a-Time Model

Foreign Keys

Not Supported

Isolation Levels

Serializable

IoTDB Logo
Website

https://iotdb.apache.org

Source Code

https://github.com/apache/incubator-iotdb

Tech Docs

https://iotdb.incubator.apache.org/#/Documents

Developer

Tsinghua University

Country of Origin

CN

Start Year

2017

Project Type

Academic, Open Source

Written in

Java

Supported languages

Python

Compatible With

Hive

Operating Systems

OS X

Licenses

Apache v2