Time‑Series Database Series: Trends, Design Principles, and Comparative Analysis of OpenTSDB, InfluxDB, and Apache IoTDB
This article explores the evolution and current landscape of time‑series databases, detailing design principles, storage structures such as B‑Tree, B+Tree, and LSM‑Tree, and providing an in‑depth comparison of OpenTSDB, InfluxDB, and the emerging Apache IoTDB, while also discussing practical deployment considerations and industry use cases.
The series introduces the rapid growth of time‑series databases since 2018, highlighting their importance in IoT, edge computing, and industrial sensor data collection. It examines the limitations of traditional relational storage for high‑throughput, write‑heavy workloads and explains why specialized time‑series solutions are needed.
Key storage structures are compared: B‑Tree stores data in every node, leading to higher disk I/O; B+Tree stores data only in leaf nodes, enabling efficient range queries; and LSM‑Tree provides O(1) writes by buffering in memory and sequentially flushing to disk. The article shows how these structures affect write and read performance in large‑scale IoT scenarios.
OpenTSDB’s row‑key design on HBase is dissected, revealing the use of metric UID, timestamp, and tags, the role of salting to mitigate hotspotting, and the trade‑offs of storing extensive tag information in the key. Optimizations such as hour‑level timestamps and UID mapping are discussed.
InfluxDB’s evolution is traced from LevelDB to RocksDB and finally to the TSM engine. The article describes the TSM file layout, write‑ahead logging, in‑memory cache partitioning, snapshotting, compaction, and the use of Bloom filters, hash indexes, and tag‑based inverted indexes to achieve high write throughput and fast queries.
Apache IoTDB, a newer Apache top‑level project, is presented as an LSM‑based system with a tLSM architecture that separates out‑of‑order data handling, provides SQL‑level query optimization, and demonstrates superior benchmark performance over InfluxDB. Deployment examples, such as a Shanghai subway project handling billions of points per day, illustrate its industrial readiness.
The article concludes with a recruitment notice for senior engineers experienced in Java/Scala, data structures, Hadoop/Flink/Spark, and NoSQL databases, inviting candidates to join Alibaba’s time‑series database development team.
DataFunTalk
Dedicated to sharing and discussing big data and AI technology applications, aiming to empower a million data scientists. Regularly hosts live tech talks and curates articles on big data, recommendation/search algorithms, advertising algorithms, NLP, intelligent risk control, autonomous driving, and machine learning/deep learning.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.