{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,1]],"date-time":"2026-08-01T14:55:04Z","timestamp":1785596104089,"version":"3.56.0"},"publisher-location":"New York, NY, USA","reference-count":80,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,5,9]],"date-time":"2017-05-09T00:00:00Z","timestamp":1494288000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCF-1438955"],"award-info":[{"award-number":["CCF-1438955"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2017,5,9]]},"DOI":"10.1145\/3035918.3054780","type":"proceedings-article","created":{"date-parts":[[2017,5,10]],"date-time":"2017-05-10T18:09:00Z","timestamp":1494439740000},"page":"1753-1758","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":70,"title":["How to Build a Non-Volatile Memory Database Management System"],"prefix":"10.1145","author":[{"given":"Joy","family":"Arulraj","sequence":"first","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Andrew","family":"Pavlo","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2017,5,9]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Direct access for files (DAX). https:\/\/www.kernel.org\/doc\/Documentation\/filesystems\/dax.txt.  Direct access for files (DAX). https:\/\/www.kernel.org\/doc\/Documentation\/filesystems\/dax.txt."},{"key":"e_1_3_2_1_2_1","unstructured":"H-Store. http:\/\/hstore.cs.brown.edu.  H-Store. http:\/\/hstore.cs.brown.edu."},{"key":"e_1_3_2_1_3_1","unstructured":"LIBNVDIMM\n  : Non-volatile devices. https:\/\/www.kernel.org\/doc\/Documentation\/nvdimm\/nvdimm.txt.  LIBNVDIMM: Non-volatile devices. https:\/\/www.kernel.org\/doc\/Documentation\/nvdimm\/nvdimm.txt."},{"key":"e_1_3_2_1_4_1","unstructured":"Peloton Database Management System. http:\/\/pelotondb.org.  Peloton Database Management System. http:\/\/pelotondb.org."},{"key":"e_1_3_2_1_5_1","unstructured":"Persistent memory file system (PMFS). https:\/\/github.com\/linux-pmfs\/pmfs.  Persistent memory file system (PMFS). https:\/\/github.com\/linux-pmfs\/pmfs."},{"key":"e_1_3_2_1_6_1","unstructured":"Persistent memory programming library. http:\/\/pmem.io\/.  Persistent memory programming library. http:\/\/pmem.io\/."},{"key":"e_1_3_2_1_7_1","unstructured":"SAP HANA administration guide: Load\/unload a column table into\/from memory. http:\/\/help.sap.com\/saphelp_hanaplatform\/helpdata\/en\/c1\/33165bbb57101493c5fb19b5b8607f\/content.htm.  SAP HANA administration guide: Load\/unload a column table into\/from memory. http:\/\/help.sap.com\/saphelp_hanaplatform\/helpdata\/en\/c1\/33165bbb57101493c5fb19b5b8607f\/content.htm."},{"key":"e_1_3_2_1_8_1","volume-title":"https:\/\/www.jedec.org\/news\/pressreleases\/jedec-announces-support-nvdimm-hybrid-memory-modules","author":"JEDEC","year":"2015","unstructured":"JEDEC announces support for NVDIMM hybrid memory modules. https:\/\/www.jedec.org\/news\/pressreleases\/jedec-announces-support-nvdimm-hybrid-memory-modules , 2015 . JEDEC announces support for NVDIMM hybrid memory modules. https:\/\/www.jedec.org\/news\/pressreleases\/jedec-announces-support-nvdimm-hybrid-memory-modules, 2015."},{"key":"e_1_3_2_1_9_1","volume-title":"https:\/\/software.intel.com\/sites\/default\/files\/managed\/b4\/3a\/319433-024.pdf","author":"Instruction Set Extensions Programming Intel Architecture","year":"2016","unstructured":"Intel Architecture Instruction Set Extensions Programming Reference. https:\/\/software.intel.com\/sites\/default\/files\/managed\/b4\/3a\/319433-024.pdf , 2016 . Intel Architecture Instruction Set Extensions Programming Reference. https:\/\/software.intel.com\/sites\/default\/files\/managed\/b4\/3a\/319433-024.pdf, 2016."},{"key":"e_1_3_2_1_10_1","volume-title":"http:\/\/www.nvmexpress.org\/specifications","author":"NVM","year":"2016","unstructured":"NVM Express over Fabrics specification. http:\/\/www.nvmexpress.org\/specifications , 2016 . NVM Express over Fabrics specification. http:\/\/www.nvmexpress.org\/specifications, 2016."},{"key":"e_1_3_2_1_11_1","volume-title":"http:\/\/www.oracle.com\/technetwork\/database\/in-memory\/overview\/twp-oracle-database-in-memory-2245633.html","author":"In-Memory Database Oracle","year":"2016","unstructured":"Oracle In-Memory Database White Paper . http:\/\/www.oracle.com\/technetwork\/database\/in-memory\/overview\/twp-oracle-database-in-memory-2245633.html , 2016 . Oracle In-Memory Database White Paper. http:\/\/www.oracle.com\/technetwork\/database\/in-memory\/overview\/twp-oracle-database-in-memory-2245633.html, 2016."},{"key":"e_1_3_2_1_12_1","first-page":"269","volume-title":"IWDM","author":"Agrawal R.","year":"1989","unstructured":"R. Agrawal and H. V. Jagadish . Recovery algorithms for database machines with nonvolatile main memory . IWDM , pages 269 -- 285 , 1989 . R. Agrawal and H. V. Jagadish. Recovery algorithms for database machines with nonvolatile main memory. IWDM, pages 269--285, 1989."},{"key":"e_1_3_2_1_13_1","volume-title":"VLDB","author":"Ailamaki A.","year":"2001","unstructured":"A. Ailamaki , D. J. DeWitt , M. D. Hill , and M. Skounakis . Weaving relations for cache performance . In VLDB , 2001 . A. Ailamaki, D. J. DeWitt, M. D. Hill, and M. Skounakis. Weaving relations for cache performance. In VLDB, 2001."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2749441"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.14778\/3025111.3025116"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/320455.320457"},{"key":"e_1_3_2_1_17_1","first-page":"211","volume-title":"NSDI","author":"Badam A.","year":"2011","unstructured":"A. Badam and V. S. Pai . SSDAlloc: hybrid SSD\/RAM memory management made easy . In NSDI , pages 211 -- 224 , 2011 . A. Badam and V. S. Pai. SSDAlloc: hybrid SSD\/RAM memory management made easy. In NSDI, pages 211--224, 2011."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2956641.2967618"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2236584.2236588"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2935764.2935767"},{"key":"e_1_3_2_1_21_1","volume-title":"Implications of CPU caching on byte-addressable non-volatile memory programming","author":"Bhandari K.","year":"2012","unstructured":"K. Bhandari andtextit Implications of CPU caching on byte-addressable non-volatile memory programming . 2012 . K. Bhandari andtextitet al. Implications of CPU caching on byte-addressable non-volatile memory programming. 2012."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2755573.2755604"},{"key":"e_1_3_2_1_23_1","first-page":"54","volume-title":"VLDB","author":"Boncz P.","year":"1999","unstructured":"P. Boncz andtextit Database architecture optimized for the new bottleneck: Memory access . In VLDB , pages 54 -- 65 , 1999 . P. Boncz andtextitet al. Database architecture optimized for the new bottleneck: Memory access. In VLDB, pages 54--65, 1999."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0449"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735479.2735483"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2014.6855541"},{"key":"e_1_3_2_1_27_1","first-page":"21","volume-title":"CIDR","author":"Chen S.","year":"2011","unstructured":"S. Chen , P. B. Gibbons , and S. Nath . Rethinking database algorithms for phase change memory . In CIDR , pages 21 -- 31 , 2011 . S. Chen, P. B. Gibbons, and S. Nath. Rethinking database algorithms for phase change memory. In CIDR, pages 21--31, 2011."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/2752939.2752947"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_3_2_1_31_1","first-page":"327","volume-title":"VLDB","author":"Copeland G.","year":"1989","unstructured":"G. Copeland , T. Keller , R. Krishnamurthy , and M. Smith . The case for Safe RAM . VLDB , pages 327 -- 335 , 1989 . G. Copeland, T. Keller, R. Krishnamurthy, and M. Smith. The case for Safe RAM. VLDB, pages 327--335, 1989."},{"key":"e_1_3_2_1_32_1","volume-title":"LWN","author":"Corbet J.","year":"2013","unstructured":"J. Corbet . LFCS : Preparing linux for nonvolatile memory devices . LWN , April 2013 . J. Corbet. LFCS: Preparing linux for nonvolatile memory devices. LWN, April 2013."},{"key":"e_1_3_2_1_33_1","volume-title":"ADMS@VLDB","author":"DeBrabant J.","year":"2014","unstructured":"J. DeBrabant , J. Arulraj , andtextitet al. A prolegomenon on OLTP database systems for non-volatile memory . In ADMS@VLDB , 2014 . J. DeBrabant, J. Arulraj, andtextitet al. A prolegomenon on OLTP database systems for non-volatile memory. In ADMS@VLDB, 2014."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.14778\/2556549.2556575"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463710"},{"key":"e_1_3_2_1_36_1","volume-title":"Non-Volatile Memories Workshop","author":"Driskill-Smith A.","year":"2010","unstructured":"A. Driskill-Smith . Latest advances and future prospects of STT-RAM . In Non-Volatile Memories Workshop , 2010 . A. Driskill-Smith. Latest advances and future prospects of STT-RAM. In Non-Volatile Memories Workshop, 2010."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732967.2732968"},{"key":"e_1_3_2_1_39_1","first-page":"1058","volume-title":"The Computer Science and Engineering Handbook","author":"Franklin M.","year":"1997","unstructured":"M. Franklin . Concurrency Control and Recovery . The Computer Science and Engineering Handbook , pages 1058 -- 1077 , 1997 . M. Franklin. Concurrency Control and Recovery. The Computer Science and Engineering Handbook, pages 1058--1077, 1997."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063576.2063977"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.180602"},{"key":"e_1_3_2_1_42_1","volume-title":"TR-2015-01","author":"Garg V.","year":"2015","unstructured":"V. Garg , A. Singh , and J. R. Haritsa . On improving write performance in PCM databases. Technical report , TR-2015-01 , IISc , 2015 . V. Garg, A. Singh, and J. R. Haritsa. On improving write performance in PCM databases. Technical report, TR-2015-01, IISc, 2015."},{"key":"e_1_3_2_1_43_1","volume-title":"Tandem","author":"Gawlick D.","year":"1985","unstructured":"D. Gawlick and D. Kinkade . Varieties of concurrency control in IMS\/VS Fast Path. Technical report , Tandem , 1985 . D. Gawlick and D. Kinkade. Varieties of concurrency control in IMS\/VS Fast Path. Technical report, Tandem, 1985."},{"key":"e_1_3_2_1_44_1","volume-title":"Synthesis Lectures on Data Management","author":"Graefe G.","year":"2015","unstructured":"G. Graefe andtextit Instant recovery with write-ahead logging: Page repair, system restart, and media restore . Synthesis Lectures on Data Management , 2015 . G. Graefe andtextitet al. Instant recovery with write-ahead logging: Page repair, system restart, and media restore. Synthesis Lectures on Data Management, 2015."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/235968.233330"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1007\/s13222-015-0204-3"},{"key":"e_1_3_2_1_47_1","first-page":"487","volume-title":"VLDB","author":"Harizopoulos S.","year":"2006","unstructured":"S. Harizopoulos andtextit Performance tradeoffs in read-optimized databases . In VLDB , pages 487 -- 498 , 2006 . S. Harizopoulos andtextitet al. Performance tradeoffs in read-optimized databases. In VLDB, pages 487--498, 2006."},{"key":"e_1_3_2_1_48_1","unstructured":"R. Harris. Windows leaps into the NVM revolution. http:\/\/www.zdnet.com\/articlewindows-leaps-into-the-nvm-revolution Apr. 2016.  R. Harris. Windows leaps into the NVM revolution. http:\/\/www.zdnet.com\/articlewindows-leaps-into-the-nvm-revolution Apr. 2016."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2771937.2771940"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735502"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591309"},{"key":"e_1_3_2_1_52_1","volume-title":"Using non-volatile memory (NVDIMM-N) as byte-addressable storage in windows server","author":"Klima T.","year":"2016","unstructured":"T. Klima . Using non-volatile memory (NVDIMM-N) as byte-addressable storage in windows server 2016 . https:\/\/channel9.msdn.com\/events\/build\/2016\/p470, 2016. T. Klima. Using non-volatile memory (NVDIMM-N) as byte-addressable storage in windows server 2016. https:\/\/channel9.msdn.com\/events\/build\/2016\/p470, 2016."},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2013.6544811"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2013.6544834"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2644865.2541957"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2933349.2933358"},{"key":"e_1_3_2_1_57_1","volume-title":"A case for efficient hardware\/software cooperative management of storage and memory","author":"Meza J.","year":"2013","unstructured":"J. Meza , Y. Luo , S. Khan , J. Zhao , Y. Xie , and O. Mutlu . A case for efficient hardware\/software cooperative management of storage and memory . 2013 . J. Meza, Y. Luo, S. Khan, J. Zhao, Y. Xie, and O. Mutlu. A case for efficient hardware\/software cooperative management of storage and memory. 2013."},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/128765.128770"},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/2524211.2524216"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2857274.2874238"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915251"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619228.2619236"},{"key":"e_1_3_2_1_63_1","volume-title":"CIDR","author":"Pavlo A.","year":"2017","unstructured":"A. Pavlo , G. Angulo , J. Arulraj , H. Lin , J. Lin , L. Ma , P. Menon , Self-driving database management systems . In CIDR , 2017 . A. Pavlo, G. Angulo, J. Arulraj, H. Lin, J. Lin, L. Ma, P. Menon, et al. Self-driving database management systems. In CIDR, 2017."},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732228.2732231"},{"key":"e_1_3_2_1_65_1","volume-title":"Do query optimizers need to be ssd-aware?","author":"Pelley S.","year":"2011","unstructured":"S. Pelley , T. F. Wenisch , and K. LeFevre . Do query optimizers need to be ssd-aware? 2011 . S. Pelley, T. F. Wenisch, and K. LeFevre. Do query optimizers need to be ssd-aware? 2011."},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_2_1_69_1","volume-title":"Deprecating the PCOMMIT instruction. https:\/\/software.intel.com\/en-us\/blogs\/2016\/09\/12\/deprecate-pcommit-instruction","author":"Rudoff A.","year":"2016","unstructured":"A. Rudoff . Deprecating the PCOMMIT instruction. https:\/\/software.intel.com\/en-us\/blogs\/2016\/09\/12\/deprecate-pcommit-instruction , 2016 . A. Rudoff. Deprecating the PCOMMIT instruction. https:\/\/software.intel.com\/en-us\/blogs\/2016\/09\/12\/deprecate-pcommit-instruction, 2016."},{"key":"e_1_3_2_1_70_1","first-page":"61","volume-title":"ADMS","author":"Schwalb D.","year":"2015","unstructured":"D. Schwalb , T. Berning , M. Faust , M. Dreseler , and H. Plattner . nvm malloc: Memory allocation for NVRAM . In ADMS , pages 61 -- 72 , 2015 . D. Schwalb, T. Berning, M. Faust, M. Dreseler, and H. Plattner. nvm malloc: Memory allocation for NVRAM. In ADMS, pages 61--72, 2015."},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485278.2485285"},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/358699.358703"},{"key":"e_1_3_2_1_73_1","volume-title":"The missing memristor found. Nature, (7191):80--83","author":"Strukov D. B.","year":"2008","unstructured":"D. B. Strukov , G. S. Snider , D. R. Stewart , and R. S. Williams . The missing memristor found. Nature, (7191):80--83 , 2008 . D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams. The missing memristor found. Nature, (7191):80--83, 2008."},{"key":"e_1_3_2_1_74_1","volume-title":"FAST","author":"Venkataraman S.","year":"2011","unstructured":"S. Venkataraman andtextit Consistent and durable data structures for non-volatile byte-addressable memory . In FAST , 2011 . S. Venkataraman andtextitet al. Consistent and durable data structures for non-volatile byte-addressable memory. In FAST, 2011."},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-33074-2_30"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732269.2732277"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2731082"},{"key":"e_1_3_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950379"},{"key":"e_1_3_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.90"},{"key":"e_1_3_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732960"},{"key":"e_1_3_2_1_81_1","first-page":"167","volume-title":"FAST 15","author":"Yang J.","year":"2015","unstructured":"J. Yang , Q. Wei , C. Chen , C. Wang , K. L. Yong , and B. He . NV-Tree: reducing consistency cost for NVM-based single level systems . In FAST 15 , pages 167 -- 181 , 2015 . J. Yang, Q. Wei, C. Chen, C. Wang, K. L. Yong, and B. He. NV-Tree: reducing consistency cost for NVM-based single level systems. In FAST 15, pages 167--181, 2015."},{"key":"e_1_3_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694370"}],"event":{"name":"SIGMOD\/PODS'17: International Conference on Management of Data","location":"Chicago Illinois USA","acronym":"SIGMOD\/PODS'17","sponsor":["SIGMOD ACM Special Interest Group on Management of Data"]},"container-title":["Proceedings of the 2017 ACM International Conference on Management of Data"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3035918.3054780","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3035918.3054780","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3035918.3054780","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:36:48Z","timestamp":1750217808000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3035918.3054780"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,5,9]]},"references-count":80,"alternative-id":["10.1145\/3035918.3054780","10.1145\/3035918"],"URL":"https:\/\/doi.org\/10.1145\/3035918.3054780","relation":{},"subject":[],"published":{"date-parts":[[2017,5,9]]},"assertion":[{"value":"2017-05-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}