Instant restore after a media failure (extended version)

Abstract Media failures usually leave database systems unavailable for several hours until recovery is complete, especially in applications with large devices and high transaction volume. Previous work introduced a technique called single-pass restore, which increases restore bandwidth and thus substantially decreases time to repair. Instant restore goes further as it permits read/write access to any data on a device undergoing restore – even data not yet restored – by restoring individual data segments on demand. Thus, the restore process is guided primarily by the needs of applications, and the observed mean time to repair is effectively reduced from several hours to a few seconds. This paper presents an implementation and evaluation of instant restore. The technique is incrementally implemented on a system starting with the traditional ARIES design for logging and recovery. Experiments show that the transaction latency perceived after a media failure can be cut down to less than a second. The net effect is that a few “nines” of availability are added to the system using simple and low-overhead software techniques.

[1]  Goetz Graefe,et al.  Write-Optimized B-Trees , 2004, VLDB.

[2]  C. Mohan,et al.  An efficient and flexible method for archiving a data base , 1993, SIGMOD Conference.

[3]  Babak Falsafi,et al.  Shore-MT: a scalable storage manager for the multicore era , 2009, EDBT '09.

[4]  Sandra Loosemore,et al.  The GNU C Library Reference Manual , 2001 .

[5]  Jim Gray,et al.  Why Do Computers Stop and What Can Be Done About It? , 1986, Symposium on Reliability in Distributed Software and Database Systems.

[6]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

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

[8]  Zvisinei Sandi DEFINITION , 1961, A Philosopher Looks at Sport.

[9]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[10]  Goetz Graefe,et al.  Foster b-trees , 2012, TODS.

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

[12]  Goetz Graefe,et al.  Instant Restore After a Media Failure , 2017, ADBIS.

[13]  Harumi A. Kuno,et al.  Definition, Detection, and Recovery of Single-Page Failures, a Fourth Class of Database Failures , 2012, Proc. VLDB Endow..

[14]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[15]  Chandrasekaran Mohan,et al.  Algorithms for the management of remote backup data bases for disaster recovery , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

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

[17]  Caetano Sauer,et al.  Modern techniques for transaction-oriented database recovery , 2017, BTW.

[18]  Jim Gray,et al.  What next?: A dozen information-technology research goals , 1999, JACM.

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

[20]  Abraham Silberschatz,et al.  Incremental Recovery in Main Memory Database Systems , 1992, IEEE Trans. Knowl. Data Eng..

[21]  Dina Bitton,et al.  Disk Shadowing , 1988, VLDB.

[22]  Bernhard Seeger,et al.  Self-diagnosing and self-healing indexes , 2012, DBTest '12.

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

[24]  Goetz Graefe,et al.  Single-pass restore after a media failure , 2015, BTW.

[25]  Michael J. Carey,et al.  A recovery algorithm for a high-performance memory-resident database system , 1987, SIGMOD '87.

[26]  Goetz Graefe,et al.  Update Propagation Strategies for High-Performance OLTP , 2016, ADBIS.

[27]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[28]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[29]  Goetz Graefe,et al.  A survey of B-tree logging and recovery techniques , 2012, ACM Trans. Database Syst..