Bounded ignorance
- 1 December 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 19 (4) , 586-625
- https://doi.org/10.1145/195664.195670
Abstract
Databases are replicated to improve performance and availability. The notion of correctness that has commonly been adopted for concurrent access by transactions to shared, possibly replicated, data is serializability. However, serializability may be impractical in high-performance applications since it imposes too stringent a restriction on concurrency. When serializability is relaxed, the integrity constraints describing the data may be violated. By allowing bounded violations of the integrity constraints, however, we are able to increase the concurrency of transactions that execute in a replicated environment. In this article, we introduce the notion of an N-ignorant transaction, which is a transaction that may be ignorant of the results of at most N prior transactions, which is a transaction that may be ignorant of the results of at most N prior transactions. A system in which all transactions are N-ignorant can have an N + 1-fold increase in concurrency over serializable systems, at the expense of bounded violations of its integrity constraints. We present algorithms for implementing replicated databases in N-ignorant systems. We then provide constructive methods for calculating the reachable states in such systems, given the value of N , so that one may assess the maximum liability that is incurred in allowing constraint violation. Finally, we generalize the notion of N-ignorance to a matrix of ignorance for the purpose of higher concurrency.Keywords
This publication has 23 references indexed in Scilit:
- Two phase gossip: Managing distributed event historiesInformation Sciences, 1989
- Local atomicity properties: modular concurrency control for abstract data typesACM Transactions on Programming Languages and Systems, 1989
- On Long-duration CAD TransactionsInformation Sciences, 1988
- A technique for constructing highly available servicesAlgorithmica, 1988
- Commutativity-based concurrency control for abstract data typesIEEE Transactions on Computers, 1988
- Concurrency versus availability: atomicity mechanisms for replicated dataACM Transactions on Computer Systems, 1987
- The Escrow transactional methodACM Transactions on Database Systems, 1986
- Multilevel atomicity—a new correctness criterion for database concurrency controlACM Transactions on Database Systems, 1983
- Using semantic knowledge for transaction processing in a distributed databaseACM Transactions on Database Systems, 1983
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976