TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Validation Based Protocol in DBMS 


     Validation Based Protocol Kya Hota Hai?

    Validation Based Protocol ya Optimistic Concurrency Control ek technique hai DBMS mein jo multiple transactions ko ek saath execute hone deti hai bina lock lagaye.

    Ye “optimistic” isliye kehlata hai kyunki system maanta hai ki zyada conflicts nahi honge, aur transactions usually bina takraav ke complete ho jaayenge.

    Transactions ko pehle freely chalne diya jaata hai, aur commit karne se pehle validate (check) kiya jaata hai ki koi conflict toh nahi hai.


     Basic Idea

    • Har transaction aaraam se kaam karta hai (read/write karta hai).

    • Par jab woh commit karne jaata hai, tab system check karta hai ki:

      • Kya isne aise data read/write kiya jo kisi aur transaction ne bhi change kiya ho?

    • Agar conflict nahi hua → Commit allowed

    • Agar conflict hua → Transaction ko abort karke dobara start karna padega

     Validation Protocol ke 3 Phases

    1. Read Phase

    • Transaction database se data read karta hai.

    • Saari changes local memory mein store hoti hain (abhi database mein likha nahi jaata).

    2. Validation Phase

    • Transaction jab commit karne jaata hai, tab check hota hai ki kya koi conflict toh nahi.

    • Agar sab thik hai → Write phase mein jaata hai.

    • Agar conflict mila → Abort karna padta hai.

    3. Write Phase

    • Agar validation pass ho gaya, tab changes ko database mein likha jaata hai.

     Important Timestamps

    Har transaction ke kuch time markers hote hain:

    • Start(T) → Jab transaction start hota hai

    • Validation(T) → Jab validation phase start hota hai

    • Finish(T) → Jab write phase complete hota hai

     Example

    Maan lo teen transactions hain:

    TransactionStartValidationFinish
    T1102025
    T2152228
    T3233035

    Jab T3 commit karne jaata hai:

    System check karega ki:

    • Kya T3 ne aise data pe kaam kiya hai jo T1 ya T2 ne bhi change kiya?

    • Agar T3 ka kaam T1 aur T2 se conflict nahi karta →  Commit allowed

    • Agar conflict karta hai →  T3 ko abort karna padega

     Transaction Valid Kab Maana Jaata Hai?

    Ek transaction Ti valid tab hota hai agar pehle wale har transaction Tj ke liye:

    1. Tj ka write Ti ke start se pehle ho gaya ho, ya

    2. Tj sirf un data items ko read karta hai jise Ti ne write kiya, ya

    3. Ti aur Tj alag-alag data items pe kaam karte ho (no overlap)

     Real-Life Example

    Socho 3 students apna assignment likh rahe hain:

    • Har student alag notebook mein likhta hai (Read Phase)

    • Submit karne se pehle dekhte hain ki kisi aur ne unka topic change toh nahi kiya (Validation Phase)

    • Agar sab theek hai → Assignment submit (Write Phase)

    • Agar kisi aur ne same topic pe change kar diya → Dobara likhna padega (Abort & Restart)


     Advantages 

    AdvantageDescription
    No lockingLocks nahi lagte, toh deadlock bhi nahi hota
    High concurrencyZyada transactions ek saath chal sakte hain
    Conflict rare ho toh perfect haiJab takraav kam ho, tab yeh bahut acha kaam karta hai

     Disadvantages 

    DisadvantageDescription
    Zyada abort chancesAgar conflict ho gaya toh transaction fail ho jaata hai
    Wasted workAgar transaction abort ho gaya toh uska pura kaam waste ho jaata hai
    Not good for high conflictJahan conflict zyada ho wahan yeh protocol suitable nahi

     Summary Table

    PhaseKya Hota Hai?
    Read PhaseTransaction data read karta hai aur changes ko local mein rakhta hai
    ValidationCheck hota hai ki conflict toh nahi
    Write PhaseAgar pass hua toh database mein changes likh diye jaate hain

     Conclusion

    • Validation-based protocol ek smart technique hai concurrency control ke liye.

    • Ismein no locking hoti hai, isliye deadlock ka issue nahi aata.

    • Teen phases hote hain: Read → Validate → Write

    • Agar conflict mile, toh transaction rollback ho jaata hai.

    Scroll to Top