Most DBMS provide some form of
support for transactions, which allow multiple data items to be updated in a
consistent fashion, such that updates that are part of a transaction succeed or
fail in unison. The so-called ACID rules, summarized here, characterize this behavior:
- Atomicity: Either all the data changes in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone (rolled back).
- Consistency: Every transaction must preserve the declared consistency rules for the database.
- Isolation: Two concurrent transactions cannot interfere with one another. Intermediate results within one transaction must remain invisible to other transactions. The most extreme form of isolation is serializability, meaning that transactions that take place concurrently could instead be performed in some series, without affecting the ultimate result.
- Durability: Completed
transactions cannot be aborted later or their results discarded. They must
persist through (for instance) DBMS restarts.
In practice, many DBMSs allow
the selective relaxation of these rules to balance perfect behavior with
optimum performance.
No comments:
Post a Comment