Bounded ignorance: a technique for increasing concurrency in a replicated system
ACM Transactions on Database Systems
Databases are replicated to improve performance and availability. The notion of correctness that has commonly been adopted for concurrent accessby transactions to shared, possibly replicated, data M serializability, However, serializability may be impractical m 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
... straints, however, we are able to increase the concurrency of transactions that execute m a replicated environment, In this article, we introduce the notion of an N-Lgnoran t transaction, which M a transaction that may be ignorant of the results of at most N prior transactions. A system m which all transactions are N-Lgnorant can have an N + l-fold increase in concurrency over serializable systems, at the expense of bounded violations of Its integrity constraints. We present algorithms for implementing rephcated 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 hability 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.