Skip to main content

Hyrise-NV: Instant Recovery for In-Memory Databases Using Non-Volatile Memory

  • Conference paper
  • First Online:
Database Systems for Advanced Applications (DASFAA 2016)

Abstract

Emerging non-volatile memory technologies (NVM) offer fast and byte-addressable access, allowing to rethink the durability mechanisms of in-memory databases. In this paper, we present Hyrise-NV, a database storage engine that maintains table and index structures on NVM. Our architecture updates the database state and index structures transactionally consistent on NVM using multi-version data structures, allowing to instantly recover databases independent of their size. For index structures, we present nvBTree using multi-versioning to provide failure-atomic tree updates on NVM. We evaluate Hyrise-NV both on DRAM and with hardware-based emulation of NVM using the TPC-C benchmark. Hyrise-NV recovers databases independent of their size, allowing the recovery of a table with 10 million rows in less than 100 ms.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Source available at https://github.com/hyrise/hyrise.

  2. 2.

    STX B\(^+\)-Tree: http://idlebox.net/2007/stx-btree/.

  3. 3.

    https://software.intel.com/sites/default/files/managed/07/b7/319433-023.pdf.

References

  1. Chatzistergiou, A., et al.: REWIND: recovery write-ahead system for in-memory non-volatile data-structures. In: VLDB (2015)

    Google Scholar 

  2. Chen, S., Jin, Q.: Persistent B+-trees in non-volatile main memory. In: VLDB (2015)

    Google Scholar 

  3. Chen, S., et al.: Rethinking database algorithms for phase change memory. In: CIDR (2011)

    Google Scholar 

  4. Coburn, J., et al.: NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories. SIGPLAN 46, 105–118 (2011)

    Article  Google Scholar 

  5. Condit, J., et al.: Better I/O through byte-addressable, persistent memory. In: SOSP (2009)

    Google Scholar 

  6. DeBrabant, J., et al.: A prolegomenon on OLTP database systems for non-volatile memory. In: VLDB (2014)

    Google Scholar 

  7. Dulloor, S.R., et al.: System software for persistent memory. In: EuroSys (2014)

    Google Scholar 

  8. Fang, R., et al.: High performance database logging using storage class memory. In: ICDE (2011)

    Google Scholar 

  9. Faust, M., et al.: Fast lookups for in-memory column stores: group-key indices, lookup and maintenance. In: ADMS (2012)

    Google Scholar 

  10. Grund, M., et al.: HYRISE—a main memory hybrid storage engine. In: VLDB (2010)

    Google Scholar 

  11. Höppner, B., et al.: An approach for hybrid-memory scaling columnar in-memory databases. In: ADMS (2014)

    Google Scholar 

  12. Kallman, R., et al.: H-store: a high-performance, distributed main memory transaction processing system. In: VLDB (2008)

    Google Scholar 

  13. Kemper, A., Neumann, T.: HyPer: a hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In: ICDE (2011)

    Google Scholar 

  14. Krüger, J., et al.: Fast updates on read-optimized databases using multi-core CPUs. VLDB 5, 61–72 (2011)

    Google Scholar 

  15. Malviya, N., et al.: Rethinking main memory OLTP recovery. In: ICDE (2014)

    Google Scholar 

  16. Mohan, C., et al.: ARIES: a transaction recovery method supporting fine- granularity locking and partial rollbacks using write-ahead logging. In: TODS (1998)

    Google Scholar 

  17. Narayanan, D., Hodson, O.: Whole-system persistence. In: ASPLOS (2012)

    Google Scholar 

  18. Ongaro, D., et al.: Fast crash recovery in RAMCloud. In: SOSP (2011)

    Google Scholar 

  19. Oukid, I., et al.: Instant recovery for main-memory databases. In: CIDR (2015)

    Google Scholar 

  20. Pelley, S., et al.: Storage management in the NVRAM era. In: VLDB (2013)

    Google Scholar 

  21. Plattner, H., et al.: The impact of columnar in-memory databases on enterprise systems. In: VLDB (2014)

    Google Scholar 

  22. Raman, V., et al.: DB2 with BLU acceleration: so much more than just a column store. In: VLDB (2013)

    Google Scholar 

  23. Schwalb, D., et al.: Efficient transaction processing for hyrise in mixed workload environments. In: IMDM (2014)

    Google Scholar 

  24. Schwalb, D., et al.: NVC-hashmap: a persistent and concurrent hashmap for non-volatile memories. In: IMDM (2015)

    Google Scholar 

  25. Schwalb, D., et al.: nvm malloc: memory allocation for NVRAM. In: ADMS (2015)

    Google Scholar 

  26. Stonebraker, M., et al.: C-Store: a column-oriented DBMS. In: VLDB (2005)

    Google Scholar 

  27. Thatte, S.M.: Persistent memory: a storage system for object-oriented databases. In: OODS (1991)

    Google Scholar 

  28. Tianzheng, W., Ryan, J.: Scalable logging through emerging non-volatile memory. In: VLDB (2014)

    Google Scholar 

  29. Venkataraman, S., et al.: Consistent and durable data structures for non-volatile byte-addressable memory. In: FAST (2011)

    Google Scholar 

  30. Volos, H., et al.: Mnemosyne: lightweight persistent memory. In: ASPLOS (2011)

    Google Scholar 

  31. Wang, C., et al.: NVMalloc: exposing an aggregate SSD store as a memory partition in extreme-scale machines. In: IPDPS (2012)

    Google Scholar 

  32. Wu, M., Zwaenepoel, W.: eNVy: a non-volatile, main memory storage system. In: ASPLOS (1994)

    Google Scholar 

  33. Wust, J., et al.: Efficient logging for enterprise workloads on column-oriented in-memory databases. In: CIKM (2012)

    Google Scholar 

  34. Yang, J., et al.: NV-Tree: reducing consistency cost for NVM-based single level systems. In: FAST (2015)

    Google Scholar 

  35. Zhang, Y., et al.: Mojim: a reliable and highly-available non-volatile memory system. In: ASPLOS (2015)

    Google Scholar 

Download references

Acknowledgments

We thank Konrad Büker, Jürgen Schrage and Ahmad Waizy from Fujitsu and Rami Akkad, Bernhard Höppner and Jürgen Müller from the SAP Innovation Center Potsdam for their support and hardware access. We also thank Subramanya Dulloor from Intel Labs for access to the PMEP emulator.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Schwalb .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Schwalb, D. et al. (2016). Hyrise-NV: Instant Recovery for In-Memory Databases Using Non-Volatile Memory. In: Navathe, S., Wu, W., Shekhar, S., Du, X., Wang, S., Xiong, H. (eds) Database Systems for Advanced Applications. DASFAA 2016. Lecture Notes in Computer Science(), vol 9643. Springer, Cham. https://doi.org/10.1007/978-3-319-32049-6_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-32049-6_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-32048-9

  • Online ISBN: 978-3-319-32049-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics