Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3087801.3087802acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article
Public Access

Seeing is Believing: A Client-Centric Specification of Database Isolation

Published: 25 July 2017 Publication History

Abstract

This paper introduces the first state-based formalization of isolation guarantees. Our approach is premised on a simple observation: applications view storage systems as black-boxes that transition through a series of states, a subset of which are observed by applications. Defining isolation guarantees in terms of these states frees definitions from implementation-specific assumptions. It makes immediately clear what anomalies, if any, applications can expect to observe, thus bridging the gap that exists today between how isolation guarantees are defined and how they are perceived. The clarity that results from definitions based on client-observable states brings forth several benefits. First, it allows us to easily compare the guarantees of distinct, but semantically close, isolation guarantees. We find that several well-known guarantees, previously thought to be distinct, are in fact equivalent, and that many previously incomparable flavors of snapshot isolation can be organized in a clean hierarchy. Second, freeing definitions from implementation-specific artefacts can suggest more efficient implementations of the same isolation guarantee. We show how a client-centric implementation of parallel snapshot isolation can be more resilient to slowdown cascades, a common phenomenon in large-scale datacenters.

References

[1]
Facebook. http://www.facebook.com/.
[2]
Adya, A. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. Ph.D., MIT, Cambridge, MA, USA, Mar. 1999. Also as Technical Report MIT/LCS/TR-786.
[3]
Adya, A., and Liskov, B. Lazy consistency using loosely synchronized clocks. In Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing (New York, NY, USA, 1997), PODC '97, ACM, pp. 73--82.
[4]
Ahamad, M., Neiger, G., Burns, J. E., Kohli, P., and Hutto, P. Causal memory: Definitions, implementation and programming. Tech. rep., Georgia Institute of Technology, 1994.
[5]
Ajoux, P., Bronson, N., Kumar, S., Lloyd, W., and Veeraraghavan, K. Challenges to adopting stronger consistency at scale. In Proceedings of the 15th USENIX Conference on Hot Topics in Operating Systems (2015), HOTOS'15.
[6]
Alvaro, P., Bailis, P., Conway, N., and Hellerstein, J. M. Consistency without borders. In Proceedings of the 4th ACM Symposium on Cloud Computing (2013), SOCC '13, pp. 23:1--23:10.
[7]
Amazon elastic compute cloud. http://aws.amazon.com/ec2/.
[8]
Apache. Cassandra. http://cassandra.apache.org/.
[9]
Ardekani, M. S., Sutra, P., and Shapiro, M. Non-monotonic snapshot isolation: Scalable and strong consistency for geo-replicated transactional systems. In Proceedings of the 32nd International Symposium on Reliable Distributed Systems (2013), SRDS '13, pp. 163--172.
[10]
Attiya, H., Ellen, F., and Morrison, A. Limitations of highly-available eventually-consistent data stores. In Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing (2015), PODC '15, ACM, pp. 385--394.
[11]
Bailis, P., Davidson, A., Fekete, A., Ghodsi, A., Hellerstein, J. M., and Stoica, I. Highly available transactions: Virtues and limitations. PVLDB 7, 3 (2013), 181--192.
[12]
Bailis, P., Fekete, A., Franklin, M. J., Ghodsi, A., Hellerstein, J. M., and Stoica, I. Feral concurrency control: An empirical investigation of modern application integrity. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (2015), SIGMOD '15, pp. 1327--1342.
[13]
Bailis, P., Fekete, A., Ghodsi, A., Hellerstein, J. M., and Stoica, I. Scalable atomic visibility with ramp transactions. ACM Transactions on Database Systems 41, 3 (July 2016), 15:1--15:45.
[14]
Basho. Riak. http://basho.com/products/.
[15]
Berenson, H., Bernstein, P., Gray, J., Melton, J., O'Neil, E., and O'Neil, P. A critique of ansi sql isolation levels. SIGMOD Rec. 24, 2 (May 1995), 1--10.
[16]
Bernstein, P. A., and Goodman, N. Concurrency control in distributed database systems. ACM Computing Survey 13, 2 (June 1981), 185--221.
[17]
Bernstein, P. A., and Goodman, N. Multiversion concurrency control;theory and algorithms. ACM Transactions on Database Systems 8, 4 (1983), 465--483.
[18]
Bernstein, P. A., Hadzilacos, V., and Goodman, N. Concurrency control and recovery in database systems. 1987.
[19]
Brzezinski, B., Sobaniec, C., and D., W. From session causality to causal consistency. In Proceedings of the 12th Euromicro Conference on Parallel, Distributed and Network based Processing (2004), PDP 2004.
[20]
Cerone, A., Bernardi, G., and Gotsman, A. A framework for transactional consistency models with atomic visibility. In 26th International Conference on Concurrency Theory, CONCUR 2015, (2015).
[21]
Cerone, A., and Gotsman, A. Analysing snapshot isolation. In Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing (2016), PODC '16, ACM, pp. 55--64.
[22]
Crooks, N., Pu, Y., Alvisi, L., and Clement, A. Seeing is believing: A client-centric specification of database isolation. Tech. Rep. TR-17-06, Computer Science Department, UT Austin, May 2017.
[23]
Crooks, N., Pu, Y., Estrada, N., Gupta, T., Alvisi, L., and Clement, A. Tardis: A branch-and-merge approach to weak consistency. In Proceedings of the 2016 International Conference on Management of Data (2016), SIGMOD '16, ACM, pp. 1615--1628.
[24]
Daudjee, K., and Salem, K. Lazy database replication with snapshot isolation. In Proceedings of the 32nd International Conference on Very Large Data Bases (2006), VLDB '06, VLDB Endowment, pp. 715--726.
[25]
Escriva, R., Wong, B., and Sirer, E. G. Warp: Lightweight multi-key transactions for key-value stores. CoRR abs/1509.07815 (2015).
[26]
Faleiro, J. M., Abadi, D., and Hellerstein, J. M. High performance transactions via early write visibility. PVLDB 10, 5 (2017), 613--624.
[27]
Fekete, A., Liarokapis, D., O'Neil, E., O'Neil, P., and Shasha, D. Making snapshot isolation serializable. ACM Transactions on Database Systems 30, 2 (June 2005), 492--528.
[28]
Google. Bigtable - massively scalable nosql. https://cloud.google.com/bigtable/.
[29]
Google. Cloud sql - fully managed sql service. https://cloud.google.com/sql/.
[30]
Guerraoui, R., and Kapalka, M. On the correctness of transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2008), PPoPP '08, ACM, pp. 175--184.
[31]
Herlihy, M. P., and Wing, J. M. Linearizability: a correctness condition for concurrent objects. ACM Transactions Programming Language Systems 12, 3 (July 1990), 463--492.
[32]
Imbs, D., and Raynal, M. Virtual world consistency: A condition for stm systems (with a versatile protocol with invisible read operations). Theoretical Computer Science 444 (July 2012), 113--127.
[33]
Kotla, R., Alvisi, L., Dahlin, M., Clement, A., and Wong, E. Zyzzyva: Speculative Byzantine Fault Tolerance. ACM Transactions on Computer Systems 27, 4 (Jan. 2010), 7:1--7:39.
[34]
Kraska, T., Pang, G., Franklin, M. J., Madden, S., and Fekete, A. Mdcc: multi-data center consistency. In Proceedings of the 8th ACM European Conference on Computer Systems (2013), EuroSys '13, pp. 113--126.
[35]
Kripke, S. A. Semantical considerations on modal logic. Acta Philosophica Fennica 16, 1963 (1963), 83--94.
[36]
Mahajan, P., Alvisi, L., and Dahlin, M. Consistency, availability, convergence. Tech. Rep. TR-11--22, Computer Science Department, UT Austin, May 2011.
[37]
Mehdi, A., Littley, C., Crooks, N., Alvisi, L., and Lloyd, W. I can't believe it's not causal. In Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation (2017), NSDI '17.
[38]
Mickens, J., Nightingale, E. B., Elson, J., Gehring, D., Fan, B., Kadav, A., Chidambaram, V., Khan, O., and Nareddy, K. Blizzard: Fast, Cloud-Scale Block Storage for Cloud-Oblivious Applications. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation (2014), NSDI'14.
[39]
Microsoft. Azure sql database. https://https://azure.microsoft.com/en-us/services/sql-database/?v=16.50.
[40]
Microsoft. Azure storage - secure cloud storage. https://azure.microsoft.com/en-us/services/storage/.
[41]
Microsoft. Documentdb - nosql service for json. https://azure.microsoft.com/en-us/services/documentdb/.
[42]
Microsoft. SQL Server. https://https://www.microsoft.com/en-cy/sql-server/sql-server-2016.
[43]
Mu, S., Cui, Y., Zhang, Y., Lloyd, W., and Li, J. Extracting more concurrency from distributed transactions. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (Berkeley, CA, USA, 2014), OSDI'14, USENIX Association, pp. 479--494.
[44]
Nightingale, E. B., Veeraraghavan, K., Chen, P. M., and Flinn, J. Rethink the Sync. ACM Transactions on Computer Systems 26, 3 (Sept. 2008), 6:1--6:26.
[45]
Oracle. MySQL Cluster. https://www.mysql.com/products/cluster/.
[46]
Oracle. Oracle 12c. https://docs.oracle.com/database/121/.
[47]
Papadimitriou, C. H. The serializability of concurrent database updates. J. ACM 26, 4 (Oct. 1979), 631--653.
[48]
Pedone, F., Zwaenepoel, W., and Elnikety, S. Database replication using generalized snapshot isolation. 24th IEEE Symposium on Reliable Distributed Systems (2005), 73--84.
[49]
Ports, D. R. K., Li, J., Liu, V., Sharma, N. K., and Krishnamurthy, A. Designing distributed systems using approximate synchrony in data center networks. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation (Berkeley, CA, USA, 2015), NSDI'15, pp. 43--57.
[50]
Postgres. Postgresql. http://www.postgresql.org/.
[51]
SAP. Hana. https://www.sap.com/products/hana.html.
[52]
Shapiro, M., Ardekani, M. S., and Petri, G. Consistency in 3d (invited paper). In 27th International Conference on Concurrency Theory (CONCUR 2016) (2016).
[53]
Sovran, Y., Power, R., Aguilera, M. K., and Li, J. Transactional storage for geo-replicated systems. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (2011), SOSP '11, pp. 385--400.
[54]
Su, C., Crooks, N., Ding, C., Alvisi, L., and Xie, C. Bringing modular concurrency control to the next level. In Proceedings of the 2017 ACM International Conference on Management of Data (2017), SIGMOD '17, pp. 283--297.
[55]
Terry, D. B., Demers, A. J., Petersen, K., Spreitzer, M. J., Theimer, M. M., and Welch, B. B. Session guarantees for weakly consistent replicated data. In Proceedings of the 3rd International Conference on on Parallel and Distributed Information Systems (1994), PDIS '94, pp. 140--150.
[56]
Twitter. Twitter. https://www.twitter.com/.
[57]
Viotti, P., and Vukolić, M. Consistency in non-transactional distributed storage systems. ACM Computing Survey 49, 1 (June 2016), 19:1--19:34.
[58]
Warszawski, T., and Bailis, P. Acidrain: Concurrency-related attacks on database-backed web applications. In Proceedings of the 2017 ACM International Conference on Management of Data (2017), SIGMOD '17, pp. 5--20.
[59]
Weikum, G. Principles and realization strategies of multilevel transaction management. ACM Transactions on Database Systems 16, 1 (Mar. 1991), 132--180.
[60]
Xie, C., Su, C., Littley, C., Alvisi, L., Kapritsos, M., and Wang, Y. High-performance acid via modular concurrency control. In Proceedings of the 25th Symposium on Operating Systems Principles (2015), SOSP '15, pp. 279--294.
[61]
Zhang, I., Sharma, N. K., Szekeres, A., Krishnamurthy, A., and Ports, D. R. K. Building consistent transactions with inconsistent replication. In Proceedings of the 25th Symposium on Operating Systems Principles (2015), SOSP '15, pp. 263--278.

Cited By

View all
  • (2024)IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store ApplicationsProceedings of the ACM on Programming Languages10.1145/36563918:PLDI(343-367)Online publication date: 20-Jun-2024
  • (2024)Simplifying Snapshot Isolation: A New Definition, Equivalence, and Efficient CheckingProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653032(23-29)Online publication date: 22-Apr-2024
  • (2024)Understanding Transaction Bugs in Database SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639207(1-13)Online publication date: 20-May-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '17: Proceedings of the ACM Symposium on Principles of Distributed Computing
July 2017
480 pages
ISBN:9781450349925
DOI:10.1145/3087801
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 July 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. acid
  2. cloud storage
  3. concurrency control
  4. consistency
  5. database
  6. distributed storage
  7. distributed systems
  8. eventual consistency
  9. isolation
  10. serializability
  11. transactions
  12. weak consistency

Qualifiers

  • Research-article

Funding Sources

Conference

PODC '17
Sponsor:

Acceptance Rates

PODC '17 Paper Acceptance Rate 38 of 154 submissions, 25%;
Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)239
  • Downloads (Last 6 weeks)23
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2024)IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store ApplicationsProceedings of the ACM on Programming Languages10.1145/36563918:PLDI(343-367)Online publication date: 20-Jun-2024
  • (2024)Simplifying Snapshot Isolation: A New Definition, Equivalence, and Efficient CheckingProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653032(23-29)Online publication date: 22-Apr-2024
  • (2024)Understanding Transaction Bugs in Database SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639207(1-13)Online publication date: 20-May-2024
  • (2023)Efficient Black-Box Checking of Snapshot Isolation in DatabasesProceedings of the VLDB Endowment10.14778/3583140.358314516:6(1264-1276)Online publication date: 20-Apr-2023
  • (2023)TL4xProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577495(245-259)Online publication date: 25-Feb-2023
  • (2023)Viper: A Fast Snapshot Isolation CheckerProceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3567492(654-671)Online publication date: 8-May-2023
  • (2023)Efficiently Supporting Multi-Level Serializability in Decentralized Database SystemsIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.327796935:12(12618-12633)Online publication date: 1-Dec-2023
  • (2023)Understanding Inconsistency in Azure Cosmos DB with TLA+Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00006(1-12)Online publication date: 17-May-2023
  • (2023)Leopard: A Black-Box Approach for Efficiently Verifying Various Isolation Levels2023 IEEE 39th International Conference on Data Engineering (ICDE)10.1109/ICDE55515.2023.00061(722-735)Online publication date: Apr-2023
  • (2023)Information Superbahn: Towards a Planet-Scale, Low-Entropy and High-Goodput Computing UtilityJournal of Computer Science and Technology10.1007/s11390-022-2898-738:1(103-114)Online publication date: 31-Jan-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media