SGMLXML.net A place for SGML and XML application developers.

October 6, 2005

ACID Test & Transactions Defined

Filed under: Software — cangione @ 7:51 pm

Acid test is a phrase that can also refer to a foolproof test that will accurately determine the validity of something. The origins come from the gold rush in the United States. Gold does not react to most acids (unlike most metals) but does to nitric acid. The acid test was then used to confirm if gold was indeed found.[1]

Transactions provide several important properties, referred to as the ACID properties: [2]

  • Atomicity:
    A transaction is either successful or unsuccessful. Either all of the operations that make up a transaction take effect or none take effect. A successful transaction is said to commit. An unsuccessful transaction is said to abort. Any operations performed by an aborted transaction are undone (rolled back) so that its effects are not visible.
  • Consistency:
    A transaction transforms distributed data from one consistent state to another. The application program is responsible for ensuring consistency.
  • Isolation:
    Each transaction appears to run independently of other transactions that are running concurrently. The effects of a transaction are not visible to others until the transaction completes (commits or aborts). The transactions appear to be serialized, with two or more transactions acting as though one completed before the other began, even though they are executed concurrently.
  • Durability:
    Also known as permanence, this property ensures that once completed, the effects of a transaction are permanent. A subsequent failure (such as abnormal program termination, communications failure, or hardware failure) does not cause the effects to be undone. Transactions are often used to control and moderate access to a centralized database. Typical uses for transaction processing systems include database-oriented applications such as airline reservation systems and automatic bank-teller machines.

[1] From Wikipedia
[2] Red Hat Web Application Framework Developer Guide

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress