TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Multi-Version Concurrency Control (MVCC) 

    MVCC ek aisa technique hai jo DBMS (Database Management System) mein use hota hai multiple transactions ko ek saath chalane ke liye — bina kisi conflict ke.

     MVCC ka basic idea:

    Jab koi data read ya write hota hai, to system us data ki purani aur nayi versions ko alag-alag sambhalta hai.


     MVCC kyun use hota hai?

    Jab traditional locking system use hota hai, to:

    • Agar koi transaction data read kar raha ho, to koi doosra transaction us data ko update nahi kar sakta

    • Aur agar koi transaction data write kar raha ho, to read bhi block ho jata hai

    MVCC is problem ko solve karta hai:

    •  Readers writers ko block nahi karte

    •  Writers readers ko block nahi karte

     Example: 

    Maan lo ek table hai Employee, jisme ek row hai:

    Employee(ID: 101, Salary: 50,000)

    Ab maan lo:

    • Transaction T1 salary ko read kar raha hai

    • Transaction T2 salary ko update kar raha hai to 60,000

     MVCC kya karega?

    VersionSalaryKisne BanayaKab Valid Hai
    V150,000T0 (pehle ka txn)T1 jese old readers ke liye
    V260,000T2T2 ke baad ke readers ke liye

     T1 ko salary 50,000 dikhega
     T2 ek nayi version banayega 60,000 ke saath
     Dono transactions bina rukhe chalenge

     MVCC kaise kaam karta hai?

    1. Read Operation:

    • Jab koi transaction data read karta hai, to wo us version ko padhta hai jo uske start time ke liye valid ho.

    2. Write Operation:

    • Jab koi transaction write karta hai, to wo nayi version banata hai — purani version ko touch nahi karta.

     

     MVCC vs Locking Protocol

    FeatureMVCCLocking Protocol (2PL)
    Blocking Nahin hota Hota hai
    Performance Fast for read-heavy systems Slow if reads/writes mixed
    Storage Usage Zyada (version store hoti hai) Kam storage chahiye
     

     MVCC ke Advantages

    FaydaDescription
     No BlockingReaders aur writers ek dusre ko block nahi karte
     Fast ReadRead-heavy systems mein bahut fast hota hai
     Snapshot ViewHar transaction ko apna “snapshot” milta hai
     ConcurrencyMultiple transactions smooth chalti hain

     MVCC ke Disadvantages

    NuksaanDescription
     Storage UseHar version ko store karne ki wajah se space lagta hai
     Clean-up NeededPurane versions ko delete karna padta hai (garbage collection)
     Complex LogicVersion track karna aur visibility rules banana mushkil hota hai

     Summary Table

    PointExplanation
    ConcurrencyHigh — multiple txn together
    LockingNahin chahiye
    VersioningHaan, har data ka version hota hai
    ExampleRead gets old, Write creates new
    Best ForAnalytical systems (zyada reads)

     Real-Life Use

    MVCC ka use popular DBMS systems mein hota hai:

    •  PostgreSQL

    •  Oracle

    •  MySQL (InnoDB Engine)

    Scroll to Top