TDengine

A high-performance, open-source time-series database built in C for IoT, connected vehicles, and industrial monitoring workloads, with built-in stream processing, caching, and data subscription.

25Kstars
5Kforks
GNU AGPLv3
C

TDengine is a purpose-built time-series database designed for the write-heavy, high-cardinality workloads typical of IoT devices, connected vehicles, and industrial monitoring systems. Rather than bolting time-series features onto a general-purpose database, it’s architected from the ground up in C around a “one table per device” data model, letting it scale to very large numbers of concurrent data sources while keeping SQL as the query interface.

Beyond storage and querying, TDengine bundles stream processing, an in-memory caching layer, and a publish/subscribe-style data subscription system into the same engine, so common time-series pipeline needs (real-time aggregation, alerting, downstream consumption) don’t require bolting on separate infrastructure like Kafka or a stream processor.

The core engine is AGPL-3.0 licensed and fully open source, distributed by TDengine (TAOS Data) alongside separately sold enterprise products and support offerings for larger deployments — but the open-source engine itself has no artificial scale limits built into the code.

What You Get

  • A time-series-optimized storage engine using a one-table-per-device model to scale to large numbers of concurrent data sources
  • SQL as the primary query interface, rather than a bespoke time-series query language
  • Built-in stream processing for real-time aggregation and alerting without a separate stream-processing system
  • An integrated data subscription system for downstream consumers to receive new data as it’s written

Common Use Cases

  • Storing and querying high-frequency sensor data from IoT fleets or industrial equipment at scale
  • Powering connected-vehicle telemetry pipelines where millions of devices each generate continuous time-series data
  • Running real-time alerting and aggregation on incoming metrics without deploying a separate stream-processing layer
  • Replacing a general-purpose relational database that’s struggling under high-cardinality, high-write time-series workloads

Under The Hood

Architecture TDengine’s core is organized around client (query/ingestion client libraries), dnode (the data node — the core storage/query engine), libs (shared internal libraries), and common/util for shared types and utilities, all written in C. The one-table-per-device data model is the key architectural bet: rather than mixing all devices’ data into shared tables, each data source gets its own table under the hood, which lets the engine parallelize and partition work naturally across a large device fleet without complex sharding logic bolted on top.

Tech Stack C for the core engine, SQL as the query language, with built-in stream processing, caching, and pub/sub-style data subscription integrated directly rather than delegated to external systems like Kafka. Distributed clustering support is built in for scaling beyond a single node.

Code Quality The project reports test coverage via Coveralls and runs automated release builds through GitHub Actions, and its CII Best Practices badge signals adherence to recognized open-source security and development practices — consistent with a widely deployed database with a multi-year track record.

What Makes It Unique TDengine’s one-table-per-device model and built-in stream processing/caching/subscription set it apart from general-purpose databases retrofitted for time-series data — it’s designed from the storage layer up for the specific access pattern of many independent devices writing continuously, which is exactly the IoT/industrial workload it targets.

Self-Hosting

Licensing Model AGPL-3.0 licensed for the core open-source engine, with no artificial scale limits in the open-source code itself.

Enterprise Features TAOS Data (the company behind TDengine) sells separately licensed enterprise products and support (including tiered offerings by data volume/tag count) for organizations wanting commercial support or specific enterprise deployments — check current TDengine documentation for the exact feature boundary, since specifics weren’t fully verifiable from public pages alone.

License Key Required No, for the open-source engine.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search