TDengine vs IronFlock: Industrial Data & AI Platform Comparison (2026)
TDengine is one of the few industrial platforms that, like IronFlock, treats AI as part of the product rather than as a bolt-on. It started as a high-performance time-series database — open-sourced in 2019, written in C, AGPL-3.0, with more than a million installations and 25,000+ GitHub stars — and has since grown upward into a full data stack: TDengine TSDB for storage, TDengine IDMP (Industrial Data Management Platform) for asset modeling, dashboards and events, and an AI layer made up of TDgpt (forecasting and anomaly detection invoked directly from SQL) and the Industrial Agent Runtime (prebuilt AI assistants plus an MCP interface that exposes platform capabilities to external agents). In 2026 the company repositioned from “high-performance time-series database” to “industrial data foundation for the AI era.”
IronFlock approaches industrial AI from the opposite end. Rather than starting at the database and reaching toward the assets, IronFlock starts at the device — a lightweight agent and Docker-containerized apps running autonomously on any Linux or Windows hardware — and reaches upward into central services: FleetDB (TimescaleDB) for fleet-wide time-series data, dashboarding, alarms, and an AI service whose agents can act on physical devices, not only read from them.
That difference matters more than any single feature. TDengine is an outstanding answer to “where does my industrial data live, and how do I ask questions of it?” It is not an answer to “how do I get software onto 800 machines in the field, update them, reach them remotely, and let them keep working when the network drops.” IronFlock is built for the second question and provides the data and AI layer on top of it.
At a Glance
| Dimension | IronFlock | TDengine |
|---|---|---|
| What it is | A distributed platform: edge devices running apps + central data, dashboard and AI services | A data platform: a time-series database (TSDB) plus an industrial data management and AI layer (IDMP) |
| Look & feel | Modern web UI — clean, responsive, browser-native | Modern web UI — taosExplorer for the database, IDMP for asset trees, dashboards and Chat BI |
| Usability | Self-service: sign up, flash a device, deploy apps in minutes | Self-service for the data layer: Docker or cloud instance, connect a source, model assets — “zero code, zero SQL” is the stated goal for IDMP |
| Collaboration | Multi-user with roles, API keys, device sharing, project-level access control | RBAC and SSO in IDMP and TSDB-Enterprise; OSS edition has no privilege controls |
| How modern | Cloud-native, containerized, AI-first, designed 2020s | Cloud-native database (3.0, 2022) with storage/compute separation; IDMP and the agent runtime are 2025–2026 products |
| Community | Growing — open app marketplace, developer docs | Large — 25,000+ GitHub stars, 20,000+ community developers, active Discord and GitHub |
| Strategy | Open ecosystem — IronFlock builds the core system (historian, alarms, dashboards, device management) and extends via an open third-party app marketplace | Open core — AGPL-3.0 database, commercial IDMP/Enterprise on top; extension happens through connectors, SQL, and AI skills rather than a third-party app marketplace |
| Tradition | Founded for IoT fleet management and edge computing | Database-first heritage; industrial positioning and AI layer added from 2025 onward |
Key Differences
| Dimension | IronFlock | TDengine |
|---|---|---|
| Primary scope | Device fleet + data + AI | Data + AI |
| Edge compute | ✅ Full Docker runtime on every device — apps in any language | ⚠️ taosX-Agent collects, filters and buffers at the edge; it is not a place to run your applications |
| Device management | ✅ Provisioning, grouping, OTA (OS, agent, apps), live logs, maps | ❌ Not part of the platform |
| Remote access | ✅ Built-in tunneling (HTTP, SSH, VNC, TCP, UDP) — no VPN | ❌ Not part of the platform |
| Time-series engine | ✅ Per-project TimescaleDB cluster, auto-provisioned, full PostgreSQL SQL | ✅ Purpose-built TSDB in C — very high ingest rates, strong compression, RAFT clustering |
| Query language | ✅ Full PostgreSQL — arbitrary joins, CTEs, window functions, the whole Postgres extension ecosystem | ⚠️ A time-series SQL dialect — excellent over tags, narrower for relational and cross-domain questions |
| Semantic asset model | ⚠️ Schema per app, defined in the app manifest | ✅ IDMP element tree — hierarchy, attributes, relationships, a semantic digital twin |
| AI: natural language over data | ✅ Built-in | ✅ Chat BI and prebuilt assistants |
| AI: acts on physical devices | ✅ Physical AI — agents invoke functions on devices | ❌ Read-dominant by design; notifications, not actuation |
| AI: forecasting & anomaly detection | ✅ Statistical forecasts and anomaly rules in SQL, saved as continuously refreshing transforms; any ML framework as a containerized app | ✅ TDgpt — forecasting, anomaly detection and imputation from a single SQL statement, including bundled time-series foundation models |
| App deployment | ✅ Docker containers to edge or virtual devices | ❌ No application deployment model |
| App marketplace | ✅ Built-in, with monetization | ❌ Not available |
| Open source | Cloud version free; on-premises subscription | ✅ TSDB-OSS under AGPL-3.0; IDMP and Enterprise features are commercial |
| Pricing basis | Resource usage (storage, remote access, virtual devices, AI); free cloud tier | Tag count — free up to 5,000 tags, then annual or perpetual license per tag tier |
| Multi-tenancy | ✅ Physical database separation + cryptographic message isolation | ⚠️ RBAC and data sharing; not designed as a per-customer tenancy model for OEM fleets |
Architecture
TDengine: A Three-Layer Data Stack
TDengine describes its own architecture as three layers, and that is a fair description of how it is built:
- Layer 1 — TDengine TSDB: The time-series database. Written in C, one table per data collection point grouped into supertables, with RAFT-based clustering, separated storage and compute, Kubernetes deployment, and tiered storage in the Enterprise edition. It also ships caching, stream processing and data subscription, so a lot of what teams normally bolt on around a TSDB is inside the database.
taosAdapterexposes REST, InfluxDB line protocol, OpenTSDB, Prometheus and Telegraf compatibility. - Layer 2 — TDengine IDMP: The industrial data management platform. IDMP stores no time-series data of its own — it sits above TSDB (or another database) and adds a tree-structured element hierarchy of factories, lines, machines and measurements, with attributes, relationships, analytics, dashboards and events attached to each node. This is the semantic layer that turns raw tags into a digital twin.
- Layer 3 — Open interfaces for AI: TDgpt runs analysis nodes (anodes) that serve forecasting, anomaly detection and imputation to SQL queries, backed by statistical algorithms, machine learning and time-series foundation models (TDtsfm, Time-MoE). The Industrial Agent Runtime adds thirteen prebuilt industrial assistants, Markdown-defined “skills,” a semantic knowledge base, and an MCP server that exposes 50+ platform capabilities as tools to external AI agents.
Data gets in through taosX, the Enterprise zero-code ingestion pipeline, and taosX-Agent, which runs at the edge and speaks OPC UA, OPC DA, MQTT, Kafka, PI System, AVEVA Historian, CSV/Parquet and legacy TSDB formats. The agent can filter and preprocess before transmission and buffers locally with store-and-forward when the link to the central system drops.
The important thing to understand about the edge in this architecture: taosX-Agent is a data collector, not a compute platform. It adapts protocols, filters, and forwards. Your control logic, your vision model, your local HMI and your custom application have to live somewhere else.
IronFlock: Distributed Edge + Central Services
IronFlock is a distributed system with two complementary layers. Autonomous edge devices run a lightweight agent and Docker-containerized apps at the point of operation. Central services — FleetDB (TimescaleDB), the FleetDB Service, the AI Service, and the web UI — provide fleet-wide storage, dashboarding, alarms and intelligence. A WAMP message broker connects everything with real-time pub/sub and RPC, enforcing cryptographic isolation between projects.
- Edge devices: Any Linux- or Windows-capable hardware — Raspberry Pi, industrial PCs, NVIDIA Jetson, Windows IPCs, gateways. On Windows the agent runs as a native service with automatic restart and self-update.
- Apps: Docker containers in any programming language, deployed to edge devices or to virtual devices — cloud-hosted compute nodes that join your project alongside physical hardware and run fleet-wide services like Grafana, Node-RED or Jupyter.
- Data: Edge apps publish telemetry through the broker to FleetDB, which auto-provisions per-project TimescaleDB tables you can query with plain SQL.
- AI: The AI Service orchestrates multi-agent conversations that read fleet data, generate charts and dashboards, and invoke functions on physical devices. Apps can ship their own agent definitions as YAML templates.
- Deployment: Cloud SaaS or on-premises — the full platform runs in your own infrastructure.
See Architecture for the full breakdown.
What This Means in Practice
| Scenario | IronFlock | TDengine |
|---|---|---|
| Store 50,000 tags of plant telemetry | ✅ Per-project TimescaleDB, priced by storage | ✅ Purpose-built TSDB, priced by tag tier |
| Model a plant as a hierarchy of assets | ⚠️ App schemas plus dashboard structure | ✅ IDMP element tree with attributes and relationships |
| Forecast a signal 24 hours ahead | ✅ A SQL transform that refreshes itself, or a model in a containerized app | ✅ One SQL statement against a bundled foundation model |
| Ask “which pumps ran hot last week?” in natural language | ✅ AI service queries fleet data and charts the answer | ✅ Chat BI answers and can build the panel |
| Answer a question that joins production, quality and energy data | ✅ One PostgreSQL query across every app’s tables, saved as a reusable KPI | ⚠️ Within the element tree and the TSDB dialect’s join support |
| Have the AI actually change something on a machine | ✅ Agents call functions exposed by device apps | ❌ Human-in-the-loop notifications; the roadmap describes an action library, not shipping actuation |
| Run a custom algorithm on the machine itself | ✅ Deploy a Docker app to the device | ❌ Not supported — collect and send upstream |
| Update software on 800 machines in the field | ✅ One-click bulk OTA — OS, agent and apps | ❌ Out of scope; you need a separate device management stack |
| Get a remote engineer onto a machine’s HMI | ✅ Click “Open Tunnel” in the browser | ❌ Out of scope; VPN or a separate remote access product |
| Keep a site running through a week-long outage | ✅ Devices run all apps autonomously, sync on reconnect | ⚠️ taosX-Agent buffers data; nothing on site keeps computing |
| Ship a white-label portal to 40 machine customers | ✅ Per-customer cryptographic and database isolation | ⚠️ RBAC and data sharing, but no OEM tenancy model |
Feature Comparison
Data & Connectivity
| Feature | IronFlock | TDengine |
|---|---|---|
| Time-series storage | ✅ Auto-provisioned per-project TimescaleDB cluster, direct SQL | ✅ Purpose-built TSDB — very high ingest, strong compression, tiered storage (Enterprise) |
| Ingest performance | ✅ Comfortably handles machine and fleet telemetry — hypertables, compression and retention policies | ✅ Higher peak throughput per node at extreme tag counts and sampling rates |
| SQL dialect | ✅ Full PostgreSQL — joins across apps, CTEs, window functions, PostGIS and the rest of the extension ecosystem | ⚠️ A time-series dialect: strong over tags and windows, narrower for relational work |
| Custom KPIs as continuously refreshed SQL | ✅ Materialized transforms — a saved query that recomputes on a schedule and feeds boards live | ✅ Stream processing and IDMP analytics on element nodes |
| PLC connectivity (S7, Allen-Bradley, Modbus, OPC UA) | ✅ Industrial Collector on edge devices — one app with a catalog of pre-mapped equipment profiles (S7 and Allen-Bradley in early access); plus IO-Link, BACnet and MTConnect collectors | ✅ OPC UA and OPC DA connectors via taosX (Enterprise); no native S7 or EtherNet/IP driver |
| MQTT | ✅ Via apps | ✅ Built-in connector (Enterprise) |
| Kafka | ✅ Via apps | ✅ Built-in connector |
| Database & historian migration | ⚠️ Via apps | ✅ Zero-code connectors for PI System, AVEVA Historian, InfluxDB and OpenTSDB |
| Semantic asset model / ontology | ⚠️ Schema per app, defined in the app manifest | ✅ IDMP element tree with attributes and relationships |
| LoRaWAN | ✅ ChirpStack on virtual device — unified pipeline | ⚠️ Via MQTT from a third-party network server |
| Offline operation | ✅ Devices run apps fully autonomously, sync on reconnect | ⚠️ Agent-side store-and-forward buffering only |
| Edge data processing | ✅ Full compute on any Linux or Windows device — any language | ⚠️ Filtering and preprocessing in the collection agent |
| Multi-tenant data isolation | ✅ Physical database separation + cryptographic realm isolation | ⚠️ RBAC, data sharing and IP whitelisting (Enterprise); not a per-customer tenancy model |
AI & Analytics
Both platforms ship AI over industrial data, and both answer questions in natural language. The difference is what happens after the answer: TDengine reports it, IronFlock can also act on it.
| Feature | IronFlock | TDengine |
|---|---|---|
| Natural language queries over data | ✅ Across fleet data, devices and apps | ✅ Chat BI over the IDMP element tree |
| AI-generated charts and dashboards | ✅ In-conversation, saved to boards | ✅ Auto-recommended panels; the platform detects the scenario and proposes dashboards |
| Multi-agent orchestration | ✅ Built-in, with sub-agents per domain | ✅ Thirteen prebuilt industrial assistants, plus external agents over MCP |
| Custom agents defined by apps | ✅ YAML agent templates shipped with apps | ✅ Markdown “skills” and a semantic knowledge base |
| Physical AI — agents execute functions on devices | ✅ | ❌ Read-dominant by design |
| AI acts under the calling user’s privileges | ✅ Every action is privilege-checked as that user | ✅ Agents inherit user permissions; sandboxed with guardrails |
| Forecasting from SQL | ✅ Regression and seasonal forecasts as a saved transform that keeps itself current | ✅ TDgpt — FORECAST in a query, foundation model behind it |
| Anomaly detection from SQL | ✅ Statistical bounds in transform SQL, plus alarm rules on live streams | ✅ TDgpt anomaly windows |
| Time-series foundation models | ⚠️ Bring your own — any model, in a container, on the device or in the cloud | ✅ TDtsfm and Time-MoE included |
| Edge ML inference | ✅ Any framework (PyTorch, TensorFlow, ONNX) in a containerized app, GPU included | ❌ No general-purpose compute at the edge |
| MCP interface for external agents | ⚠️ Roadmap | ✅ 50+ capabilities exposed as tools |
| Voice interaction | ✅ | ❌ |
| Bring your own LLM | ✅ Model registry, per-agent model selection | ✅ Connects to mainstream LLMs; no LLM shipped |
| Root cause analysis assistant | ⚠️ Via general agents | ✅ Dedicated assistant |
Visualization & Dashboards
| Feature | IronFlock | TDengine |
|---|---|---|
| Dashboard builder | ✅ No-code widget system in the browser | ✅ IDMP panels — trend, bar, pie, gauge, table, map, scatter, state timeline |
| Automatic dashboard generation | ⚠️ On request, via the AI | ✅ Proactive — the platform recommends panels for the detected scenario |
| Multi-page navigation | ✅ Pages, sidebars, tabs, action & back buttons | ⚠️ Navigation follows the element tree |
| Industrial HMI graphics (P&ID) | ✅ Full SCADA symbol library — pumps, valves, tanks, pipes, conveyors | ❌ Not an HMI/SCADA product |
| Action widgets (machine control) | ✅ Built-in | ❌ |
| Form widgets with data storage | ✅ Built-in | ❌ |
| Local HMI on the device | ✅ Apps serve a local UI, reachable even offline | ❌ |
| Embeddable dashboards | ✅ | ⚠️ Behind platform authentication |
| Real-time updates | ✅ Sub-second via WAMP | ✅ Stream processing with sliding, session, event and state windows |
| Scheduled PDF reports | ⚠️ Via apps (Grafana, custom) | ✅ Report generation assistant |
Device & Fleet Management
This is where the two products stop overlapping: device management sits outside TDengine’s scope, so everything in this table has to come from somewhere else in a TDengine deployment.
| Feature | IronFlock | TDengine |
|---|---|---|
| Device provisioning | ✅ Flash & connect, or OEM pre-registration | ❌ |
| Bulk OTA updates (OS, agent, apps) | ✅ One click across the fleet | ❌ |
| Device grouping and fleet settings | ✅ Device groups, settings, resilience | ❌ |
| Live logs from device apps | ✅ Streaming in the browser | ❌ |
| Device health, resources, status | ✅ | ⚠️ Whatever you model as tags |
| Location management and map view | ✅ | ⚠️ Map panels over your own coordinate data |
| Virtual devices (cloud compute nodes) | ✅ | ❌ |
| Hardware freedom | ✅ Any Linux or Windows device — ARM, x86, Jetson, IPCs | ✅ Agent runs on standard edge hardware; server needs real compute |
| Fleet-wide app rollout and rollback | ✅ Release channels and version pinning | ❌ |
Remote Access & Security
| Feature | IronFlock | TDengine |
|---|---|---|
| Built-in tunneling service | ✅ TCP, HTTP(S), UDP — no VPN client needed | ❌ |
| Remote HMI access | ✅ One-click from browser | ❌ |
| Remote desktop / SSH | ✅ VNC tunneling, browser-based SSH and root host access | ❌ |
| Zero open ports on devices | ✅ Agent calls out | ⚠️ Agent calls out to taosX; the database cluster listens |
| Authentication | ✅ OIDC with TOTP 2FA | ✅ SSO and RBAC (IDMP / Enterprise) |
| Encryption at rest | ✅ | ✅ Enterprise and Cloud only |
| Audit logging | ✅ Full device and user audit trail | ✅ User behavior auditing (Enterprise); AI actions logged with evidence chains |
| User privilege controls in the free/open edition | ✅ Included in the free cloud tier | ❌ Not in TSDB-OSS — privilege controls are an Enterprise feature |
| Certifications | ⚠️ Architecture designed for IEC 62443 / ISO 27001 / SOC 2 compliance; certification in progress | ✅ SOC 2 and ISO 27001/27017 stated for the commercial platform |
App Development
| Feature | IronFlock | TDengine |
|---|---|---|
| Deploy applications to devices | ✅ Docker containers, any language | ❌ |
| Extension model | Apps — containers with manifests, widgets, agents | Connectors, SQL, stream processing, AI skills, MCP clients |
| Built-in cloud IDE | ✅ | ❌ |
| Git integration | ✅ GitHub, GitLab | ❌ |
| CI/CD release pipeline | ✅ Built-in build and release | ❌ |
| App marketplace | ✅ Open, with monetization for third-party developers | ❌ |
| Client libraries / SDKs | ✅ REST API + Python SDK | ✅ Connectors for Java, Python, Go, Rust, Node.js, C#, C |
| Open-source core | ⚠️ Free cloud tier; on-premises under subscription | ✅ TSDB-OSS under AGPL-3.0 on GitHub |
Alarms & Notifications
| Feature | IronFlock | TDengine |
|---|---|---|
| Configurable rules | ✅ On any telemetry stream | ✅ Analytics results raise events on elements |
| Severity levels | ✅ Critical, Major, Minor | ✅ Severity with intelligent routing |
| Acknowledgement and annotation | ✅ | ✅ Acknowledge and escalate |
| Email notifications | ✅ | ✅ |
| SMS notifications | ✅ Built-in | ⚠️ Email and Telegram documented |
| Actions on the machine from an alarm | ✅ Via app functions and AI agents | ❌ |
Pricing Comparison
TDengine: Free Up to 5,000 Tags, Then Licensing per Tag
Since July 2026, TDengine’s free tier covers the complete platform — TSDB plus IDMP, all 20 data connectors, asset modeling, dashboards, analytics and the AI features — for up to 5,000 tags, in production, with no ingest or query throttling and no trial deadline. A tag is one continuously monitored signal (asset or device plus measurement name), independent of sampling rate; TDengine sizes 5,000 tags at roughly 100–200 machines, or one moderately complex production line. The license renews free, indefinitely, though activation and renewal need temporary internet connectivity. Two caveats are worth knowing: support is a paid option rather than part of the tier, and third-party query access to the bundled TSDB requires a separate commercial license.
Above 5,000 tags, licensing is per tag tier, self-hosted, as either an annual or a perpetual license, with surcharges for high availability and, on perpetual licenses, for ongoing support. TDengine Cloud is priced separately as a managed service. The AGPL-3.0 TSDB-OSS remains genuinely free and self-hostable, but without IDMP, without taosX connectors, without encryption, and without user privilege controls.
The model is clean and predictable, and notably does not punish high sampling rates — a strong fit for deep history on a fixed set of signals. It does scale with the breadth of your instrumentation: every new measurement on every new machine is another tag, whether or not anyone ever looks at it.
IronFlock: Free Cloud + Subscription for On-Premises
IronFlock’s cloud version is free — device management, dashboards, data storage, OTA updates, alarms, remote access and app deployment are included at no cost. Charges follow resource usage: storage, remote access sessions, virtual devices and AI usage. There are no tag counts, no point licenses, no per-device fees and no mandatory support contract. See the pricing page for details.
Additional capabilities can be added by purchasing apps from the marketplace — protocol connectors, analytics tools or industry-specific solutions built by IronFlock or third-party developers. For on-premises deployments (air-gapped or private infrastructure), IronFlock offers a subscription-based license.
When to Choose TDengine
TDengine is the better choice if:
- The database is the point. Your workload is extreme by TSDB standards — millions of tags, very high sampling rates, years of retention on one cluster — and a purpose-built engine is worth giving up a general-purpose SQL dialect for.
- You are migrating off a historian or another TSDB — the zero-code PI System, AVEVA, InfluxDB and OpenTSDB connectors make that move cheaper than writing it yourself.
- You want a bundled time-series foundation model. TDgpt runs TDtsfm or Time-MoE from inside a query, with no model of your own to choose, host or maintain.
- Your devices are already connected and already managed — an existing SCADA, PLC or gateway estate that produces data reliably, where the missing piece is a modern place to put it and a way to reason about it.
- You want a semantic asset hierarchy over a large plant: elements, attributes, relationships and a digital twin model that AI agents can navigate.
- You want a genuinely open-source core you can self-host and inspect (AGPL-3.0), with the option to stay in the free tier for a small plant indefinitely.
- You want to expose your industrial data to external AI agents over MCP and let your own agent stack do the reasoning.
When to Choose IronFlock as a TDengine Alternative
IronFlock is the stronger choice when:
- You have a fleet, not just a database. Provisioning, grouping, OTA updates across OS, agent and applications, live logs and device health are the daily work of running machines in the field — and none of it is in TDengine’s scope.
- You need real edge computing — applications in any language running on the machine, doing control, vision, local buffering and local HMI, not just protocol adaptation and forwarding.
- You need remote access without VPN — HTTP, SSH, VNC, TCP and UDP tunneling built into the platform, for every device, from the browser.
- You want AI that acts, not only advises. IronFlock’s agents invoke functions that device apps expose, under the calling user’s privileges — which means an AI conversation can change a setpoint, restart a process or trigger a routine, not just tell you that something looks wrong.
- Your sites must keep working when the network is down — IronFlock devices continue running every app autonomously, serving local screens and collecting data, and reconcile when they reconnect.
- You are an OEM shipping digital services to your own customers and need per-customer data isolation and a white-label portal, not a single-tenant plant database.
- You want to build and monetize apps — package your domain expertise as a container and sell it through an open marketplace.
- You want SCADA-grade visualization — a full P&ID symbol library, action widgets and forms — alongside the analytics.
- Tag counting doesn’t fit your data. Broad instrumentation across many machines — hundreds of signals each, most of them looked at only when something goes wrong — gets expensive quickly when every signal is a licensed tag.
- You need to answer business questions, not just tag questions. FleetDB is full PostgreSQL: join production counts against quality results and energy readings from three different apps, express OEE or yield as one query, and save it as a transform that keeps itself current and feeds boards and the AI like any other table.
- You want one system instead of a stack. Storage, dashboards, SCADA graphics, alarms, device management, remote access and AI come from the same platform, with one access model over all of it — rather than a database layer that still needs a device layer underneath it.
Migration Path
IronFlock can run alongside an existing TDengine deployment while you move across. Start at the machine: an IronFlock collector app reads the same PLCs over S7, Modbus or OPC UA on the edge device and writes into FleetDB, so new dashboards, alarms and AI conversations are built on IronFlock while the old TSDB keeps serving whatever still points at it. Historical data comes over in bulk through a containerized migration app against TDengine’s REST interface.
From there the device layer is what changes the picture — provisioning, OTA updates, remote access and offline operation arrive for the same machines that were previously only sending tags — and the tag license stops growing with every measurement you add.
Ready to try it? Start free — connect a device and see your first dashboard in minutes.