• DocumentCode
    1041175
  • Title

    Correct execution of transactions at different isolation levels

  • Author

    Lu, Shiyong ; Bernstein, Arthur ; Lewis, Philip

  • Author_Institution
    Dept. of Comput. Sci., Wayne State Univ., Detroit, MI, USA
  • Volume
    16
  • Issue
    9
  • fYear
    2004
  • Firstpage
    1070
  • Lastpage
    1081
  • Abstract
    Many transaction processing applications execute at isolation levels lower than SERIALIZABLE in order to increase throughput and reduce response time. However, the resulting schedules might not be serializable and, hence, not necessarily correct. The semantics of a particular application determines whether that application will run correctly at a lower level and, in practice, it appears that many applications do. The decision to choose an isolation level at which to run an application and the analysis of the correctness of the resulting execution is usually done informally. We develop a formal technique to analyze and reason about the correctness of the execution of an application at isolation levels other than SERIALIZABLE. We use a new notion of correctness, semantic correctness, a criterion weaker than serializability, to investigate correctness. In particular, for each isolation level, we prove a condition under which the execution of transactions at that level will be semantically correct. In addition to the ANSI/ISO isolation levels of READ UNCOMMITTED, READ COMMITTED, and REPEATABLE READ, we also prove a condition for correct execution at the READ-COMMITTED with first-committer-wins and at SNAPSHOT isolation. We assume that different transactions in the same application can be executing at different levels, but that each transaction is executing at least at READ UNCOMMITTED.
  • Keywords
    formal specification; formal verification; programming language semantics; relational databases; transaction processing; ANSI/ISO isolation levels; formal technique; isolation levels; serializability; transaction processing applications; ANSI standards; Algorithm design and analysis; Delay; ISO standards; Interleaved codes; Pattern analysis; Relational databases; Throughput; Transaction databases; 65; Index Terms- Isolation levels; correctness; serializability; transactions.;
  • fLanguage
    English
  • Journal_Title
    Knowledge and Data Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1041-4347
  • Type

    jour

  • DOI
    10.1109/TKDE.2004.34
  • Filename
    1316835