From Surf Wiki (app.surf) — the open knowledge base
Write–read conflict
Interleaved transaction conflict
Interleaved transaction conflict
In computer science, in the field of databases, write–read conflict (also known as reading uncommitted data and dirty read), is a computational anomaly associated with interleaved execution of transactions. Specifically, a write–read conflict occurs when "a transaction requests to write an entity, for which an unclosed transaction has already made a read request."
Given a schedule S
:S = \begin{bmatrix} T1 & T2 \ R(A) & \ W(A) & \ & R(A) \ & W(A)\ & R(B) \ & W(B) \ & Com. \ R(B) & \ W(B) & \ Com. & \end{bmatrix}
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.
References
References
- (1981). "Distributed database concurrency controls using before-values". [[Association for Computing Machinery]].
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Write–read conflict — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report