Advertisement

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

  • Mohammad Alomari
  • Michael Cahill
  • Alan Fekete
  • Uwe Röhm
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4947)

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.

Keywords

Application Program Concurrency Control Application Code Serializable Execution Shot Isolation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)CrossRefGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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. 5.
    Jacobs, K.: Concurrency control: Transaction isolation and serializability in SQL92 and Oracle7. Technical Report A33745 (White Paper), Oracle Corporation (1995)Google Scholar
  6. 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. 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. 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. 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. 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. 11.
    Transaction Processing Performance Council: TPC Benchmark C Standard Specification, Revision 5.0 (2001), http://www.tpc.org/tpcc/
  12. 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. 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. 14.
    Fekete, A., O’Neil, E., O’Neil, P.: A read-only transaction anomaly under snapshot isolation. SIGMOD Rec. 33(3), 12–14 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Mohammad Alomari
    • 1
  • Michael Cahill
    • 1
  • Alan Fekete
    • 1
  • Uwe Röhm
    • 1
  1. 1.School of Information TechnologiesThe University of SydneySydneyAustralia

Personalised recommendations