TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Serializability in DBMS 

    Serializability ka matlab hota hai ki jab multiple transactions ek hi time par database mein chal rahe ho (concurrently), to system is baat ka dhyan rakhe ki final result aisa ho jaise sab transactions ek ke baad ek (serially) chale ho.


     Serializability kyu important hai?

    Real life mein database pe kai users ek saath kaam karte hain. Agar hum in transactions ka order control nahi karte, to galat data aa sakta hai.

    Isiliye DBMS serializability ka concept use karta hai taaki sab kuch properly aur safely ho, aur database hamesha consistent rahe.

     Types of Serializability

    Serializability ke do main types hote hain:

    1. Conflict Serializability

    2. View Serializability


    1. Conflict Serializability

    Iska matlab hota hai ki agar hum transactions ke operations ka order badal dein, lekin final result same rahe, to schedule conflict serializable hai.

     Conflicting Operations

    Do operations tab conflict karte hain jab:

    • Dono alag-alag transactions se ho

    • Dono same data item pe kaam kar rahe ho

    • Aur kam se kam ek operation write ho

    Operation Conflicts With
    Read(X) Write(X)
    Write(X) Read(X)
    Write(X) Write(X)

     Example: Conflict Serializable

    Maan lo do transactions hain:

    T1:

    Read(A)
    Write(A)

    T2:

    Read(B)
    Write(B)

    Dono alag-alag data (A & B) pe kaam kar rahe hain, isiliye ye conflict serializable hain.

     Example: Not Conflict Serializable

    T1:

    Read(X)
    Write(X)

    T2:

    Write(X)

    Yahan dono same data item X pe write kar rahe hain, to agar order galat ho gaya to result bhi galat ho sakta hai. Agar hum inhe reorder nahi kar paaye bina result badle, to ye conflict serializable nahi hai.

     Conflict Serializability Check Karne Ka Tarika – Precedence Graph

    1. Har transaction ko ek node bana lo.

    2. Agar T1 ka operation T2 ke saath conflict karta hai aur pehle aata hai, to T1 → T2 ek arrow draw karo.

    3. Agar graph me cycle nahi hai, to wo schedule conflict serializable hai.

    4. Agar cycle hai, to wo nahi hai.

      Precedence Graph

    Schedule:

    T1: Read(A), Write(A)
    T2: Read(A), Write(A)

    Yahan dono A pe write kar rahe hain.

    Graph:

    T1 → T2
    T2 → T1

    Cycle ban gaya, to Not Conflict Serializable

    2. View Serializability

    Ye concept conflict serializability se thoda zyada flexible hota hai.

    Agar transactions ke read/write ka result aur final output same hai jaise ek serial schedule me hota, to wo schedule view serializable hai.

     Note:

    • Har conflict serializable schedule, view serializable bhi hota hai.

    • Lekin har view serializable schedule, conflict serializable nahi hota.


     Serial vs Concurrent Schedule

    Type Description
    Serial Schedule Transactions ek ke baad ek run hoti hain
    Concurrent Schedule Transactions ek saath interleaved hoti hain lekin agar serializable hai to safe hai

     Real Life Example – Movie Booking

    Maan lo 2 log ek hi seat book karna chahte hain:

    • T1: Check karta hai seat available hai → Book karta hai

    • T2: Wahi seat ke liye same karta hai

    Agar ye dono saath chal rahe hain aur DBMS control nahi kare, to dono ko same seat mil sakti hai, jo galat hai.

    Serializability ensure karta hai ki sirf ek hi transaction success ho, jisse data consistent rahe.


     Summary 

    • Serializability = Safe concurrent transactions

    • Conflict Serializability = Operations ka order change karo bina result badle

    • View Serializability = Read/write ka net result same ho

    • Precedence graph = Cycle → Not serializable, No cycle → Serializable

    Scroll to Top