{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T05:01:33Z","timestamp":1755838893109,"version":"3.41.0"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,12,1]],"date-time":"2017-12-01T00:00:00Z","timestamp":1512086400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2017,12]]},"abstract":"<jats:p>The lightweight codebase of SQLite was helpful in making it become the de-facto standard database in most mobile devices, but, at the same time, forced it to take less-complicated transactional schemes, such as physical page logging, journaling, and force commit, which in turn cause excessive write amplification. Thus, the write IO cost in SQLite is not lightweight at all.<\/jats:p>\n          <jats:p>\n            In this paper, to make SQLite truly lite in terms of IO efficiency for the transactional support, we propose\n            <jats:italic>SQLite\/SSL<\/jats:italic>\n            , a\n            <jats:italic>per-transaction SQL statement logging<\/jats:italic>\n            scheme: when a transaction commits,\n            <jats:italic>SQLite\/SSL<\/jats:italic>\n            ensures its durability by storing only SQL statements of small size, thus writing less and performing faster at no compromise of transactional solidity. Our main contribution is to show that, based on the observation that mobile transactions tend to be\n            <jats:italic>short<\/jats:italic>\n            and exhibit\n            <jats:italic>strong update locality<\/jats:italic>\n            , logical logging can, though long discarded, become an elegant and perfect fit for SQLite-based mobile applications. Further, we leverage the WAL journal mode in vanilla SQLite as a\n            <jats:italic>transaction-consistent checkpoint<\/jats:italic>\n            mechanism which is indispensable in any logical logging scheme. In addition, we show for the first time that byte-addressable NVM (non-volatile memory) in host-side can realize the full potential of logical logging because it allows to store fine-grained logs quickly.\n          <\/jats:p>\n          <jats:p>\n            We have prototyped\n            <jats:italic>SQLite\/SSL<\/jats:italic>\n            by augmenting vanilla SQLite with a transaction-consistent checkpoint mechanism and a redo-only recovery logic, and have evaluated its performance using a set of synthetic and real workloads. When a real NVM board is used as its log device,\n            <jats:italic>SQLite\/SSL<\/jats:italic>\n            can outperform vanilla SQLite's WAL mode by up to 300x and also outperform the state-of-the-arts SQLite\/PPL scheme by several folds in terms of IO time.\n          <\/jats:p>","DOI":"10.1145\/3186728.3164146","type":"journal-article","created":{"date-parts":[[2019,11,20]],"date-time":"2019-11-20T10:54:54Z","timestamp":1574247294000},"page":"513-525","source":"Crossref","is-referenced-by-count":12,"title":["SQL statement logging for making SQLite truly lite"],"prefix":"10.14778","volume":"11","author":[{"given":"Jong-Hyeok","family":"Park","sequence":"first","affiliation":[{"name":"Sungkyunkwan University, Suwon, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gihwan","family":"Oh","sequence":"additional","affiliation":[{"name":"Sungkyunkwan University, Suwon, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sang-Won","family":"Lee","sequence":"additional","affiliation":[{"name":"Sungkyunkwan University, Suwon, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,12]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"http:\/\/www.androbench.org\/wiki\/AndroBench","author":"Lite AndroBench","year":"2017","unstructured":"AndroBench (SQ Lite Benchmark). http:\/\/www.androbench.org\/wiki\/AndroBench , 2017 . AndroBench (SQLite Benchmark). http:\/\/www.androbench.org\/wiki\/AndroBench, 2017."},{"key":"e_1_2_1_2_1","volume-title":"http:\/\/www.sqlite.org\/\\atomiccommit.html","author":"Lite Atomic Commit","year":"2017","unstructured":"Atomic Commit In SQ Lite . http:\/\/www.sqlite.org\/\\atomiccommit.html , 2017 . Atomic Commit In SQLite. http:\/\/www.sqlite.org\/\\atomiccommit.html, 2017."},{"key":"e_1_2_1_3_1","volume-title":"http:\/\/www.sqlite.org\/\\famous.html","author":"Lite Well-Known","year":"2017","unstructured":"Well-Known Users of SQ Lite . http:\/\/www.sqlite.org\/\\famous.html , 2017 . Well-Known Users of SQLite. http:\/\/www.sqlite.org\/\\famous.html, 2017."},{"key":"e_1_2_1_4_1","volume-title":"http:\/\/www.sqlite.org\/\\wal.html","author":"Logging Write-Ahead","year":"2017","unstructured":"Write-Ahead Logging . http:\/\/www.sqlite.org\/\\wal.html , 2017 . Write-Ahead Logging. http:\/\/www.sqlite.org\/\\wal.html, 2017."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2749441"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/12518"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.33"},{"key":"e_1_2_1_8_1","first-page":"500","volume-title":"BW. In Proceedings of Solid-State Circuits Conference Digest of Technical Papers (ISSCC)","author":"H. Chung","year":"2011","unstructured":"H. Chung et al. A 58nm 1.8V 1Gb PRAM with 6.4MB\/s program BW. In Proceedings of Solid-State Circuits Conference Digest of Technical Papers (ISSCC) , pages 500 -- 502 , 2011 . H. Chung et al. A 58nm 1.8V 1Gb PRAM with 6.4MB\/s program BW. In Proceedings of Solid-State Circuits Conference Digest of Technical Papers (ISSCC), pages 500--502, 2011."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522724"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767918"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356847"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/573304"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/289.291"},{"key":"e_1_2_1_14_1","volume-title":"Feb","author":"Enterprise HP","year":"2017","unstructured":"HP Enterprise . HPE 8GB NVDIMM Single Rank x4 DDR4-2133 Module. https:\/\/www.hpe.com\/h20195\/v2\/getpdf.aspx\/c04939369.pdf?ver=3 , Feb 2017 . HP Enterprise. HPE 8GB NVDIMM Single Rank x4 DDR4-2133 Module. https:\/\/www.hpe.com\/h20195\/v2\/getpdf.aspx\/c04939369.pdf?ver=3, Feb 2017."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535499"},{"key":"e_1_2_1_16_1","volume-title":"Feb","author":"Hruska Joel","year":"2016","unstructured":"Joel Hruska . How do SSDs work? http:\/\/www.extremetech.com\/extreme\/210492-extremetech-explains-how-do-ssds-work , Feb 2016 . Joel Hruska. How do SSDs work? http:\/\/www.extremetech.com\/extreme\/210492-extremetech-explains-how-do-ssds-work, Feb 2016."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465326"},{"key":"e_1_2_1_18_1","volume-title":"TPCTC","author":"Kennedy O.","year":"2015","unstructured":"O. Kennedy , J. A. Ajay , G. Challen , and L. Ziarek . Pocket Data: The Need for TPC-MOBILE . In TPCTC , 2015 . O. Kennedy, J. A. Ajay, G. Challen, and L. Ziarek. Pocket Data: The Need for TPC-MOBILE. In TPCTC, 2015."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591309"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872392"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_2_1_22_1","first-page":"115","volume-title":"Rapid System Prototyping (RSP) '14","author":"Lee T.","year":"2014","unstructured":"T. Lee , D. Kim , H. Park , S. Yoo , and S. Lee . FPGA-based Prototyping Systems for Emerging Memory Technologies(Invited Paper) . In Rapid System Prototyping (RSP) '14 , pages 115 -- 120 , 2014 . T. Lee, D. Kim, H. Park, S. Yoo, and S. Lee. FPGA-based Prototyping Systems for Emerging Memory Technologies(Invited Paper). In Rapid System Prototyping (RSP) '14, pages 115--120, 2014."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/320521.320540"},{"key":"e_1_2_1_24_1","first-page":"604","volume-title":"Rethinking Main Memory OLTP Recovery. In IEEE 30th International Conference on Data Engineering (ICDE 2014","author":"Malviya N.","year":"2014","unstructured":"N. Malviya , A. Weisberg , S. Madden , and M. Stonebraker . Rethinking Main Memory OLTP Recovery. In IEEE 30th International Conference on Data Engineering (ICDE 2014 ), pages 604 -- 615 , 2014 . N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking Main Memory OLTP Recovery. In IEEE 30th International Conference on Data Engineering (ICDE 2014), pages 604--615, 2014."},{"volume-title":"Omneo P8P 128-Mbit Parallel Phase Change Memory. Data Sheet","year":"2010","key":"e_1_2_1_25_1","unstructured":"Numonyx. Omneo P8P 128-Mbit Parallel Phase Change Memory. Data Sheet 316144-06, Apr 2010 . Numonyx. Omneo P8P 128-Mbit Parallel Phase Change Memory. Data Sheet 316144-06, Apr 2010."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824044"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882910"},{"key":"e_1_2_1_28_1","unstructured":"E. Shein. Chatbots Take Off. http:\/\/cacm.acm.org\/news\/207002-chatbots-take-off\/ September 2016.  E. Shein. Chatbots Take Off. http:\/\/cacm.acm.org\/news\/207002-chatbots-take-off\/ September 2016."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897073.2897093"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3186728.3164146","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3186728.3164146","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:07:31Z","timestamp":1750273651000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3186728.3164146"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,12]]},"references-count":29,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,12]]}},"alternative-id":["10.1145\/3186728.3164146"],"URL":"https:\/\/doi.org\/10.1145\/3186728.3164146","relation":{},"ISSN":["2150-8097"],"issn-type":[{"type":"print","value":"2150-8097"}],"subject":[],"published":{"date-parts":[[2017,12]]}}}