Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Generalized Isolation Level Definitions
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Making snapshot isolation serializable
ACM Transactions on Database Systems (TODS)
Automating the detection of snapshot isolation anomalies
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Bigtable: A Distributed Storage System for Structured Data
ACM Transactions on Computer Systems (TOCS)
Snapshot isolation and integrity constraints in replicated databases
ACM Transactions on Database Systems (TODS)
Serializable isolation for snapshot databases
ACM Transactions on Database Systems (TODS)
Benchmarking cloud serving systems with YCSB
Proceedings of the 1st ACM symposium on Cloud computing
G-Store: a scalable data store for transactional multi key access in the cloud
Proceedings of the 1st ACM symposium on Cloud computing
ElasTraS: an elastic transactional data store in the cloud
HotCloud'09 Proceedings of the 2009 conference on Hot topics in cloud computing
ZooKeeper: wait-free coordination for internet-scale systems
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
Towards elastic transactional cloud storage with range query support
Proceedings of the VLDB Endowment
Large-scale incremental processing using distributed transactions and notifications
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
One-copy serializability with snapshot isolation under the hood
ICDE '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering
Lock-free transactional support for large-scale storage systems
DSNW '11 Proceedings of the 2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Supporting security and consistency for cloud database
CSS'12 Proceedings of the 4th international conference on Cyberspace Safety and Security
Improving transaction abort rates without compromising throughput through judicious scheduling
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Consistency anomalies in multi-tier architectures: automatic detection and prevention
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.00 |
The support for transactions is an essential part of a database management system (DBMS). Without this support, the developers are burdened with ensuring atomic execution of a transaction despite failures as well as concurrent accesses to the database by other transactions. Ideally, a transactional system provides serializability, which means that the outcome of concurrent transactions is equivalent to a serial execution of them. Based on experiences on lock-based implementations, nevertheless, serializability is known as an expensive feature that comes with high overhead and low concurrency. Commercial systems, hence, compromise serializability by implementing weaker guarantees such as snapshot isolation. The developers, therefore, are still burdened with the anomalies that could arise due to the lack of serializability. There have been recent attempts to enrich large-scale data stores, such as HBase and BigTable, with transactional support. Not surprisingly, inspired by traditional database management systems, serializability is usually compromised for the benefit of efficiency. For example, Google Percolator, implements lock-based snapshot isolation on top of BigTable. We show in this paper that this compromise is not necessary in lock-free implementations of transactional support. We introduce write-snapshot isolation, a novel isolation level that has a performance comparable with that of snapshot isolation, and yet provides serializability. The main insight in write-snapshot isolation is to prevent read-write conflicts in contrast to write-write conflicts that are prevented by snapshot isolation.