🔒 Database System Design: Transaction Isolation Levels

āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĄāĻŋāϜāĻžāχāύ āĻļ⧇āĻ–āĻžāϰ āϏāĻŽā§Ÿ āφāĻŽāϰāĻž āĻĒā§āϰāĻžā§Ÿāχ āĻāĻ•āϟāĻž āĻļāĻŦā§āĻĻ āĻļ⧁āύāĻŋ — “Isolation Level”āĨ¤ āĻ…āύ⧇āϕ⧇ āĻāϕ⧇ āϭ⧁āϞ āĻ•āϰ⧇ “Isolation Layer” āĻŦāϞ⧇ , āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāϏāϞ⧇ āĻāϟāĻž āĻšāϞ⧋ Transaction Isolation Level, āϝāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻ…āĻ¨ā§āϝāϤāĻŽ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāώ⧟āĨ¤

āφāĻŽāϰāĻž āĻāĻ•āĻĻāĻŽ āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻŦ⧁āĻāĻŦ — Read Uncommitted, Read …


This content originally appeared on DEV Community and was authored by Sajjad Rahman

āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĄāĻŋāϜāĻžāχāύ āĻļ⧇āĻ–āĻžāϰ āϏāĻŽā§Ÿ āφāĻŽāϰāĻž āĻĒā§āϰāĻžā§Ÿāχ āĻāĻ•āϟāĻž āĻļāĻŦā§āĻĻ āĻļ⧁āύāĻŋ — “Isolation Level”āĨ¤ āĻ…āύ⧇āϕ⧇ āĻāϕ⧇ āϭ⧁āϞ āĻ•āϰ⧇ “Isolation Layer” āĻŦāϞ⧇ , āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāϏāϞ⧇ āĻāϟāĻž āĻšāϞ⧋ Transaction Isolation Level, āϝāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻ…āĻ¨ā§āϝāϤāĻŽ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāώ⧟āĨ¤

āφāĻŽāϰāĻž āĻāĻ•āĻĻāĻŽ āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻŦ⧁āĻāĻŦ — Read Uncommitted, Read Committed, Repeatable Read, Serializable — āĻāχ āϚāĻžāϰāϟāĻž level āϕ⧀ āĻ•āϰ⧇, āϤāĻžāĻĻ⧇āϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āϕ⧀, āφāϰ āĻ•āĻŦ⧇ āϕ⧋āύāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤

🧠 Transaction Isolation Level āϕ⧀?

Transaction Isolation Level āĻšāϞ⧋ āĻāĻŽāύ āĻāĻ•āϟāĻž āύāĻŋāϝāĻŧāĻŽ āϝāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇ —

āĻāĻ•āϟāĻŋ transaction āϚāϞāĻžāϰ āϏāĻŽāϝāĻŧ āĻ…āĻ¨ā§āϝ transaction-āĻāϰ data access āĻŦāĻž modification āĻ•āϤāϟāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤

āĻĄāĻžāϟāĻžāĻŦ⧇āϏ (āϝ⧇āĻŽāύ: MySQL, PostgreSQL, SQL Server) āĻāχ isolation level āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇
Concurrency Control āĻŦāϜāĻžā§Ÿ āϰāĻžāϖ⧇, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻ•āĻžāϧāĻŋāĻ• transaction āĻāĻ•āϏāĻžāĻĨ⧇ āϚāϞāϞ⧇āĻ“ data inconsistency āύāĻž āĻšā§ŸāĨ¤

âš™ī¸ āϚāĻžāϰāϟāĻŋ āĻŽā§‚āϞ Isolation Level

Level Prevents Allows Risk
Read Uncommitted ❌ āĻ•āĻŋāϛ⧁āχ āύāĻž āϏāĻŦ Dirty Read
Read Committed Dirty Read Non-repeatable Read Medium risk
Repeatable Read Dirty + Non-repeatable Read Phantom Read Low risk
Serializable āϏāĻŦ āĻ•āĻŋāϛ⧁āχ āύāĻž Slowest, but safest

🔍 āĻĒā§āϰāϤāĻŋāϟāĻž Isolation Level āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤāĻ­āĻžāĻŦ⧇

1ī¸âƒŖ Read Uncommitted

🔹 āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ•āĻŽ isolation āϞ⧇āϭ⧇āϞāĨ¤
🔹 āĻāĻ–āĻžāύ⧇ āĻāĻ• transaction āĻ…āĻ¨ā§āϝ transaction-āĻāϰ uncommitted data āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

📘 Example:

  • Transaction A data update āĻ•āϰāϛ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ–āύ⧋ commit āĻ•āϰ⧇ āύāĻžāχāĨ¤
  • Transaction B āĻ“āχ data read āĻ•āϰ⧇ āĻĢ⧇āϞāϞāĨ¤
  • āĻĒāϰ⧇ A rollback āĻ•āϰāϞ⧇ B āϝ⧇āϟāĻž āĻĒā§œā§‡āϛ⧇ āϏ⧇āϟāĻž āϭ⧁āϞ data (Dirty Read)āĨ¤

âš ī¸ Problem: Dirty Read
📈 Use case: Performance āϖ⧁āĻŦ āĻĻāϰāĻ•āĻžāϰ, consistency āĻ•āĻŽ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāϞ⧇ (āϖ⧁āĻŦ āĻ•āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§Ÿ)āĨ¤

2ī¸âƒŖ Read Committed (👉 āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻŦā§āϝāĻŦāĻšā§ƒāϤ)

🔹 āĻāĻ• transaction āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ…āĻ¨ā§āϝāĻĻ⧇āϰ committed data āĻĒ⧜āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
🔹 Uncommitted data āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ āύāĻžāĨ¤

📘 Example:

  • T1 reads balance = 100
  • T2 updates balance = 200 (commits)
  • T1 āφāĻŦāĻžāϰ read āĻ•āϰāϞ⧇ āĻĻ⧇āϖ⧇ 200 đŸ˜ĩ (value change āĻšā§Ÿā§‡ āϗ⧇āϛ⧇)

âš ī¸ Problem: Non-repeatable Read
📈 Use case: SQL Server, Oracle – āĻāχ level āĻĄāĻŋāĻĢāĻ˛ā§āϟāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

3ī¸âƒŖ Repeatable Read

🔹 āĻāĻ•āĻŦāĻžāϰ read āĻ•āϰāĻž data transaction āϚāϞāĻžāĻ•āĻžāϞ⧀āύ āϏāĻŽā§Ÿā§‡ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻĨāĻžāϕ⧇āĨ¤
🔹 āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻ•āχ row āĻŦāĻžāϰāĻŦāĻžāϰ āĻĒ⧜āϞ⧇āĻ“ āĻāĻ•āχ value āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžāĻŦ⧇āĨ¤
🔹 āϤāĻŦ⧇ āύāϤ⧁āύ row add āĻšāϞ⧇ āϏ⧇āϟāĻž āĻĻ⧇āĻ–āĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (Phantom Read)āĨ¤

âš ī¸ Problem: Phantom Read
📈 Use case: MySQL-āĻāϰ default isolation levelāĨ¤

4ī¸âƒŖ Serializable (🔒 Highest Isolation)

🔹 āĻāχ āϞ⧇āϭ⧇āϞ⧇ database ensure āĻ•āϰ⧇ transactions āĻāϕ⧇ āĻ…āĻĒāϰ⧇āϰ āĻĨ⧇āϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ serially execute āĻšā§ŸāĨ¤
🔹 āϕ⧋āύāĻ“ Dirty Read, Non-repeatable Read āĻŦāĻž Phantom Read āĻšā§Ÿ āύāĻžāĨ¤

âš ī¸ Problem: Performance āĻ•āĻŽā§‡ āϝāĻžā§Ÿ (lock āĻŦ⧇āĻļāĻŋ āϞāĻžāϗ⧇)āĨ¤
📈 Use case: Banking, Accounting, āĻŦāĻž Financial systems āϝ⧇āĻ–āĻžāύ⧇ 100% consistency āĻĻāϰāĻ•āĻžāϰāĨ¤

🧩 Quick Comparison Table

Isolation Level Dirty Read Non-repeatable Read Phantom Read Performance
Read Uncommitted ❌ Allowed ❌ Allowed ❌ Allowed ✅ Fastest
Read Committed ✅ Prevented ❌ Allowed ❌ Allowed âš–ī¸ Medium
Repeatable Read ✅ Prevented ✅ Prevented ❌ Allowed âš–ī¸ Medium-Low
Serializable ✅ Prevented ✅ Prevented ✅ Prevented đŸĸ Slowest

💡 āϏāĻšāĻœā§‡ āĻŽāύ⧇ āϰāĻžāĻ–āĻžāϰ āωāĻĒāĻžāϝāĻŧ

RU → RC → RR → S
"U Commit, Repeat, Serialize" 🧠

āĻāχ āĻ•ā§āϰāĻŽā§‡ Isolation Level āϝāϤ āĻŦāĻžā§œāĻŦ⧇:
đŸ”ŧ Consistency āĻŦāĻžā§œāĻŦ⧇
đŸ”Ŋ Performance āĻ•āĻŽāĻŦ⧇

🔒 Transaction Phenomena Explained

Phenomenon Description Prevented by
Dirty Read Uncommitted data āĻĒ⧜āĻž Read Committed ↑
Non-repeatable Read āĻāĻ•āχ row āĻĻā§â€™āĻŦāĻžāϰ āĻĒ⧜āϞ⧇ value change āĻšā§Ÿ Repeatable Read ↑
Phantom Read āĻāĻ•āχ query āĻĻā§â€™āĻŦāĻžāϰ āĻ•āϰāϞ⧇ āύāϤ⧁āύ row āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ Serializable ↑

āωāĻĒāϏāĻ‚āĻšāĻžāϰ

Transaction Isolation Level āĻšāϞ⧋ database consistency, concurrency āφāϰ performance āĻāϰ āĻŽāĻ§ā§āϝ⧇ balance āĻŦāϜāĻžā§Ÿ āϰāĻžāĻ–āĻžāϰ āωāĻĒāĻžā§ŸāĨ¤ āϤ⧁āĻŽāĻŋ āϕ⧋āύ level āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇ āϏ⧇āϟāĻž āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āϤ⧋āĻŽāĻžāϰ application-āĻāϰ nature āĻāϰ āωāĻĒāϰāĨ¤

🔹 High performance āĻĻāϰāĻ•āĻžāϰ? → Read Committed
🔹 High consistency āĻĻāϰāĻ•āĻžāϰ? → Serializable
🔹 Balanced system āϚāĻžāχāϞ⧇? → Repeatable Read


This content originally appeared on DEV Community and was authored by Sajjad Rahman


Print Share Comment Cite Upload Translate Updates
APA

Sajjad Rahman | Sciencx (2025-10-18T17:35:16+00:00) 🔒 Database System Design: Transaction Isolation Levels. Retrieved from https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/

MLA
" » 🔒 Database System Design: Transaction Isolation Levels." Sajjad Rahman | Sciencx - Saturday October 18, 2025, https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/
HARVARD
Sajjad Rahman | Sciencx Saturday October 18, 2025 » 🔒 Database System Design: Transaction Isolation Levels., viewed ,<https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/>
VANCOUVER
Sajjad Rahman | Sciencx - » 🔒 Database System Design: Transaction Isolation Levels. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/
CHICAGO
" » 🔒 Database System Design: Transaction Isolation Levels." Sajjad Rahman | Sciencx - Accessed . https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/
IEEE
" » 🔒 Database System Design: Transaction Isolation Levels." Sajjad Rahman | Sciencx [Online]. Available: https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/. [Accessed: ]
rf:citation
» 🔒 Database System Design: Transaction Isolation Levels | Sajjad Rahman | Sciencx | https://www.scien.cx/2025/10/18/%f0%9f%94%92-database-system-design-transaction-isolation-levels/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.