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.

25.1Kstars
5Kforks
GNU AGPLv3
C

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
97/100Excellent
Development Activity96
Maintenance100
Community92
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
71/100Good
Architecture82
Code Quality78
Innovation72
Learning Curve52

Dependency Health

Score based on the health, technical quality, freshness, and vulnerability profile of runtime dependencies.How we score it →
69/100Good
Library Repo Health73
Library Technical Quality80
Version Staleness74
Vulnerabilities52
Dependency Footprint40

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
Join 750+ subscribers

Search