An Efficient LSM-Tree-Based SQLite-Like Database Engine for Mobile Devices
Publication in refereed journal

Times Cited
Altmetrics Information

Other information
AbstractSQLite has been deployed in millions of mobile devices from Web to smartphone applications on various mobile operating systems. However, due to the uncoordinated IO interactions with the underlying file system (e.g., ext4), SQLite is not efficient with low transactions per second. In this paper, we for the first time propose a new SQLite-like database engine, called SQLiteKV, which adopts the LSM-tree-based data structure but retains the SQLite operation interfaces. With its SQLite interface, SQLiteKV can be utilized by existing applications without any modification, while providing high performance with its LSM-tree-based data structure. We separate SQLiteKV into the front-end and back-end. In the front-end, we develop a lightweight SQLite-to-KV compiler to solve the semantic mismatch, so SQL statements can be efficiently translated into KV operations. We also design a novel coordination caching mechanism with memory defragmentation so query results can be effectively cached inside SQLiteKV by alleviating the discrepancy of data management between front-end SQLite statements and hack-end data organization. In the back-end, we adopt an ISM-tree-based key-value database engine, and propose a lightweight metadata management scheme to mitigate the memory requirement. We have implemented and deployed SQLiteKV on a Google Nexus 6P smartphone. Experimental results with various workloads show that SQLiteKV outperforms SQLite up to six times.
All Author(s) ListZhaoyan Shen, Yuanjing Shi, Zili Shao, Yong Guan
Journal nameIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume Number38
Issue Number9
Pages1635 - 1647
LanguagesEnglish-United States

Last updated on 2020-15-01 at 03:25