Performance of program modification techniques that ensure serializable executions with snapshot isolation DBMS

  • Authors:
  • Mohammad Alomari;Alan Fekete;Uwe Röhm

  • Affiliations:
  • -;-;-

  • Venue:
  • Information Systems
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by several open source and commercial database systems (Oracle, Microsoft SQL Server, and previous releases of PostgreSQL). The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that appear in other isolation levels, but it still can result in non-serializable executions, in which database integrity constraints can be violated. Several techniques are known to modify the application code based on preanalysis, in order to ensure that every execution is serializable on engines running SI. We introduce a new technique called External Lock Manager (ELM). In using a technique, there is a choice to make, of which pairs of transactions need to have conflicts introduced. We measure the performance impact of the choices available, among techniques and conflicts.