A Modular and Efficient Past State System for Berkeley DB

Applications often need to analyze past states to predict trends and support audits. Adding efficient and nondisruptive support for consistent past-state analysis requires after-the-fact modification of the data store, a significant challenge for today's systems. This paper describes Retro, a new system for supporting consistent past state analysis in Berkeley DB. The key novelty of Retro is an efficient yet simple and robust implementation method, imposing 4% worst-case overhead. Unlike prior approaches, Retro protocols, backed by a formal specification, extend standard transaction protocols in a modular way, requiring minimal data store modification (about 250 lines of BDB code).

[1]  Liuba Shrira,et al.  Retro: a methodology for retrospection everywhere , 2013 .

[2]  Norman C. Hutchinson,et al.  Deciding when to forget in the Elephant file system , 1999, SOSP.

[3]  Hao Xu,et al.  Thresher: An Efficient Storage Manager for Copy-on-write Snapshots , 2006, USENIX Annual Technical Conference, General Track.

[4]  Hao Xu,et al.  Skippy: a new snapshot indexing method for time travel in the storage manager , 2008, SIGMOD Conference.

[5]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[6]  Erez Zadok,et al.  A Versatile and User-Oriented Versioning File System , 2004, FAST.

[7]  Gultekin Özsoyoglu,et al.  Temporal and Real-Time Databases: A Survey , 1995, IEEE Trans. Knowl. Data Eng..

[8]  Gustavo Alonso,et al.  Searching in time , 2006, SIGMOD Conference.

[9]  Michael J. Feeley,et al.  Secure file system versioning at the block level , 2007, EuroSys '07.

[10]  Juan Loaiza,et al.  The Oracle Universal Server Buffer , 1997, VLDB.

[11]  Hao Xu,et al.  SNAP: efficient snapshots for back-in-time execution , 2005, 21st International Conference on Data Engineering (ICDE'05).

[12]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[13]  Mohamed F. Mokbel,et al.  Immortal DB: transaction time support for SQL server , 2005, SIGMOD '05.

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

[15]  Michael Stonebraker,et al.  OLTP through the looking glass, and what we found there , 2008, SIGMOD Conference.