TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Recovery Techniques in DBMS 

     Recovery ka matlab kya hota hai?

    Kabhi-kabhi computer ya database crash ho jaata hai (jaise bijli chali gayi, software crash ho gaya, system bandh ho gaya, etc.). Aise time pe kuch data lost ya corrupt ho sakta hai.

    Recovery ka kaam hota hai database ko wapis theek aur sahi condition mein lana — jaise ki crash se pehle tha.


     Types of Failures in DBMS

    Failure Type Kya Hota Hai
    Transaction Failure Jab ek transaction khud hi fail ho jaata hai (jaise galat query)
    System Crash Pura DB ya OS crash ho jaata hai transaction ke beech mein
    Disk Failure Hard disk kharaab ho gayi, data access nahi ho raha
    Software Error Software ya code mein bug aa gaya
     

     Recovery ka Goal kya hai?

    1. Atomicity – Transaction ya toh pura chale ya bilkul na chale.

    2. Durability – Agar transaction commit ho gaya, toh uska data safe hona chahiye, chahe system crash ho jaye.

     Recovery Techniques in DBMS

    Chaliye ab samajhte hain wo techniques jo DBMS use karta hai recovery ke liye:

    1. Log-Based Recovery

     Log kya hota hai?

    • Log ek file hoti hai jisme sabhi changes ka record hota hai.

    • Isko stable memory mein store kiya jaata hai.

    • Crash ke baad, isi se pata chalta hai kya changes undo ya redo karne hain.

     Log Example:

    <T1, START>
    <T1, A, 100, 200>
    <T1, COMMIT>
    • T1 transaction ne A ko 100 se 200 banaya, aur successfully commit ho gaya.

     Undo vs Redo

    Situation Kya karenge
    Commit nahi hua Undo – changes wapas lo
    Commit ho gaya Redo – changes firse apply karo
     

     Diagram – Log-Based Recovery

    Crash hone ke baad:
           ↓
    +--------+     +------------+
    |Log File| --> |Recovery Mgr|
    +--------+     +------------+
                         ↓
                 Undo / Redo karega
                         ↓
             Database theek ho jayega

    2. Checkpointing

     Checkpoint kya hota hai?

    • Checkpoint ek aisa point hota hai jaha database ka snapshot save kar liya jaata hai(ye bilkul game ke checkpoint jesa hi hota hai example agar aap game me koi level cross kar chuke hai to woh progress save hojati hai aur agar next time aap usi level se start karna chahe to kar sakte hai).

    • Ye Recovery mein time bachane ke liye helpful hai.

    Kaise kaam karta hai:

    1. Memory ke sabhi changes disk pe likh diye jaate hain.

    2. Ek “CHECKPOINT” log mein likh diya jaata hai.

    Example:

    Logs:
    <T1 START> → <T1 Update> → <T1 COMMIT> → **CHECKPOINT** → <T2 Start> …

    3. Shadow Paging

    Kya hota hai?

    • Yahan 2 page tables hoti hain:

      • Shadow Page Table – original (safe copy)

      • Current Page Table – changes ke liye

    Jab transaction commit karta hai, toh current table ko shadow se replace kar dete hain.

     Pros:

    • Fast, koi undo/redo nahi

     Cons:

    • Large data changes mein thoda slow ho sakta hai

    4. ARIES – Advanced Recovery

    ARIES ka matlab hai – Algorithm for Recovery and Isolation Exploiting Semantics
    Ye advanced DBMS jaise IBM DB2, SQL Server mein use hota hai.

    3 Steps mein kaam karta hai:

    1. Analysis Phase – crash ke baad kya hua, samjho

    2. Redo Phase – commit hua data apply karo

    3. Undo Phase – uncommit data hatao

     Example – Recovery Scenario

    <T1 START>
    <T1, A = 100 → 200>
    <T2 START>
    <T2, B = 300 → 400>
    <T1 COMMIT>
    CRASH

    Recovery:

    • T1 → Commit mil gaya → Redo

    • T2 → Commit nahi mila → Undo


     Summary Table:

    Technique Log Use Snapshot Undo / Redo Complexity
    Log-Based Yes No Yes Medium
    Checkpointing Yes Yes Yes Medium
    Shadow Paging No Yes No Low
    ARIES Yes Yes Yes High
     
    Scroll to Top