BCA / B.Tech 6 min read

Serializability & Two-Phase Locking (2PL) in Hindi

Serializability & Two-Phase Locking (2PL) in RDBMS in  Hindi | RDBMS में Serializability & Two-Phase Locking (2PL) हिंदी में :


 Serializability क्या है  :

Serializability एक गुण है जो डेटाबेस ट्रांजेक्शन की निष्पादन योजना को दर्शाता है। यह सुनिश्चित करता है कि ट्रांजेक्शन्स एक दूसरे के साथ इस तरह से इंटरलीव (Interleave) होते हैं कि उनके परिणाम किसी क्रमिक (Serial) क्रम के बराबर होते हैं, जहाँ एक समय में केवल एक ही ट्रांजेक्शन निष्पादित होता है।

Importance of Serializability in RDBMS in Hindi | RDBMS में  Serializability का महत्व  :

Consistency Maintenance : Serializability सुनिश्चित करती है कि एक साथ चल रहे ट्रांजेक्शन्स डेटाबेस की सुसंगति को प्रभावित नहीं करेंगे।
Conflict Avoidance : यह ट्रांजेक्शन के बीच संभावित संघर्षों को नियंत्रित करने के लिए एक मानक प्रदान करता है।
  
Types of Serializability in RDBMS in Hindi | RDBMS में  Serializability के प्रकार :

1. Conflict Serializability :
  जब एक साथ चल रहे ट्रांजेक्शन्स को पुन: व्यवस्थित करने के बाद, उनका निष्पादन किसी क्रमिक क्रम (serial order) के बराबर हो, तो इसे Conflict Serializability कहा जाता है।

2. View Serializability :
  जब एक साथ चल रहे ट्रांजेक्शन्स का निष्पादन किसी क्रमिक क्रम के समान होता है, लेकिन उन्हें पुनः व्यवस्थित करने की आवश्यकता नहीं होती, तो इसे View Serializability कहा जाता है।

3. Two-Phase Locking (2PL) (दो-चरणीय लॉकिंग) :

Two-Phase Locking (2PL) एक कन्करेंसी कंट्रोल प्रोटोकॉल है 
जो यह सुनिश्चित करता है कि ट्रांजेक्शन्स डेटाबेस की सुसंगति को बनाए रखें। 2PL में दो चरण होते हैं:


Two-Phase Locking (2PL) in RDBMS in Hindi | RDBMS में Two-Phase Locking (2PL) हिंदी में : 

Two-Phase Locking (2PL) एक कन्करेंसी कंट्रोल प्रोटोकॉल है 
जो यह सुनिश्चित करता है कि ट्रांजेक्शन्स डेटाबेस की सुसंगति को बनाए रखें। 2PL में दो चरण होते हैं:

Phases of Two-Phase Locking :

1. Growing Phase (विस्तार चरण) :
    इस चरण में, ट्रांजेक्शन आवश्यक संसाधनों (डेटा आइटम्स) पर लॉक प्राप्त करता है।
    ट्रांजेक्शन जितने भी लॉक की जरूरत हो, वह सभी इसी चरण में प्राप्त करता है, लेकिन वह लॉक छोड़ नहीं सकता।

2. Shrinking Phase (संकुचन चरण) : 
    इस चरण में, ट्रांजेक्शन अपने प्राप्त किए गए लॉक को रिलीज़ करता है।
    एक बार जब ट्रांजेक्शन संकुचन चरण में प्रवेश करता है, तो वह कोई नया लॉक प्राप्त नहीं कर सकता।

Advantages of Two-Phase Locking :

Deadlock Avoidance : अगर सही तरीके से लागू किया जाए, तो यह डेडलॉक जैसी समस्याओं को कम करता है।
Ensuring Serializability : 2PL यह सुनिश्चित करता है कि ट्रांजेक्शन्स का निष्पादन हमेशा Serializable होगा, जिससे डेटाबेस की सुसंगति बनी रहती है।

 Variations of Two-Phase Locking :

1. Strict Two-Phase Locking :
    इसमें ट्रांजेक्शन अपने सभी एक्सक्लूसिव (X) लॉक को केवल तभी छोड़ सकता है जब वह समाप्त हो जाए (commit हो जाए)।

2. Rigorous Two-Phase Locking :
    इसमें ट्रांजेक्शन अपने सभी लॉक (S और X दोनों) को केवल तभी छोड़ सकता है जब वह समाप्त हो जाए (commit हो जाए)।

3. Conservative Two-Phase Locking (Preclaiming) :
    इसमें ट्रांजेक्शन शुरू होने से पहले ही सभी आवश्यक लॉक हासिल कर लेता है, ताकि डेडलॉक की संभावना पूरी तरह से समाप्त हो जाए।

Summary :

Recovery और Recovery Techniques डेटाबेस को विफलता के बाद सही स्थिति में वापस लाने के लिए आवश्यक हैं। ये तकनीकें यह सुनिश्चित करती हैं कि डेटा सुसंगत और सुरक्षित रहे।
Serializability सुनिश्चित करती है कि एक साथ निष्पादित हो रहे ट्रांजेक्शन्स के परिणाम किसी क्रमिक क्रम के बराबर हों, जिससे डेटाबेस की सुसंगति बनी रहे।
Two-Phase Locking (2PL) एक कन्करेंसी कंट्रोल प्रोटोकॉल है जो यह सुनिश्चित करता है कि ट्रांजेक्शन्स का निष्पादन सिरीयलाइज़ेबल हो और डेटाबेस की सुसंगति बनी रहे।

इन सभी तकनीकों और अवधारणाओं का मुख्य उद्देश्य डेटाबेस की विश्वसनीयता, अखंडता, और सुसंगति को बनाए रखना है, खासकर तब जब ट्रांजेक्शन्स बड़े पैमाने पर और कन्करेंटली निष्पादित हो रहे हों।

In this Chapter