Database software for non-volatile byte-addressable memory
Graefe, Goetz; Kuno, Harumi
Keyword(s): database, NVRAM, byte-addressable, memory, concurrency, recovery, 8-trees
Abstract: Most transactional software, e.g., in database systems, is written for a 2-level memory hierarchy with volatile RAM and persistent disk storage. For example, the standard "write-ahead logging" technique relies on an in-memory buffer pool to hold back dirty data pages until the relevant log records have been written to stable storage. It is well-known that a buffer pool enables fast access via locality of reference. In addition, in transactional systems, a buffer pool seems an essential component of write- ahead logging, which ensures the consistency of persistent data even in the face of recovery from media failure. For a transactional storage system using non-volatile, byte-addressable memory, which does not suffer from the slow access times of disk, a buffer pool seems unnecessary. However, removing the buffer pool seems to complicate transactional updates. We introduce a design and supporting techniques that simplify the implementation of transactions using NVRAM as persistent storage. One new technique, "log- shipping to self," avoids use of a buffer pool, supports existing write-ahead logging protocols, and is simpler than traditional implementations of write- ahead logging. We also present a second innovation - a software frame-work for automatically detecting and repairing individual pages. This feature is particularly relevant in the context of NVRAM, since some NVRAM technologies may incur single-page failures. Traditional database techniques know only offline (or snapshot) consistency checks; online and incremental verification of data structures does not verify all invariants. Traditional database techniques also know only media recovery, i.e., recovery of an entire disk rather than of individual pages. Repair of individual pages today is more art than science and engineering. Techniques for complete online consistency checks as well as principled automatic repair are also introduced here.
Additional Publication Information: To be published and presented at Non-Volatile Memories Workshop 2011, March 6-8, 2011.
External Posting Date: March 21, 2011 [Fulltext]. Approved for External Publication
Internal Posting Date: March 21, 2011 [Fulltext]