TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Concurrency Control in DBMS 


     Concurrency kya hoti hai DBMS mein?

    Concurrency ka matlab hota hai ki multiple transactions ek hi samay par chal rahe hote hain database mein.

     Kyun zaroori hai concurrency?

    • Multiple users ek saath kaam kar sakein

    • System fast aur efficient chale

    • Time bache, performance achhi ho

     Problem kya hota hai concurrency se?

    Agar do ya zyada transactions ek hi data pe ek saath kaam karein bina kisi control ke, to data inconsistent ya galat ho sakta hai.

     Common Problems in Concurrency:

    Problem Meaning (Hinglish)
    Lost Update Dono transactions same data ko update karte hain, aur ek ka update gayab ho jata hai
    Dirty Read Ek transaction doosre ke incomplete (abhi commit nahi hua) data ko read kar leti hai
    Unrepeatable Read Ek hi query baar-baar alag result deti hai
    Phantom Read Query baar-baar chalane pe nayi rows milti hain
     

     Concurrency Control ka kaam kya hai?

    Concurrency Control DBMS ka wo mechanism hai jo ensure karta hai ki:

     Multiple transactions ek saath chal sakti hain
     Data galat ya inconsistent na ho
     Result aise aaye jaise ki transactions ek-ek karke (serially) chale ho

     Concurrency Control ke Main Techniques:

     1. Lock-Based Protocols

     2. Timestamp-Based Protocols

     3. Optimistic Concurrency Control

     4. Validation-Based Protocols

     1. Lock-Based Protocols

    Is method mein system data items ko lock karta hai taaki ek samay pe sirf ek transaction us data ko use kare.

     Lock Types:

    • Shared Lock (S-Lock): sirf read ke liye

    • Exclusive Lock (X-Lock): read + write dono ke liye

     Two-Phase Locking (2PL)

    2PL mein 2 phases hote hain:

    1. Growing Phase – transaction locks leta hai

    2. Shrinking Phase – transaction locks release karta hai

     Example:

    T1 Steps T2 Steps
    Lock(A) (read)  
    Read A  
    Lock(A) (write) T2 wait karega
    Write A  
    Unlock(A) Ab T2 continue karega
     

     T2 wait karta hai jab tak T1 lock release nahi karta

     2. Timestamp-Based Protocol

    Is method mein har transaction ko ek timestamp milta hai jab wo start hoti hai.

    • Jo pehle start hota hai, usko priority milti hai

    • System ensure karta hai ki data older transaction ke hissaab se access ho

     Rules:

    • Naye (younger) transaction agar purane data ko overwrite kare to rollback ho jata hai

     Example:

    Transaction Timestamp Action Allowed?
    T1 5 Read A Yes
    T2 10 Write A No(Rollback hota hai)
     

     3. Optimistic Concurrency Control

    Yeh assume karta hai ki conflicts rare hote hain, isliye transactions bina lock ke chalti hain.

     3 Phases:

    1. Read Phase – data read karo

    2. Validation Phase – check karo conflict to nahi

    3. Write Phase – agar sab safe ho to data write karo

     Pros: High performance

     Cons: Agar conflict mile to rollback hoga


     4. Validation-Based Protocol

    Optimistic control jaisa hi hai, par ismein validation process thoda strict hota hai.

    • Transaction ko validate kiya jata hai ki wo kisi aur running transaction ke saath conflict na kare

    • Agar sab safe ho, tabhi commit hota hai

     Summary Table 

    Method Basic Idea Pros Cons
    Lock-Based Data pe lock lagana Simple and reliable Deadlock ho sakta hai
    Timestamp-Based Time ke base pe access control Deadlock-free Rollbacks hote hain
    Optimistic Assume karo conflict nahi hoga Fast execution Validation/rollback
    Validation-Based End mein check karo safety Safe & consistent Complex logic
     

     ACID Properties yaad rakhna:

    Concurrency control ensure karta hai ki har transaction ye 4 properties follow kare:

    • Atomicity – Complete ya fail, beech mein nahi rukti

    • Consistency – Data valid state mein hi rahe

    • Isolation – Ek transaction dusre se independent lage

    • Durability – Commit hone ke baad data permanent ho jaye


     Final Summary:

    • Concurrency control DBMS ka important part hai

    • Ye ensure karta hai ki multiple transactions ke beech data conflict ya loss na ho

    • Iske popular methods: Locking, Timestamps, Optimistic aur Validation

    Scroll to Top