Declarative Serializable Snapshot Isolation
نویسندگان
چکیده
Snapshot isolation (SI) is a popular concurrency control protocol, but it permits non-serializable schedules that violate database integrity. The Serializable Snapshot Isolation (SSI) protocol ensures (view) serializability by preventing pivot structures in SI schedules. In this paper, we leverage the SSI approach and develop the Declarative Serializable Snapshot Isolation (DSSI) protocol, an SI protocol that guarantees serializable schedules. Our approach requires no analysis of application programs or changes to the underlying DBMS. We present an implementation and prove that it ensures serializability. DOI: https://doi.org/10.1007/978-3-642-23737-9_13 Posted at the Zurich Open Repository and Archive, University of Zurich ZORA URL: https://doi.org/10.5167/uzh-56401 Accepted Version Originally published at: Tilgner, Christian; Glavic, Boris; Böhlen, Michael H; Kanne, Carl-Christian (2011). Declarative serializable snapshot isolation. In: 15th International Conference in Advances in Databases and Information Systems , Vienna. Austria, 19 September 2011 24 September 2011, 170-184. DOI: https://doi.org/10.1007/978-3-642-23737-9_13 Declarative Serializable Snapshot Isolation Christian Tilgner, Boris Glavic, Michael Böhlen, Carl-Christian Kanne University of Zurich, University of Toronto, University of Mannheim [email protected], [email protected] [email protected], [email protected] Abstract. Snapshot isolation (SI) is a popular concurrency control proSnapshot isolation (SI) is a popular concurrency control protocol, but it permits non-serializable schedules that violate database integrity. The Serializable Snapshot Isolation (SSI) protocol ensures (view) serializability by preventing pivot structures in SI schedules. In this paper, we leverage the SSI approach and develop the Declarative Serializable Snapshot Isolation (DSSI) protocol, an SI protocol that guarantees serializable schedules. Our approach requires no analysis of application programs or changes to the underlying DBMS. We present an implementation and prove that it ensures serializability.
منابع مشابه
Serializable Snapshot Isolation in PostgreSQL
This paper describes our experience implementing PostgreSQL’s new serializable isolation level. It is based on the recently-developed Serializable Snapshot Isolation (SSI) technique. This is the first implementation of SSI in a production database release as well as the first in a database that did not previously have a lock-based serializable isolation level. We reflect on our experience and d...
متن کاملSerializable Snapshot Isolation for Replicated Databases in High-Update Scenarios
Many proposals for managing replicated data use sites running the Snapshot Isolation (SI) concurrency control mechanism, and provide 1-copy SI or something similar, as the global isolation level. This allows good scalability, since only ww-conflicts need to be managed globally. However, 1-copy SI can lead to data corruption and violation of integrity constraints [5]. 1-copy serializability is t...
متن کاملPerformance of program modification techniques that ensure serializable executions with snapshot isolation DBMS
Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by several open source and commercial database systems (Oracle, PostgreSQL, Microsoft SQL Server). The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that app...
متن کاملEnsuring Serializable Executions with Snapshot Isolation DBMS
Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by open source and commercial database systems such as PostgreSQL and Oracle. The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that appear in other isolatio...
متن کاملSerializable Snapshot Isolation in Shared-Nothing, Distributed Database Management Systems
NoSQL data storage systems provide high scalability and availability in exchange for limited transactional guarantees. In many cases, however, an application cannot give up transactional support but still needs the scalability provided by such systems. One approach for overcoming this limitation is to implement Snapshot Isolation (SI) on top of these systems. SI prevents most non-serializable e...
متن کامل