TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5


  •  Timestamp Based Protocol in DBMS 


     Timestamp Based Protocol kya hota hai?

    Ye ek concurrency control technique hai jiska use DBMS karta hai taaki multiple transactions ek saath safe tareeke se chal sakein bina data galat hone ke.

    Har transaction ko ek unique timestamp diya jata hai, aur ye timestamp decide karta hai ki kaun sa transaction pehle chalega aur kaun baad mein.

    “Jo transaction pehle aaya (older), use pehle kaam karne diya jata hai.”


     Kyun zaroori hai Timestamp Protocol?

    Jab multiple transactions ek saath same data access karte hain, to kuch problems ho sakti hain:

    • Lost updates (ek transaction ke update ko doosra hata deta hai)

    • Dirty reads (ek transaction galat ya adhura data read karta hai)

    • Inconsistency in data

    Isiliye, Timestamp-Based Protocol data ko safe rakhne ke liye har transaction ko ek order mein chalata hai.

     Kuch Important Terms

    TermMatlab kya hai?
    Timestamp (TS)Har transaction ka ek unique number
    TS(Ti)Transaction Ti ka timestamp
    Read_TS(X)X naam ke data item ko sabse last kis timestamp wale ne read kiya
    Write_TS(X)X naam ke data item ko sabse last kis timestamp wale ne write kiya

     Kaise kaam karta hai?

    2 Main Operations:

    1. Read(X) – Data X ko read karna

    2. Write(X) – Data X ko write karna (update)

    Agar koi transaction Ti data item X pe kuch karna chahta hai, to hum uska timestamp TS(Ti) dekhte hain aur neeche wale rules apply karte hain.

     Read Rule:

    Agar TS(Ti) < Write_TS(X),
     iska matlab hai ki X ko ek newer transaction already write kar chuka hai, to Ti ko abort (cancel) karna padega.

    Nahi to:

    • Allow the read

    • Update Read_TS(X) = max(Read_TS(X), TS(Ti))

     Write Rule:

    Agar:

    1. TS(Ti) < Read_TS(X)Abort (kyunki koi naya transaction X ko already read kar chuka hai)

    2. TS(Ti) < Write_TS(X)Abort (kyunki koi naya transaction X ko already write kar chuka hai)

    Nahi to:

    • Allow the write

    • Update Write_TS(X) = TS(Ti)

     Example

    Maan lijiye:

    • T1 ka timestamp = 5

    • T2 ka timestamp = 10

    • Read_TS(X) = 0, Write_TS(X) = 0

    Step 1: T1 ne Read(X) kiya

    • TS(T1) = 5 < Write_TS(X) = 0 X  → Safe
       T1 successfully read karega X
       Read_TS(X) = max(0, 5) = 5

    Step 2: T2 ne Write(X) kiya

    • TS(T2) = 10 < Read_TS(X) = 5 X

    • TS(T2) = 10 < Write_TS(X) = 0 X
       T2 successfully write karega X
       Write_TS(X) = 10

     Flowchart (Diagram)

    Timestamp Based Protocol in DBMS
     

     Timestamp Protocol ke Advantages

    •  Deadlock nahi hota (kyunki koi wait nahi karta)

    •  Transactions safe order mein execute hote hain

    •  Data consistent rehta hai

    •  Simple logic based on timestamp

     Disadvantages

    •  Zyada aborts ho sakte hain jab concurrency high ho

    •  Transactions ko baar-baar cancel karke dubara start karna padta hai

    •  No waiting or locking – par phir bhi performance loss ho sakta hai


     Real-Life Analogy

    Sochiye aap bank token system mein hain:

    • Har customer ko ek token milta hai (timestamp)

    • Token 1 wale ka kaam pehle hota hai, fir 2, fir 3…

    • Agar koi token 3 wala line tod ke aage aaye to usse mana kar diya jata hai (abort)

    Waise hi timestamp protocol bhi older transaction ko pehle allow karta hai.


     Summary Table

    FeatureDetail
    Concurrency controlYes 
    Based onTransaction timestamp
    Lock use karta hai? Nahi
    Deadlock possible? Nahi
    Transactions cancel ho sakte hain? Haan (aborts)
    SerializabilityConflict-serializable

     Conclusion

    • Timestamp protocol ek powerful method hai concurrency ko handle karne ke liye.

    • Ye ensure karta hai ki data safe aur consistent rahe.

    • Isme har transaction ek unique timestamp ke according kaam karta hai.

    • Though deadlocks nahi hote, abort hone ka risk zyada hota hai.

    Scroll to Top