The growing footprint of Internet-of-Things sensing pipelines has intensified the need for time-series databases that preserve correctness under high ingest rates and low-latency queries. A persistent limitation of many systems is that records sharing...
The growing footprint of Internet-of-Things sensing pipelines has intensified the need for time-series databases that preserve correctness under high ingest rates and low-latency queries. A persistent limitation of many systems is that records sharing the same timestamp are overwritten, either due to precision mismatch between data and storage or because multiple events legitimately occur at the same time. This thesis presents Tag-based Sequential Grouping approach, a lightweight technique that preserves same timestamp keeps time as the primary key and attaches a per-timestamp tag identifier as a secondary index, assigned by an atomic, monotonically increasing procedure. Records are stored uniquely by the (time, tag) pair; range queries first filter by time and then perform short, tag-local scans, preserving the engine’s native time-ordered layout. We further extend the read path with tag-wise parallel reading, which discovers active tags in a query window and executes per tag sub-tasks in a fixed size thread pool with deterministic merging.
We implement the proposed approach as an external orchestrator in Python and evaluate it on InfluxDB 2.7.5, Apache IoTDB 1.3.2 (configured to nanosecond precision), and KairosDB 1.3.0, using real tick-level datasets (AAPL, Nov 2021; GOOG, Dec 2021). Across all systems, our approach achieves 100% data retention of same timestamp records. For temporal range queries, our approach consistently outperforms the All-Tagged baseline and, in precision-limited engines, reduces read latency by large margins (up to 60× in our prior benchmarks). Memory profiling shows our approach comparable to offset-based differentiation in IoTDB, lower than All-Tagged in KairosDB, and higher than offset in InfluxDB while preserving timestamp integrity. In parallel experiments on InfluxDB, tag-wise reading uses less memory across ranges and excels on short windows; time-sliced reading can prevail on long windows under heavy tag skew, while balanced tag distributions favor tag-wise reading. Overall, our proposed approach delivers a practical, engine-agnostic path to complete preservation, efficient querying, and robust parallel reads for high-frequency time-series workloads.