Apache IoTDB vs BTrDB
Apache IoTDB
iotdb.apache.orgBTrDB
btrdb.readthedocs.ioSide by side
| Figure | Apache IoTDB | BTrDB |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Time-Series Databases | 9.1 (#2) | 8.8 (#3) |
| Compression | IoTDB uses compressed disk storage and is marketed as reducing hardware storage cost. | The documentation reports 2.93x compression for high-precision nanosecond streams. |
| Integrations | Documented integrations include Telegraf, NiFi, Kafka, Flink, Spark, Zeppelin, Grafana, DataEase, DBeaver and ThingsBoard. | The Python documentation includes examples using Dash and Plotly to plot data queried from BTrDB. |
| Product | Apache IoTDB is an industrial IoT time-series database for collecting, storing, managing, and analyzing IoT time-series data with edge-cloud collaboration. | BTrDB is a time-partitioned, version-annotated clustered time-series database for high-density univariate data. |
| Support | The project points users to QQ, WeChat, and Slack community channels and a developer mailing list for questions and help. | The documentation invites users to submit pull requests or open a GitHub issue for additions or corrections. |
Plans
In their own words
Apache IoTDB
Apache IoTDB is an open-source industrial IoT time-series database for collecting, storing, managing, and analyzing device data across edge and cloud deployments. The project describes high-speed writes for millions of networked devices alongside fast reads. Query features include aligning time across devices and sensors, time-series computation, and aggregation by time dimensions. Ingestion options include IoTDB-SQL, JDBC, Java, C++, Python, and Go native APIs, REST, MQTT, CSV, and TsFile. Named analysis ecosystem examples include Hadoop, Spark, Flink, and Grafana. Deployment options include cloud installation, a desktop terminal tool, and synchronization between cloud and on-premise machines. The REST service is disabled by default and uses Basic Authentication except for the health check endpoint. Data and cluster permissions can be managed through users, roles, and privileges. The homepage states disk storage can cost less than $0.23 per GB. The project lists energy, aerospace, transportation, steel, and other IoT scenarios. Its JDBC documentation cautions that insert operations may not provide high-performance writing and recommends the Java Native API for Java applications.
BTrDB
BTrDB is a free, MIT-licensed, self-hosted time-series database for dense, high-precision univariate data. It partitions data by time, supports clustered deployments, and records stream changes as new versions that queries can target. Streams have unique UUIDs and can be grouped into collections with tags and annotations. The Python btrdb package supports nanosecond-timestamp queries and insertion through Stream.insert, PyArrow tables, or pandas DataFrames. Statistical queries can return minimum, maximum, mean, count, and standard deviation without reading every underlying point. StreamSets can be filtered and converted to pandas DataFrames or CSV files. Documentation shows Dash and Plotly visualization, Ray-worker serialization, TLS on port 4411, and API-key authentication requiring that TLS port. Arrow-based tabular methods are documented for commercial customers with Arrow-enabled servers. BTrDB reports measured cluster throughput and compression figures, and describes smart-grid aggregation at city or country scale as one target use case.