Saturday, December 19, 2009

What is transaction isolation and why it is important?

Transaction isolation means data used during transaction cannot be used by second transaction until the first is completed. And this property is particularly useful in multiuser database environments because several users can access and update the database at the same time.





Can anyone give more answers?What is transaction isolation and why it is important?
In database systems, isolation is a property that defines how/when the changes made by one operation become visible to other concurrent operations. Isolation is one of the ACID (Atomicity, Consistency, Isolation, Durability) properties.





The isolation property is the most often relaxed ACID property in a DBMS (Database Management System). This is because to maintain the highest level of isolation a DBMS must acquire locks on data, which may result in a loss of concurrency, or else implement multiversion concurrency control, which may require additional application logic to function correctly.





Most DBMSs offer a number of transaction isolation levels which control the degree of locking which occurs when selecting data. For many database applications the majority of database transactions can be constructed in such a way as to not require high isolation levels, thus reducing the locking overhead for the system. The programmer must carefully analyze database access code to ensure that any relaxation of isolation does not cause difficult-to-find software bugs. Conversely, at higher isolation levels the possibility of deadlock is increased, which also requires careful analysis and programming techniques to avoid.





The isolation levels defined by the ANSI/ISO SQL standard are:

No comments:

Post a Comment