DBMS
DBMS Part-1
- DBMS Introduction
- DBMS Architecture
- Database Approach vs Traditional File System
- Advantages of DBMS
- Data Models in DBMS
- Schemas in DBMS
- Instances in DBMS
- Data Independence in DBMS
- Database Languages in DBMS
- Interfaces in DBMS
- Structure of DBMS
- Functions of DBA and Designer
- Entities and Attributes in DBMS
- ER Diagram in DBMS
- Generalization, Specialization and Aggregation in DBMS
- Converting ER Diagram to Tables in DBMS
- Difference between Object Oriented, Network and Relational Data Models
DBMS Part-2
- Relational Data Model in DBMS
- Keys in DBMS
- SQL Introduction
- DDL(Data Definition Language)
- DML(Data Manipulation Language)
- Integrity Constraints in DBMS
- Complex SQL Queries
- Joins in DBMS
- Indexing in DBMS
- Triggers in DBMS
- Assertions in DBMS
- Relational Algebra in DBMS
- Tuple Relational Calculus in DBMS
- Domain Relational Calculus in DBMS
DBMS Part-3
- Introduction to Normalization in DBMS
- Normal Forms in DBMS
- Functional Dependency in DBMS
- Decomposition in DBMS
- Dependency Preserving Decomposition in DBMS
- Lossless Join Decomposition in DBMS
- Problems with Null Values and Dangling Tuples
- Multivalued Dependency in DBMS
- Query Optimization in DBMS
- Algorithms for Select, Project and Join Operations in DBMS
- Query Optimization Methods in DBMS
DBMS Part-4
- Transactions in DBMS
- Serializability in DBMS
- Recoverability in DBMS
- Recovery Techniques in DBMS
- Log Based Recovery in DBMS
- Checkpoint in DBMS
- Deadlock in DBMS
- Concurrency Control in DBMS
- Lock Based Protocol in DBMS
- Timestamp Based Protocol in DBMS
- Validation Based Protocol in DBMS
- Multiple Granularity in DBMS
- Multi-Version Concurrency Control(MVCC) in DBMS
- Recovery with Concurrent Transactions in DBMS
DBMS Part-5
Lock-Based Protocol in DBMS
Lock kya hota hai DBMS mein?
Lock ek aisa system hai jise DBMS use karta hai taaki ek samay par sirf ek transaction data ko access ya modify kar sake. Isse data safe rehta hai aur galti nahi hoti.
Jaise agar ek aadmi ek locker open karke kaam kar raha hai, to doosra us locker mein haath nahi daal sakta.
Lock ki zarurat kyu padti hai?
Agar 2 ya zyada transactions ek hi data ko ek saath access karte hain (without control), to:
-
Data inconsistent ho sakta hai (galat result)
-
Lost updates ho sakte hain
-
Dirty read ya unrepeatable read jaisi problems ho sakti hain
Example – Jab Lock Nahi Use Hota
| Step | T1 (Deposit ₹500) | T2 (Withdraw ₹200) |
|---|---|---|
| 1 | Read balance = ₹1000 | |
| 2 | Read balance = ₹1000 | |
| 3 | New = 1000 + 500 = ₹1500 | |
| 4 | New = 1000 – 200 = ₹800 | |
| 5 | Write ₹1500 | |
| 6 | Write ₹800 |
Correct balance hona chahiye tha: ₹1300
Actual balance hai: ₹800 → galat!
Solution: Lock-Based Protocol
Is protocol mein transaction ko lock lena padta hai data pe kaam karne se pehle, aur kaam khatam hone ke baad lock release karna padta hai.
Lock ke Types:
| Lock Type | Kya karta hai? |
|---|---|
| Shared Lock (S-Lock) | Jab data ko sirf read karna ho (multiple read allowed) |
| Exclusive Lock (X-Lock) | Jab data ko write karna ho (only one allowed) |
Lock Kaise Kaam Karta Hai?
-
Transaction lock leta hai (read ya write ke hisaab se)
-
Agar lock available hai to kaam start hota hai
-
Agar lock kisi aur ke paas hai to wait karta hai
-
Kaam khatam hone ke baad lock release kar deta hai
Two-Phase Locking Protocol (2PL)
Yeh most popular locking method hai. Isme 2 phases hote hain:
1. Growing Phase
-
Transaction lock le sakta hai
-
Lock release nahi kar sakta
2. Shrinking Phase
-
Transaction lock release kar sakta hai
-
Naya lock nahi le sakta
Ek baar unlock karna shuru kiya to aur lock nahi le sakte.
Example of 2PL
T1:
Lock(A)
Read A
Lock(B)
Write B
Unlock(A)
Unlock(B)
-
Lock(A), Lock(B) → Growing phase
-
Unlock(A), Unlock(B) → Shrinking phase
Agar T2 ko bhi A ya B ki jarurat hai toh T2 wait karega jab tak T1 lock release nahi karta — data safe rahega.
Lock ke Problems
1. Deadlock
-
Jab do transactions ek dusre ka lock leke wait karte hain
-
Dono ruke rehte hain
Example:
-
T1 ne A lock kiya, B chahiye
-
T2 ne B lock kiya, A chahiye
= Deadlock
2. Starvation
-
Ek transaction baar-baar wait karta hai kyunki doosre transaction baar-baar lock le lete hain.
Deadlock Se Kaise Bache?
| Method | Kya karta hai? |
|---|---|
| Timeout | Agar transaction zyada der wait kare to rollback |
| Wait-Die / Wound-Wait | Old transaction younger ko rokta hai ya rollback karta hai |
| Deadlock Detection | Cycle detect karke transaction ko abort karta hai |
Quick Summary
| Feature | Explanation |
|---|---|
| Lock | Control karta hai data access ko |
| S-Lock | Sirf read ke liye, multiple allowed |
| X-Lock | Read+Write, ek samay pe sirf ek hi allowed |
| 2PL | Pehle locks lo (grow), baad mein release karo (shrink) |
| Deadlock / Starvation | Lock se judey major problems |
Conclusion
-
Lock-Based Protocol data ko safe rakhne ke liye bahut zaroori hai
-
Isse multiple users safe tarike se ek hi data ko access kar sakte hain
-
Deadlocks aur starvation jaise issues ko handle karne ke liye proper rules follow karne padte hain