Transaction chopping: algorithms and performance studies
ACM Transactions on Database Systems (TODS)
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Multiversion concurrency control—theory and algorithms
ACM Transactions on Database Systems (TODS)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Generalized Isolation Level Definitions
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
A read-only transaction anomaly under snapshot isolation
ACM SIGMOD Record
Allocating isolation levels to transactions
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Making snapshot isolation serializable
ACM Transactions on Database Systems (TODS)
Improving the performance of read-only transactions through asynchronous speculation
Proceedings of the 2008 Spring simulation multiconference
Serializable isolation for snapshot databases
ACM Transactions on Database Systems (TODS)
Quantifying isolation anomalies
Proceedings of the VLDB Endowment
Improving OLTP scalability using speculative lock inheritance
Proceedings of the VLDB Endowment
DASFAA'08 Proceedings of the 13th international conference on Database systems for advanced applications
Speculation-based protocols for improving the performance of read-only transactions
International Journal of Computational Science and Engineering
Declarative serializable snapshot isolation
ADBIS'11 Proceedings of the 15th international conference on Advances in databases and information systems
Strict serializability is harmless: a new architecture for enterprise applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A critique of snapshot isolation
Proceedings of the 7th ACM european conference on Computer Systems
Verification of snapshot isolation in transactional memory java programs
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Serializable snapshot isolation in PostgreSQL
Proceedings of the VLDB Endowment
How consistent is your cloud application?
Proceedings of the Third ACM Symposium on Cloud Computing
Consistency anomalies in multi-tier architectures: automatic detection and prevention
The VLDB Journal — The International Journal on Very Large Data Bases
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.00 |
Snapshot isolation (SI) provides significantly improved concurrency over 2PL, allowing reads to be non-blocking. Unfortunately, it can also lead to non-serializable executions in general. Despite this, it is widely used, supported in many commercial databases, and is in fact the highest available level of consistency in Oracle and Post-greSQL. Sufficient conditions for detecting whether SI anomalies could occur in a given set of transactions were presented recently, and extended to necessary conditions for transactions without predicate reads. In this paper we address several issues in extending the earlier theory to practical detection/correction of anomalies. We first show how to mechanically find a set of programs which is large enough so that we ensure that all executions will be free of SI anomalies, by modifying these programs appropriately. We then address the problem of false positives, i.e., transaction programs wrongly identified as possibly leading to anomalies, and present techniques that can significantly reduce such false positives. Unlike earlier work, our techniques are designed to be automated, rather than manually carried out. We describe a tool which we are developing to carry out this task. The tool operates on descriptions of the programs either taken from the application code itself, or taken from SQL query traces. It can be used with any database system. We have used our tool on two real world applications in production use at IIT Bombay, and detected several anomalies, some of which have caused real world problems. We believe such a tool will be invaluable for ensuring safe execution of the large number of applications which are already running under SI.