Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems
- 27 May 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 707-722
- https://doi.org/10.1145/2723372.2749441
Abstract
The advent of non-volatile memory (NVM) will fundamentally change the dichotomy between memory and durable storage in database management systems (DBMSs). These new NVM devices are almost as fast as DRAM, but all writes to it are potentially persistent even after power loss. Existing DBMSs are unable to take full advantage of this technology because their internal architectures are predicated on the assumption that memory is volatile. With NVM, many of the components of legacy DBMSs are unnecessary and will degrade the performance of data intensive applications. To better understand these issues, we implemented three engines in a modular DBMS testbed that are based on different storage management architectures: (1) in-place updates, (2) copy-on-write updates, and (3) log-structured updates. We then present NVM-aware variants of these architectures that leverage the persistence and byte-addressability properties of NVM in their storage and recovery methods. Our experimental evaluation on an NVM hardware emulator shows that these engines achieve up to 5.5X higher throughput than their traditional counterparts while reducing the amount of wear due to write operations by up to 2X. We also demonstrate that our NVM-aware recovery protocols allow these engines to recover almost instantaneously after the DBMS restarts.Keywords
Funding Information
- National Science Foundation (CCF-1438955)
This publication has 38 references indexed in Scilit:
- The missing memristor foundNature, 2008
- B-trees, shadowing, and clonesACM Transactions on Storage, 2008
- Energy management for commercial serversComputer, 2003
- Effect of node size on the performance of cache-conscious B + -treesACM SIGMETRICS Performance Evaluation Review, 2003
- Main memory database systems: an overviewIEEE Transactions on Knowledge and Data Engineering, 1992
- ARIESACM Transactions on Database Systems, 1992
- The design and implementation of a log-structured file systemACM Transactions on Computer Systems, 1992
- Implementation techniques for main memory database systemsACM SIGMOD Record, 1984
- The Recovery Manager of the System R Database ManagerACM Computing Surveys, 1981
- System RACM Transactions on Database Systems, 1976