TDengine is an open-source, high-performance time-series database written in C and designed specifically for Industrial IoT, connected vehicles, and IoT applications. The project is hosted at https://tdengine.com and addresses the challenge of efficiently ingesting, processing, and analyzing massive volumes of time-series data generated by billions of sensors and data collection points, handling TB to PB scale data per day.
The repository emphasizes several core technical capabilities. TDengine claims to be the only time-series database that solves the high cardinality issue while supporting billions of data collection points, with particular strength in data ingestion performance, query speed, and data compression efficiency. The system incorporates built-in caching, stream processing, data subscription, and AI agent features to provide a simplified solution for time-series data processing. Its cloud-native architecture includes native distributed design, sharding and partitioning, separation of compute and storage, RAFT consensus, Kubernetes deployment support, and full observability. The database supports SQL queries and includes an AI-powered component called TDgpt that connects to time-series foundation models, large language models, and machine learning algorithms for forecasting, anomaly detection, imputation, and classification tasks.
The repository documentation indicates comprehensive deployment options including container-based installation, installation packages, Kubernetes deployment, and a fully managed cloud service. The build system uses CMake with version 3.21 or higher required, and the project supports Linux, macOS, and limited Windows builds, with Linux being the primary and recommended platform. The codebase includes Python 3 for testing frameworks and optionally supports Go 1.23 and above for building components like taosAdapter and taosKeeper. The project maintains build acceleration through ccache support and uses Conan 2.x for the taos-gen component. The README emphasizes that initial source builds require the BUILD_CONTRIB flag to download and build external dependencies including xxhash, zstd, and lz4, with subsequent builds able to reuse cached artifacts.