Adaptive Recovery for SCM-Enabled Databases

Storage Class Memory (SCM) has the potential to drastically change the database system landscape – much like high core count CPUs and large DRAM capacities spurred a shift to in-memory databases a decade ago. One of the possibilities provided by SCM is to significantly improve restart performance. SCM-enabled databases can evince a single-level main-memory architecture that stores, accesses, and modifies data directly in SCM, removing the traditional recovery bottleneck for main-memory databases: reloading data from durable media to main memory. Almost instantaneous recovery is possible, but at the cost of reduced throughput as latency sensitive data structures such as indexes need to be kept on SCM whose read and write latencies are projected to be noticeably slower than those of DRAM. We can regain this throughput by fully storing secondary data structures in DRAM and rebuilding them after restart, concurrently with processing incoming requests. While these data structures are being rebuilt, request throughput will be reduced not only because of the rebuilding overhead but, more significantly, because their (temporary) absence will result in sub-optimal access plans. Hence, rebuilding DRAM-based data structures becomes the new bottleneck for SCM-enabled databases recovery. In this paper, we address this bottleneck and describe Adaptive Recovery, a novel recovery technique that significantly reduces the impact on request throughput during the recovery period over naı̈ve approaches such as rebuilding data structures when first referenced.

[1]  Michael Stonebraker,et al.  Rethinking main memory OLTP recovery , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[2]  S. R. Nigam Administration in action , 1977 .

[3]  Ismail Oukid,et al.  FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory , 2016, SIGMOD Conference.

[4]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

[5]  Johannes Gehrke,et al.  Fast checkpoint recovery algorithms for frequently consistent applications , 2011, SIGMOD '11.

[6]  Alexander Zeier,et al.  SIMD-Scan: Ultra Fast in-Memory Table Scan using on-Chip Vector Processing Units , 2009, Proc. VLDB Endow..

[7]  Suman Nath,et al.  Rethinking Database Algorithms for Phase Change Memory , 2011, CIDR.

[8]  Martin L. Kersten,et al.  Database Cracking , 2007, CIDR.

[9]  Thomas F. Wenisch,et al.  Storage Management in the NVRAM Era , 2013, Proc. VLDB Endow..

[10]  Lise Getoor,et al.  Index Interactions in Physical Design Tuning: Modeling, Analysis, and Applications , 2009, Proc. VLDB Endow..

[11]  Ismail Oukid,et al.  Instant Recovery for Main Memory Databases , 2015, CIDR.

[12]  O. Richard,et al.  10×10nm2 Hf/HfOx crossbar resistive RAM with excellent performance, reliability and low-energy operation , 2011, 2011 International Electron Devices Meeting.

[13]  Stratis Viglas,et al.  REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures , 2015, Proc. VLDB Endow..

[14]  Roy H. Campbell,et al.  Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory , 2011, FAST.

[15]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[16]  Subramanya Dulloor,et al.  Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems , 2015, SIGMOD Conference.

[17]  Goetz Graefe,et al.  Instant Recovery with Write-Ahead Logging: Page Repair, System Restart, Media Restore, and System Failover, Second Edition , 2016, Synthesis Lectures on Data Management.

[18]  Ippokratis Pandis,et al.  Data-oriented transaction execution , 2010, Proc. VLDB Endow..

[19]  Hector Garcia-Molina,et al.  Main Memory Database Systems: An Overview , 1992, IEEE Trans. Knowl. Data Eng..

[20]  Kian-Lee Tan,et al.  Fast Failure Recovery for Main-Memory DBMSs on Multicores , 2016, SIGMOD Conference.

[21]  Hideaki Kimura,et al.  FOEDUS: OLTP Engine for a Thousand Cores and NVRAM , 2015, SIGMOD Conference.

[22]  R. Williams,et al.  How We Found The Missing Memristor , 2008, IEEE Spectrum.

[23]  Ippokratis Pandis,et al.  PLP: Page Latch-free Shared-everything OLTP , 2011, Proc. VLDB Endow..

[24]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[25]  Ismail Oukid,et al.  SOFORT: a hybrid SCM-DRAM storage engine for fast data recovery , 2014, DaMoN '14.

[26]  Rod Colledge SQL Server 2008 Administration in Action , 2009 .

[27]  S. Sudarshan,et al.  Recovering from Main-Memory Lapses , 1993, VLDB.

[28]  Margaret H. Dunham Main Memory Database Recovery , 1986, FJCC.

[29]  Ryan Johnson,et al.  Scalable Logging through Emerging Non-Volatile Memory , 2014, Proc. VLDB Endow..

[30]  Gang Chen,et al.  Adaptive Logging: Optimizing Logging and Recovery Costs in Distributed In-memory Databases , 2016, SIGMOD Conference.

[31]  Subramanya R. Dulloor Systems and applications for persistent memory , 2015 .

[32]  Adolf Hohl,et al.  Hyrise-NV: Instant Recovery for In-Memory Databases Using Non-Volatile Memory , 2016, DASFAA.

[33]  M. Hosomi,et al.  A novel nonvolatile memory with spin torque transfer magnetization switching: spin-ram , 2005, IEEE InternationalElectron Devices Meeting, 2005. IEDM Technical Digest..

[34]  Karsten Schwan,et al.  NVRAM-aware Logging in Transaction Systems , 2014, Proc. VLDB Endow..

[35]  David B. Lomet,et al.  Implementing Performance Competitive Logical Recovery , 2011, Proc. VLDB Endow..

[36]  Ippokratis Pandis,et al.  Aether: A Scalable Approach to Logging , 2010, Proc. VLDB Endow..

[37]  Jianliang Xu,et al.  PCMLogging: reducing transaction logging overhead with PCM , 2011, CIKM '11.

[38]  Stratis Viglas,et al.  Write-limited sorts and joins for persistent memory , 2014, Proc. VLDB Endow..

[39]  Qin Jin,et al.  Persistent B+-Trees in Non-Volatile Main Memory , 2015, Proc. VLDB Endow..

[40]  Andrew Pavlo,et al.  Write-Behind Logging , 2016, Proc. VLDB Endow..

[41]  C. Mohan,et al.  High performance database logging using storage class memory , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[42]  Vijayalakshmi Srinivasan,et al.  Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[43]  K. M. Chandy,et al.  Incremental Recovery In Main Memory Database Systems , 1992 .

[44]  Bingsheng He,et al.  NV-Tree: A Consistent and Workload-Adaptive Tree Structure for Non-Volatile Memory , 2016, IEEE Transactions on Computers.

[45]  Alexander Zeier,et al.  HYRISE - A Main Memory Hybrid Storage Engine , 2010, Proc. VLDB Endow..

[46]  Jun Yang,et al.  Phase-Change Technology and the Future of Main Memory , 2010, IEEE Micro.

[47]  S. Sudarshan,et al.  Dalí: A High Performance Main Memory Storage Manager , 1994, VLDB.