David Lomet, Zografoula Vagena, and Roger Barga
User written transaction code is responsible for the “C” in ACID
transactions, i.e., taking the database from one consistent state to
the next. However, user transactions can be flawed and lead to
inconsistent (or invalid) states. Database systems usually correct
invalid data using “point in time” recovery, a costly process that
installs a backup and rolls it forward. The result is long outages
and the “de-commit” of many valid transactions, which must then
be re-submitted, frequently manually. We have implemented in
our transaction-time database system a technique in which only
data tainted by a flawed transaction and transactions dependent
upon its updates are “removed”. This process identifies and
quarantines tainted data despite the complication of determining
transactions dependent on data written by the flawed transaction.
A further property of our implementation is that no backup needs
to be installed for this because the prior transaction-time states
provide an online backup.
|Published in||SIGMOD Conference|
|Publisher||Association for Computing Machinery, Inc.|
Copyright © 2007 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or email@example.com. The definitive version of this paper can be found at ACM’s Digital Library --http://www.acm.org/dl/.