Snapshot Isolation and Integrity Constraints in Replicated Databases Yi Lin 1 , Bettina Kemme 1 School of Computer Science, McGill University, Canada yi.lin@mail.mcgill.ca, kemme@cs.mcgill.ca Ricardo Jim´ enez-Peris 2 , Marta Pati˜ no-Mart´ ınez 2 Facultad de Inform´ atica, Universidad Polit´ ecnica de Madrid, Spain (rjimenez, mpatino)@fi.upm.es and Jos´ e Enrique Armend´ ariz-I˜ nigo 3 Departamento de Ingenier´ ıa Matem´ atica e Inform´ atica, UniversidadP´ublicade Navarra, Spain enrique.armendariz@unavarra.es Database replication is widely used for fault-tolerance and performance. However, it requires replica control to keep data copies consistent despite updates. The traditional correctness criterion for the concurrent execution of transactions in a replicated database is 1-copy-serializability. It is based on serializability, the strongest isolation level in a non-replicated system. In recent years, however, snapshot isolation (SI), a slightly weaker isolation level, has become popular in commercial database systems. There exist already several replica control protocols that provide SI in a replicated system. However, most of the correctness reasoning for these protocols has been rather informal. Additionally, most of the work so far ignores the issue of integrity constraints. In this paper, we provide a formal definition of 1-copy-SI using and extending a well-established definition of SI in a non-replicated system. Our definition considers integrity constraints in a way that conforms to the way integrity constraints are handled in commercial systems. We discuss a set of necessary and sufficient conditions for a replicated history to be producible under 1-copy-SI. This makes our formalism a convenient tool to prove the correctness of replica control algorithms. Categories and Subject Descriptors: H[Information Systems]: ; H.2 [Database Manage- ment]: ; H.2.4 [Systems]: Distributed databases General Terms: Theory, Verification, Reliability Additional Key Words and Phrases: Replication, Snapshot Isolation, Integrity Constraints 1 This work was partially supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) under its Discovery Grants Program. 2 This work was supported in part by the Spanish National Science Foundation (MEC) (grant TIN2007-67353-C02), Madrid Regional Research Council under the Autonomic project (grant S- 0505/TIC/000285) and the EU Commission under the NEXOF-RA project (grant FP7-216446). 3 This work has been partially supported by the Spanish MEC and EU FEDER under grant TIN2006-14738-C02 and IMPIVA under grant IMAETB/2007/30. Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 2009 ACM 0362-5915/2009/0300-0001 $5.00 ACM Transactions on Database Systems, Vol. V, No. N, February 2009, Pages 1–54.