The DataSafe Failure Recovery Mechanism in the Flask Architecture


Stephan Scheuerl
Division of Computer Science, The University of St Andrews, North Haugh, St Andrews, Fife, KY16 9SS, UK.
stephan@dcs.st-and.ac.uk

Richard Connor
Division of Computer Science, The University of St Andrews, North Haugh, St Andrews, Fife, KY16 9SS, UK.
richard@dcs.st-and.ac.uk

Ron Morrison
Division of Computer Science, The University of St Andrews, North Haugh, St Andrews, Fife, KY16 9SS, UK.
ron@dcs.st-and.ac.uk

Dave Munro
Division of Computer Science, The University of St Andrews, North Haugh, St Andrews, Fife, KY16 9SS, UK.
dave@dcs.st-and.ac.uk


Abstract

A major design goal of the Flask architecture is to separate the mechanisms of concurrency control and recovery management in database programming systems. This paper describes the DataSafe component of Flask, which is the second recovery mechanism to be implemented within the architecture and therefore provides a proof of concept. The DataSafe is closely based on the DB Cache mechanism, modified to fit into the Flask architecture. The major modification comprises the use of a separate safe map which allows pages of recovery data to be block aligned and affords opportunities for efficiency gains during recovery. The page-level locking implicit in the DB Cache is lifted from the DataSafe, permitting concurrency control and recovery to be independent.
Conference Home Page