Skip to main content

Serializable Executions with Snapshot Isolation: Modifying Application Code or Mixing Isolation Levels?

  • Conference paper
Database Systems for Advanced Applications (DASFAA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 4947))

Included in the following conference series:

Abstract

Snapshot Isolation concurrency control (SI) allows substantial performance gains compared to holding commit-duration readlocks, while still avoiding many anomalies such as lost updates or inconsistent reads. However, for some sets of application programs, SI can result in non-serializable execution, in which database integrity constraints can be violated. The literature reports two different approaches to ensuring all executions are serializable while still using SI for concurrency control. In one approach, the application programs are modified (without changing their stand-alone semantics) by introducing extra conflicts. In the other approach, the application programs are not changed, but a small subset of them must be run using standard two-phase locking rather than SI. We compare the performance impact of these two approaches. Our conclusion is that the convenience of preserving the application code (and adjusting only the isolation level for some transactions) leads to a very substantial performance penalty against the best that can be done through application modification.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. In: SIGMOD 1995: Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, pp. 1–10 (1995)

    Google Scholar 

  2. Fekete, A., Liarokapis, D., O’Neil, E., O’Neil, P., Shasha, D.: Making snapshot isolation serializable. ACM Trans. Database Syst. 30(2), 492–528 (2005)

    Article  Google Scholar 

  3. Fekete, A.: Allocating isolation levels to transactions. In: Proceedings of the 24th ACM SIGMOD symposium on Principles of Database Systems (PODS 2005), pp. 206–215. ACM Press, New York (2005)

    Chapter  Google Scholar 

  4. Alomari, M., Cahill, M., Fekete, A., Roehm, U.: The cost of serializability on platforms that use snapshot isolation. In: Proceedings of IEEE International Conference on Data Engineering (ICDE 2008) (2008)

    Google Scholar 

  5. Jacobs, K.: Concurrency control: Transaction isolation and serializability in SQL92 and Oracle7. Technical Report A33745 (White Paper), Oracle Corporation (1995)

    Google Scholar 

  6. Wu, S., Kemme, B.: Postgres-R(SI): Combining replica control with concurrency control based on snapshot isolation. In: Proceedings of the 21st IEEE International Conference on Data Engineering (ICDE 2005), pp. 422–433 (2005)

    Google Scholar 

  7. Plattner, C., Alonso, G.: Ganymed: scalable replication for transactional web applications. In: Jacobsen, H.-A. (ed.) Middleware 2004. LNCS, vol. 3231, pp. 155–174. Springer, Heidelberg (2004)

    Google Scholar 

  8. Lin, Y., Kemme, B., Patiño-Martínez, M., Jiménez-Peris, R.: Middleware based data replication providing snapshot isolation. In: Proceedings of the 2005 ACM SIGMOD International Conference on Management of Data, pp. 419–430 (2005)

    Google Scholar 

  9. Elnikety, S., Pedone, F., Zwaenepoel, W.: Database replication using generalized snapshot isolation. In: 24th IEEE Symposium on Reliable Distributed Systems (SRDS 2005), pp. 73–84 (2005)

    Google Scholar 

  10. Daudjee, K., Salem, K.: Lazy database replication with snapshot isolation. In: Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB 2006), VLDB Endowment, pp. 715–726 (2006)

    Google Scholar 

  11. Transaction Processing Performance Council: TPC Benchmark C Standard Specification, Revision 5.0 (2001), http://www.tpc.org/tpcc/

  12. Bernstein, A.J., Lewis, P.M., Lu, S.: Semantic conditions for correctness at different isolation levels. In: Proceedings of IEEE International Conference on Data Engineering (ICDE 2000), pp. 57–66 (2000)

    Google Scholar 

  13. Jorwekar, S., Fekete, A., Ramamritham, K., Sudarshan, S.: Automating the detection of snapshot isolation anomalies. In: Proceedings of the 33rd international conference on Very Large Data Bases (VLDB 2007), pp. 1263–1274 (2007)

    Google Scholar 

  14. Fekete, A., O’Neil, E., O’Neil, P.: A read-only transaction anomaly under snapshot isolation. SIGMOD Rec. 33(3), 12–14 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jayant R. Haritsa Ramamohanarao Kotagiri Vikram Pudi

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alomari, M., Cahill, M., Fekete, A., Röhm, U. (2008). Serializable Executions with Snapshot Isolation: Modifying Application Code or Mixing Isolation Levels?. In: Haritsa, J.R., Kotagiri, R., Pudi, V. (eds) Database Systems for Advanced Applications. DASFAA 2008. Lecture Notes in Computer Science, vol 4947. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78568-2_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78568-2_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78567-5

  • Online ISBN: 978-3-540-78568-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics