The Cost of Serializability on Platforms That Use Snapshot Isolation

  • Authors:
  • Mohammad Alomari;Michael Cahill;Alan Fekete;Uwe Rohm

  • Affiliations:
  • School of Information Technologies, University of Sydney, Sydney NSW 2006, Australia. miomari@it.usyd.edu.au;School of Information Technologies, University of Sydney, Sydney NSW 2006, Australia. mjc@it.usyd.edu.au;School of Information Technologies, University of Sydney, Sydney NSW 2006, Australia. fekete@it.usyd.edu.au;School of Information Technologies, University of Sydney, Sydney NSW 2006, Australia. roehm@it.usyd.edu.au

  • Venue:
  • ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several common DBMS engines use the multiversion concurrency control mechanism called Snapshot Isolation, even though application programs can experience non-serializable executions when run concurrently on such a platform. Several proposals exist for modifying the application programs, without changing their semantics, so that they are certain to execute serializably even on an engine that uses SI. We evaluate the performance impact of these proposals, and find that some have limited impact (only a few percent drop in throughput at a given multi-programming level) while others lead to much greater reduction in throughput of up-to 60% in high contention scenarios. We present experimental results for both an open-source and a commercial engine. We relate these to the theory, giving guidelines on which conflicts to introduce so as to ensure correctness with little impact on performance.