Welcome to P K Kelkar Library, Online Public Access Catalogue (OPAC)

Normal view MARC view ISBD view

Non-volatile memory database management systems /

By: Arulraj, Joy [author.].
Contributor(s): Pavlo, Andrew [author.].
Material type: materialTypeLabelBookSeries: Synthesis digital library of engineering and computer science: ; Synthesis lectures on data management: # 55.Publisher: [San Rafael, California] : Morgan & Claypool, 2019.Description: 1 PDF (xvii, 173 pages) : illustrations.Content type: text Media type: electronic Carrier type: online resourceISBN: 9781681734859.Subject(s): Nonvolatile random-access memory | non-volatile memory | database management system | logging and recovery | storage management | buffer management | indexingDDC classification: 621.39732 Online resources: Abstract with links to resource Also available in print.
Contents:
1. Introduction -- 1.1 Book overview -- 1.2 Contributions -- 1.3 Outline -- 1.4 Related work --
2. The case for a NVM-oriented DBMS -- 2.1 Persisting data on NVM -- 2.2 NVM-only architecture -- 2.2.1 Memory-oriented system -- 2.2.2 Disk-oriented system -- 2.3 NVM+DRAM architecture -- 2.3.1 Anti-caching system -- 2.3.2 Disk-oriented system -- 2.4 Experimental evaluation -- 2.4.1 System configuration -- 2.4.2 Benchmarks -- 2.4.3 NVM-only architecture -- 2.4.4 NVM+DRAM architecture -- 2.4.5 Recovery -- 2.5 Goal of this dissertation --
3. Storage management -- 3.1 DBMS testbed -- 3.1.1 In-place updates engine (InP) -- 3.1.2 Copy-on-write updates engine (CoW) -- 3.1.3 Log-structured updates engine (Log) -- 3.2 NVM-aware engines -- 3.2.1 In-place updates engine (NVM-InP) -- 3.2.2 Copy-on-write updates engine (NVM-CoW) -- 3.2.3 Log-structured updates engine (NVM-Log) -- 3.3 Experimental evaluation -- 3.3.1 Benchmarks -- 3.3.2 Runtime performance -- 3.3.3 Reads and writes -- 3.3.4 Recovery -- 3.3.5 Execution time breakdown -- 3.3.6 Storage footprint -- 3.3.7 Analytical cost model -- 3.3.8 Impact of B+tree node size -- 3.3.9 NVM instruction set extensions -- 3.3.10 Discussion -- 3.4 Summary --
4. Logging and recovery -- 4.1 Recovery principles -- 4.2 Write-ahead logging -- 4.2.1 Runtime operation -- 4.2.2 Commit protocol -- 4.2.3 Recovery protocol -- 4.3 Write-behind logging -- 4.3.1 Runtime operation -- 4.3.2 Commit protocol -- 4.3.3 Recovery protocol -- 4.4 Replication --4.4.1 Replication schemes -- 4.4.2 Record format -- 4.5 Experimental evaluation -- 4.5.1 Benchmarks -- 4.5.2 Runtime performance -- 4.5.3 Recovery time -- 4.5.4 Storage footprint -- 4.5.5 Replication -- 4.5.6 Impact of NVM latency -- 4.5.7 NVM instruction set extensions -- 4.5.8 Instant recovery protocol -- 4.5.9 Impact of group commit latency -- 4.6 Summary --
5. Buffer management -- 5.1 Buffer management principles -- 5.2 NVM-aware buffer management -- 5.2.1 New data migration paths -- 5.2.2 Bypass DRAM during reads -- 5.2.3 Bypass DRAM during writes -- 5.2.4 Bypass NVM during reads -- 5.2.5 Bypass NVM during writes -- 5.3 Adaptive data migration -- 5.4 Storage hierarchy selection -- 5.4.1 Hierarchical storage system model -- 5.4.2 Storage hierarchy recommender system -- 5.5 Trace-driven buffer manager -- 5.6 Experimental evaluation -- 5.6.1 Experimental setup -- 5.6.2 Workload skew characterization -- 5.6.3 Impact of NVM on runtime performance -- 5.6.4 Storage hierarchy recommendation -- 5.6.5 Data migration policies -- 5.6.6 Buffer management policy comparison -- 5.6.7 Adaptive data migration -- 5.7 Summary --
6. Indexing -- 6.1 Persistent multi-word CAS -- 6.1.1 Durability -- 6.1.2 Execution -- 6.2 BzTree architecture and design -- 6.2.1 Architecture -- 6.2.2 Complexity and performance -- 6.3 BzTree nodes -- 6.3.1 Node layout -- 6.3.2 Leaf node operations -- 6.3.3 Leaf node consolidation -- 6.3.4 Internal node operations -- 6.4 Structure modifications -- 6.4.1 Prioritizing structure modifications -- 6.4.2 Node split -- 6.4.3 Node merge -- 6.4.4 Interplay between algorithms -- 6.5 BzTree durability and recovery -- 6.5.1 Persistent memory allocation -- 6.5.2 Durability -- 6.5.3 Recovery -- 6.6 Experimental evaluation -- 6.6.1 Design complexity -- 6.6.2 Runtime performance -- 6.6.3 Durability -- 6.6.4 Scan performance -- 6.6.5 PMWCAS statistics -- 6.6.6 Sensitivity analysis -- 6.6.7 Memory footprint -- 6.6.8 Execution time breakdown -- 6.7 Summary --
7. Related work -- 7.1 Logging and recovery -- 7.2 File-systems -- 7.3 Replication -- 7.4 Memory management -- 7.5 Hardware support -- 7.6 Software testing -- 7.7 Latch-free indexes -- 7.8 Multi-word CAS -- 7.9 Persistent indexes --
8. Future work -- 8.1 Query optimization -- 8.2 Query processing algorithms -- 8.3 Access methods -- 8.4 Larger-than-memory databases -- 8.5 SQL extensions -- 8.6 Testing -- 8.7 High availability --
9. Conclusion -- A. Non-volatile memory emulation -- A.1 NVM hardware emulator -- A.1.1 NUMA interface -- A.1.2 PMFS interface -- A.2 NVM-aware memory allocator -- A.3 Intel optane NVM DIMMs -- B. Benchmarks -- B.1 YCSB -- B.2 TPC-C -- B.3 Voter -- B.4 CH-benCHmark -- B.5 AuctionMark -- C. H-store DBMS -- C.1 Architectural overview -- C.1.1 Transaction coordinator -- C.1.2 Execution engine -- C.1.3 Storage layer -- C.1.4 Recovery mechanism -- C.1.5 Replication --
Bibliography -- Authors' biographies.
Abstract: This book explores the implications of non-volatile memory (NVM) for database management systems (DBMSs). The advent of NVM will fundamentally change the dichotomy between volatile memory and durable storage in DBMSs. These new NVM devices are almost as fast as volatile memory, but all writes to them are 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. We present the design and implementation of DBMS architectures that are explicitly tailored for NVM. The book focuses on three aspects of a DBMS: (1) logging and recovery, (2) storage and buffer management, and (3) indexing. First, we present a logging and recovery protocol that enables the DBMS to support near-instantaneous recovery. Second, we propose a storage engine architecture and buffer management policy that leverages the durability and byte-addressability properties of NVM to reduce data duplication and data migration. Third, the book presents the design of a range index tailored for NVM that is latch-free yet simple to implement. All together, the work described in this book illustrates that rethinking the fundamental algorithms and data structures employed in a DBMS for NVM improves performance and availability, reduces operational cost, and simplifies software development.
    average rating: 0.0 (0 votes)
Item type Current location Call number Status Date due Barcode Item holds
E books E books PK Kelkar Library, IIT Kanpur
Available EBKE843
Total holds: 0

Mode of access: World Wide Web.

System requirements: Adobe Acrobat Reader.

Part of: Synthesis digital library of engineering and computer science.

Includes bibliographical references (pages 157-172).

1. Introduction -- 1.1 Book overview -- 1.2 Contributions -- 1.3 Outline -- 1.4 Related work --

2. The case for a NVM-oriented DBMS -- 2.1 Persisting data on NVM -- 2.2 NVM-only architecture -- 2.2.1 Memory-oriented system -- 2.2.2 Disk-oriented system -- 2.3 NVM+DRAM architecture -- 2.3.1 Anti-caching system -- 2.3.2 Disk-oriented system -- 2.4 Experimental evaluation -- 2.4.1 System configuration -- 2.4.2 Benchmarks -- 2.4.3 NVM-only architecture -- 2.4.4 NVM+DRAM architecture -- 2.4.5 Recovery -- 2.5 Goal of this dissertation --

3. Storage management -- 3.1 DBMS testbed -- 3.1.1 In-place updates engine (InP) -- 3.1.2 Copy-on-write updates engine (CoW) -- 3.1.3 Log-structured updates engine (Log) -- 3.2 NVM-aware engines -- 3.2.1 In-place updates engine (NVM-InP) -- 3.2.2 Copy-on-write updates engine (NVM-CoW) -- 3.2.3 Log-structured updates engine (NVM-Log) -- 3.3 Experimental evaluation -- 3.3.1 Benchmarks -- 3.3.2 Runtime performance -- 3.3.3 Reads and writes -- 3.3.4 Recovery -- 3.3.5 Execution time breakdown -- 3.3.6 Storage footprint -- 3.3.7 Analytical cost model -- 3.3.8 Impact of B+tree node size -- 3.3.9 NVM instruction set extensions -- 3.3.10 Discussion -- 3.4 Summary --

4. Logging and recovery -- 4.1 Recovery principles -- 4.2 Write-ahead logging -- 4.2.1 Runtime operation -- 4.2.2 Commit protocol -- 4.2.3 Recovery protocol -- 4.3 Write-behind logging -- 4.3.1 Runtime operation -- 4.3.2 Commit protocol -- 4.3.3 Recovery protocol -- 4.4 Replication --4.4.1 Replication schemes -- 4.4.2 Record format -- 4.5 Experimental evaluation -- 4.5.1 Benchmarks -- 4.5.2 Runtime performance -- 4.5.3 Recovery time -- 4.5.4 Storage footprint -- 4.5.5 Replication -- 4.5.6 Impact of NVM latency -- 4.5.7 NVM instruction set extensions -- 4.5.8 Instant recovery protocol -- 4.5.9 Impact of group commit latency -- 4.6 Summary --

5. Buffer management -- 5.1 Buffer management principles -- 5.2 NVM-aware buffer management -- 5.2.1 New data migration paths -- 5.2.2 Bypass DRAM during reads -- 5.2.3 Bypass DRAM during writes -- 5.2.4 Bypass NVM during reads -- 5.2.5 Bypass NVM during writes -- 5.3 Adaptive data migration -- 5.4 Storage hierarchy selection -- 5.4.1 Hierarchical storage system model -- 5.4.2 Storage hierarchy recommender system -- 5.5 Trace-driven buffer manager -- 5.6 Experimental evaluation -- 5.6.1 Experimental setup -- 5.6.2 Workload skew characterization -- 5.6.3 Impact of NVM on runtime performance -- 5.6.4 Storage hierarchy recommendation -- 5.6.5 Data migration policies -- 5.6.6 Buffer management policy comparison -- 5.6.7 Adaptive data migration -- 5.7 Summary --

6. Indexing -- 6.1 Persistent multi-word CAS -- 6.1.1 Durability -- 6.1.2 Execution -- 6.2 BzTree architecture and design -- 6.2.1 Architecture -- 6.2.2 Complexity and performance -- 6.3 BzTree nodes -- 6.3.1 Node layout -- 6.3.2 Leaf node operations -- 6.3.3 Leaf node consolidation -- 6.3.4 Internal node operations -- 6.4 Structure modifications -- 6.4.1 Prioritizing structure modifications -- 6.4.2 Node split -- 6.4.3 Node merge -- 6.4.4 Interplay between algorithms -- 6.5 BzTree durability and recovery -- 6.5.1 Persistent memory allocation -- 6.5.2 Durability -- 6.5.3 Recovery -- 6.6 Experimental evaluation -- 6.6.1 Design complexity -- 6.6.2 Runtime performance -- 6.6.3 Durability -- 6.6.4 Scan performance -- 6.6.5 PMWCAS statistics -- 6.6.6 Sensitivity analysis -- 6.6.7 Memory footprint -- 6.6.8 Execution time breakdown -- 6.7 Summary --

7. Related work -- 7.1 Logging and recovery -- 7.2 File-systems -- 7.3 Replication -- 7.4 Memory management -- 7.5 Hardware support -- 7.6 Software testing -- 7.7 Latch-free indexes -- 7.8 Multi-word CAS -- 7.9 Persistent indexes --

8. Future work -- 8.1 Query optimization -- 8.2 Query processing algorithms -- 8.3 Access methods -- 8.4 Larger-than-memory databases -- 8.5 SQL extensions -- 8.6 Testing -- 8.7 High availability --

9. Conclusion -- A. Non-volatile memory emulation -- A.1 NVM hardware emulator -- A.1.1 NUMA interface -- A.1.2 PMFS interface -- A.2 NVM-aware memory allocator -- A.3 Intel optane NVM DIMMs -- B. Benchmarks -- B.1 YCSB -- B.2 TPC-C -- B.3 Voter -- B.4 CH-benCHmark -- B.5 AuctionMark -- C. H-store DBMS -- C.1 Architectural overview -- C.1.1 Transaction coordinator -- C.1.2 Execution engine -- C.1.3 Storage layer -- C.1.4 Recovery mechanism -- C.1.5 Replication --

Bibliography -- Authors' biographies.

Abstract freely available; full-text restricted to subscribers or individual document purchasers.

Compendex

INSPEC

Google scholar

Google book search

This book explores the implications of non-volatile memory (NVM) for database management systems (DBMSs). The advent of NVM will fundamentally change the dichotomy between volatile memory and durable storage in DBMSs. These new NVM devices are almost as fast as volatile memory, but all writes to them are 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. We present the design and implementation of DBMS architectures that are explicitly tailored for NVM. The book focuses on three aspects of a DBMS: (1) logging and recovery, (2) storage and buffer management, and (3) indexing. First, we present a logging and recovery protocol that enables the DBMS to support near-instantaneous recovery. Second, we propose a storage engine architecture and buffer management policy that leverages the durability and byte-addressability properties of NVM to reduce data duplication and data migration. Third, the book presents the design of a range index tailored for NVM that is latch-free yet simple to implement. All together, the work described in this book illustrates that rethinking the fundamental algorithms and data structures employed in a DBMS for NVM improves performance and availability, reduces operational cost, and simplifies software development.

Also available in print.

Title from PDF title page (viewed on February 26, 2019).

There are no comments for this item.

Log in to your account to post a comment.

Powered by Koha