DBMS Concurrency Control and Transaction – Database Management System (DBMS) में जब कई users एक साथ data access या update करते हैं, तब system को यह ensure करना पड़ता है कि डेटा सही तरीके से update हो और कोई गलती न हो। इसी प्रक्रिया को Concurrency Control कहा जाता है।
इसके साथ ही DBMS में हर काम एक Transaction के रूप में होता है। इस article में दोनों concepts को सरल भाषा में समझाया गया है।
DBMS Concurrency Control and Transaction in Hindi
Concurrency Control क्या है? (Concurrency Control in Hindi)
जब DBMS में बहुत सारे transactions एक साथ चल रहे होते हैं, तो system पर load बढ़ जाता है और chances होते है कि –
- डेटा गलत तरीके से update हो जाए
- दो transactions एक ही डेटा को एक साथ modify कर दें
- डेटा inconsistent हो जाए
- कुछ updates खो जाएँ (lost updates)
इन्हीं समस्याओं को रोकने के लिए DBMS में Concurrency Control की जरूरत होती है।
Concurrency Control का उद्देश्य
- डेटा को सुरक्षित और सही तरीके से update करना
- Multiple transactions को बिना conflict manage करना
- Database को consistent बनाए रखना
- Lost update, dirty read, uncommitted data जैसी समस्याओं को रोकना
Concurrency control का main goal है, एक समय में कई transactions को ऐसे संभालना कि data कभी corrupt न हो।
DBMS Transaction क्या होता है? (Transaction in Hindi)
Transaction एक या अधिक operations का group होता है जिसे एक single logical unit की तरह treat किया जाता है।
मतलब – या तो पूरा transaction होगा, या बिल्कुल नहीं होगा।
Example
बैंक से पैसे निकालना –
- Balance check
- Amount deduct
- Cash dispense
ये सब मिलकर एक single transaction बनाते है।
ACID Properties क्या है?
Transaction को reliable और safe बनाने के लिए DBMS चार मुख्य properties follow करता है जिन्हें ACID Properties कहते हैं।
A – Atomicity
- Transaction पूरी तरह complete होना चाहिए।
- अगर बीच में error आ जाए, तो पूरा transaction rollback हो जाता है।
- “All or nothing” rule follow होता है।
C – Consistency
- Transaction के बाद database को हमेशा valid state में रहना चाहिए।
- किसी भी गलत या अपूर्ण update से database corrupt नहीं होना चाहिए।
I – Isolation
- एक transaction दूसरे transaction को प्रभावित नहीं करता।
- Even अगर दो users एक ही data पर काम कर रहे हों, तो भी दोनों transactions सुरक्षित रहते हैं।
D – Durability
- Transaction complete होने के बाद किए गए changes permanent होते हैं।
- System shutdown या power failure होने पर भी data सुरक्षित रहता है।
Transaction के प्रकार
DBMS में transactions दो प्रकार के होते है –
1. Implicit Transaction
इसमें DBMS खुद-ब-खुद नया transaction शुरू कर देता है।
जब पहला transaction commit या rollback होता है, तभी अगले transaction की शुरुआत होती है।
Implicit Transaction ON/OFF करने के लिए –
SET IMPLICIT_TRANSACTIONS ON;
SET IMPLICIT_TRANSACTIONS OFF;Transaction खत्म करने के लिए –
COMMIT TRANSACTION;
ROLLBACK TRANSACTION;2. Explicit Transaction
इसमें transaction को user clearly define करता है कब शुरू होगा और कब खत्म होगा।
Explicit transaction शुरू करने के लिए –
BEGIN TRANSACTION;समाप्त करने के लिए –
COMMIT TRANSACTION;
ROLLBACK TRANSACTION;Main Difference
- Implicit Transaction – Automatically start होता है
- Explicit Transaction – User खुद start करता है
इन्हें भी पढ़े –
- DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
- डेटाबेस यूजर्स क्या है?
- डेटा इंडिपेंडेंस क्या है
- DBMS के लाभ
- Characteristics Of DBMS In Hindi
- डेटा मॉडल क्या है?
- डेटाबेस स्कीमा क्या है
- इंस्टैंस क्या है
- डेटाबेस इंटरफ़ेस क्या है
- डेटाबेस लैंग्वेज क्या है
- Classification of DBMS in Hindi
- Entity Set in DBMS
- DBMS Architecture in Hindi
- Types of Data Models in Hindi
- Attributes in DBMS in Hindi
- Entity Set in DBMS (Hindi)
- Entity Types in DBMS (Hindi)
- Types of Attributes in DBMS
- ER Model in DBMS (E-R मॉडल) क्या है?
- Entities के बीच संबंध
- Domain in DBMS
- Tuples in DBMS
- SQL में Joins क्या हैं?
- Primary Key in DBMS
- DBMS Keys in Hindi
- DBMS Data Integrity in Hindi
- Relational Algebra in DBMS
- Normalization in DBMS क्या है?
- BCNF (Boyce-Codd Normal Form) in DBMS
- Functional Dependency in DBMS
- Non-Loss Decomposition in DBMS
- SQL Data Types in Hindi
- Create Table in SQL in Hindi
- SQL DROP TABLE और ALTER TABLE in Hindi
- SQL Indexes in Hindi
- SDLC in Hindi
- DBLC in Hindi
- SQL Views in Hindi
- PL/SQL PROCEDURES in hindi
- Database Normalization in Hindi
- Domain Key Normal Form in Hindi
- SQL Objects in Hindi
- Aggregation, Generalization, Specialization and Association in Hindi
- Data Dictionary क्या है?
- डेटा वेयरहाउसिंग क्या है?
- डाटा माइनिंग क्या है?
निष्कर्ष
Concurrency Control database को सुरक्षित और consistent रखने के लिए जरूरी है। Transaction DBMS का सबसे important logical unit है जिसमें operations एक single unit की तरह execute होते है। ACID Properties सुनिश्चित करती हैं कि transactions reliable और error-free रहे। Implicit और Explicit transactions में अंतर यह है कि एक auto start होता है और दूसरा user-defined।