Jump to content

Write–read conflict

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Itskit (talk | contribs) at 23:22, 5 July 2023 (minor spacing, wording fixes. added additional common term for "dirty read", referring to an error than can occur as a result of the article's subject (write-read conflict).). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, in the field of databases, write–read conflict, also known as reading uncommitted data, is a computational anomaly associated with interleaved execution of transactions.

Given a schedule S

T2 could read a database object A, modified by T1 which hasn't committed. This is a dirty or inconsistent read.

T1 may write some value into A which makes the database inconsistent. It is possible that interleaved execution can expose this inconsistency and lead to an inconsistent final database state, violating ACID rules.

Strict 2PL overcomes this inconsistency by locking T2 out from performing a Read/Write on A. Note however that Strict 2PL can have a number of drawbacks, such as the possibility of deadlocks.

See also

References