MVLevelDB : Using Log-Structured Tree to Support Temporal Queries in IoT

Research output: Journal Publications and Reviews (RGC: 21, 22, 62)21_Publication in refereed journalpeer-review

1 Scopus Citations
View graph of relations

Related Research Unit(s)


Original languageEnglish
Pages (from-to)7815-7825
Journal / PublicationIEEE Internet of Things Journal
Issue number10
Online published21 Sep 2021
Publication statusPublished - 15 May 2022


Although LSM-trees are commonly adopted in many NoSQLs as they can significantly improve the write performance in updating a database, most of the proposed LSM-trees are concentrated on storing single version of data. On the other hand, in many IoT applications, it is important to maintain the old versions of data in addition to the latest version. In this paper, we introduce our design and implementation of an enhancement of LevelDB to multi-version LevelDB (called MVLevelDB) with the purpose to efficiently support temporal queries on multi-version data in IoT applications. Based on the temporal consistency, we formulated the Log-structured Multi-version tree (LSMV-tree) to be implemented into MVLevelDB. In LSMV-tree, each data version is associated with two time-stamps to define its validity interval, and both the data versions and the components are time-sorted to improve the efficiency in searching data in processing temporal queries. To handle the problem of multi-components data versions, we designed the Data version Duplication (DvD) method in which a data version will be duplicated in the next component if it is valid while its component is being flushed from the main memory to disk storage. Extensive experiments using a benchmark program have been performed to investigate the performance of MVLevelDB as compared with LevelDB both in writing and reading data.

Research Area(s)

  • Compaction, Data Streams, Databases, Distributed databases, History, Internet of Things (IoT), IoT, log-structured-merge tree (LSM-tree), Merging, Monitoring, Sensor Data Management, Temporal Consistency