Monday, July 27, 2020

Learn about the Concurrency Control In DBMS in Hindi, Deadlock in hindi and more.

What is Concurrency Control In DBMS in Hindi?

एक दूसरे के साथ संघर्ष किए बिना एक साथ संचालन के प्रबंधन के लिए डीबीएमएस में Concurrency control प्रक्रिया है। यदि सभी उपयोगकर्ता केवल डेटा पढ़ रहे हैं, तो समवर्ती पहुँच काफी आसान है। ऐसा कोई तरीका नहीं है जिससे वे एक दूसरे के साथ हस्तक्षेप कर सकें। हालांकि किसी भी प्रैक्टिकल डेटाबेस के लिए रीडिंग और WRITE ऑपरेशंस का मिश्रण होगा और इसलिए concurrency एक चुनौती है।

Deadlock in Hindi
Deadlock in Hindi

Concurrency control का उपयोग ऐसे संघर्षों को संबोधित करने के लिए किया जाता है, जो बहु-उपयोगकर्ता प्रणाली के साथ होते हैं। यह आपको यह सुनिश्चित करने में मदद करता है कि डेटाबेस लेनदेन संबंधित डेटाबेस की डेटा अखंडता का उल्लंघन किए बिना समवर्ती रूप से किया जाता है।

इसलिए, समरूपता नियंत्रण एक प्रणाली के समुचित कार्य के लिए सबसे महत्वपूर्ण तत्व है जहां दो या कई डेटाबेस लेनदेन जिसमें एक ही डेटा तक पहुंच की आवश्यकता होती है, एक साथ निष्पादित होते हैं।
 

Problems of Concurrency in Hindi

यहाँ, कुछ समस्याएँ हैं जिनका सामना आपको कंसीडर कंट्रोल विधि का उपयोग करते समय करना होगा:
  •     लॉस्ट अपडेट तब होता है जब एक से अधिक लेन-देन एक ही पंक्ति का चयन करते हैं और चयनित मूल्य के आधार पर पंक्ति को अपडेट करते हैं
  •     अनधिकृत निर्भरता समस्या तब होती है जब दूसरा लेन-देन एक पंक्ति का चयन करता है जिसे अन्य लेनदेन द्वारा अद्यतन किया जाता है (गंदे पढ़े)
  •     गैर-दोहराने योग्य रीड तब ​​होता है जब एक दूसरा लेनदेन एक ही पंक्ति को कई बार एक्सेस करने की कोशिश कर रहा है और हर बार अलग-अलग डेटा पढ़ता है।
  •     गलत सारांश समस्या तब होती है जब एक लेनदेन दोहराया डेटा-आइटम के सभी उदाहरणों के मूल्य पर सारांश लेता है, और दूसरा लेनदेन उस विशिष्ट डेटा-आइटम के कुछ उदाहरणों को अपडेट करता है। उस स्थिति में, परिणामी सारांश सही परिणाम नहीं दर्शाता है।


Why use the Concurrency method for DBMS in Hindi?

Concurrency control विधि का उपयोग करने का कारण DBMS है:
  •     परस्पर विरोधी लेनदेन के बीच आपसी बहिष्कार के माध्यम से अलगाव लागू करने के लिए
  •     पढ़ने-लिखने और लिखने-लिखने के विवाद मुद्दों को हल करने के लिए
  •     निष्पादन अवरोधों को लगातार संरक्षित करने के माध्यम से डेटाबेस की स्थिरता को संरक्षित करना
  •     प्रणाली को समवर्ती लेनदेन के बीच बातचीत को नियंत्रित करने की आवश्यकता है। यह नियंत्रण समवर्ती-नियंत्रण योजनाओं का उपयोग करके प्राप्त किया जाता है।
  •     कंज़्यूरेबिलिटी को सुनिश्चित करने के लिए कंसीडर कंट्रोल मदद करता है


Example For  Concurrency Control in Hindi

मान लें कि दो लोग जो एक ही फिल्म और एक ही शो के समय के लिए मूवी टिकट खरीदने के लिए इलेक्ट्रॉनिक कियोस्क पर जाते हैं।

हालाँकि, उस विशेष थिएटर में मूवी शो के लिए केवल एक सीट बची है। संगामिति नियंत्रण के बिना, यह संभव है कि दोनों मूवीगो टिकट खरीद लेंगे। हालाँकि, concurrency control method ऐसा नहीं होने देता है। दोनों मूवीगो अभी भी मूवी सीटिंग डेटाबेस में लिखी जानकारी तक पहुँच सकते हैं। लेकिन कंसीडर कंट्रोल केवल उस खरीदार को टिकट प्रदान करता है जिसने लेन-देन की प्रक्रिया पूरी की है।



Concurrency Control Protocols for DBMS

अलग-अलग संगामिति नियंत्रण प्रोटोकॉल उनके द्वारा अनुमत संगति की मात्रा और ओवरहेड की मात्रा के बीच अलग-अलग लाभ प्रदान करते हैं।

  •     Lock-Based Protocols
  •     Two-Phase
  •     Timestamp-Based Protocols
  •     Validation-Based Protocols


Lock-based Protocols In DBMS In Hindi

लॉक एक डेटा वैरिएबल है जो डेटा आइटम के साथ जुड़ा हुआ है। यह लॉक दर्शाता है कि ऑपरेशन को डेटा आइटम पर किया जा सकता है। ताले समवर्ती लेनदेन द्वारा डेटाबेस आइटम तक पहुंच को सिंक्रनाइज़ करने में मदद करते हैं।

सभी लॉक अनुरोध संगणक-नियंत्रण प्रबंधक के लिए किए जाते हैं। लॉक अनुरोध दिए जाने के बाद ही लेन-देन आगे बढ़ता है।

Binary Locks In Hindi: किसी डेटा आइटम पर एक बाइनरी लॉक या तो लॉक या अनलॉक किए गए राज्य।

Shared/exclusive: इस प्रकार का लॉकिंग तंत्र उनके उपयोग के आधार पर ताले को अलग करता है। यदि लेखन कार्य करने के लिए डेटा आइटम पर एक लॉक प्राप्त किया जाता है, तो इसे एक विशेष लॉक कहा जाता है।

1. Shared Lock In Hindi (S):

एक साझा लॉक को रीड-ओनली लॉक भी कहा जाता है। साझा लॉक के साथ, लेनदेन के बीच डेटा आइटम साझा किया जा सकता है। ऐसा इसलिए है क्योंकि आपको डेटा आइटम पर डेटा अपडेट करने की अनुमति कभी नहीं होगी।

उदाहरण के लिए, ऐसे मामले पर विचार करें जहां दो लेनदेन किसी व्यक्ति के खाते की शेष राशि को पढ़ रहे हों। डेटाबेस उन्हें साझा लॉक लगाकर पढ़ने देगा। हालाँकि, यदि कोई अन्य लेन-देन उस खाते की शेष राशि को अपडेट करना चाहता है, तो साझा लॉक इसे पढ़ने की प्रक्रिया समाप्त होने तक रोकता है।

2. Exclusive Lock In Hindi (X):

 Exclusive Lock के साथ, एक डेटा आइटम भी पढ़ा जा सकता है। यह अनन्य है और समान डेटा आइटम पर समवर्ती रूप से नहीं रखा जा सकता है। लॉक-एक्स इंस्ट्रक्शन का उपयोग करके एक्स-लॉक का अनुरोध किया जाता है। लेनदेन 'राइट' ऑपरेशन को पूरा करने के बाद डेटा आइटम को अनलॉक कर सकते हैं।

उदाहरण के लिए, जब लेनदेन को किसी व्यक्ति के खाते की शेष राशि को अद्यतन करने की आवश्यकता होती है। आप इस पर एक्स लॉक लगाकर इस लेन-देन की अनुमति दे सकते हैं। इसलिए, जब दूसरा लेनदेन पढ़ना या लिखना चाहता है, तो अनन्य लॉक इस ऑपरेशन को रोकता है।

3. Simplistic Lock Protocol In Hindi

इस तरह के लॉक-आधारित प्रोटोकॉल लेनदेन को आरंभ करने से पहले हर वस्तु पर लॉक प्राप्त करने की अनुमति देते हैं। लेनदेन 'राइट' ऑपरेशन को पूरा करने के बाद डेटा आइटम को अनलॉक कर सकते हैं।


4. Pre-claiming Locking in Hindi

प्री-क्लेम लॉक प्रोटोकॉल से ऑपरेशन का मूल्यांकन करने और आवश्यक डेटा आइटम की एक सूची बनाने में मदद मिलती है, जो एक निष्पादन प्रक्रिया शुरू करने के लिए आवश्यक हैं। उस स्थिति में जब सभी ताले दिए जाते हैं, लेनदेन निष्पादित होता है। उसके बाद, सभी लॉक तब रिलीज़ होते हैं जब इसके सभी ऑपरेशन समाप्त हो जाते हैं।

Starvation For DBMS in Hindi


भुखमरी वह स्थिति है जब एक ताला प्राप्त करने के लिए लेनदेन को अनिश्चित अवधि के लिए प्रतीक्षा करने की आवश्यकता होती है।

निम्नलिखित भुखमरी के कारण हैं:

  •     जब waiting scheme for locked items को ठीक से प्रबंधित नहीं किया जाता है
  •     resource leak के मामले में
  •     एक ही transaction को पीड़ित के रूप में बार-बार चुना जाता है


Deadlock in Hindi

Deadlock एक विशिष्ट स्थिति को संदर्भित करता है जहां दो या दो से अधिक प्रक्रियाएं एक resource को जारी करने के लिए एक दूसरे की प्रतीक्षा कर रही हैं या दो से अधिक प्रक्रियाएं एक circular chain में resource की प्रतीक्षा कर रही हैं।


Two-Phase Locking (2PL) Protocol in Deadlock In Hindi

Two-Phase locking protocol जिसे 2PL protocol के रूप में भी जाना जाता है। इसे P2L भी कहा जाता है। इस प्रकार के लॉकिंग प्रोटोकॉल में, लेन-देन के एक लॉक जारी करने के बाद लेन-देन को लॉक प्राप्त करना चाहिए।

यह locking
protocol लेनदेन के निष्पादन चरण को तीन अलग-अलग भागों में विभाजित करता है।
  •     पहले चरण में, जब लेन-देन निष्पादित होना शुरू होता है, तो उसे उस ताले की अनुमति की आवश्यकता होती है, जिसकी उसे आवश्यकता होती है।
  •     दूसरा भाग वह है जहां लेनदेन सभी ताले प्राप्त करता है। जब कोई लेन-देन अपना पहला लॉक जारी करता है, तो तीसरा चरण शुरू होता है।
  •     इस तीसरे चरण में, लेन-देन किसी नए ताले की मांग नहीं कर सकता है। इसके बजाय, यह केवल अधिग्रहित ताले को जारी करता है।
Deadlock in Hindi
Deadlock in Hindi


Two-Phase locking protocol प्रत्येक लेनदेन को दो चरणों में लॉक या अनलॉक अनुरोध करने की अनुमति देता है:

  •    Growing Phase: इस चरण में लेनदेन में ताले प्राप्त हो सकते हैं लेकिन कोई भी ताला नहीं छोड़ सकता है।
  •     Shrinking Phase: इस चरण में, एक लेनदेन ताले को छोड़ सकता है लेकिन कोई नया ताला प्राप्त नहीं कर सकता है

यह सच है कि 2PL प्रोटोकॉल क्रमबद्धता प्रदान करता है। हालांकि, यह सुनिश्चित नहीं करता है कि गतिरोध न हो।

ऊपर दिए गए आरेख में, आप देख सकते हैं कि स्थानीय और वैश्विक गतिरोध डिटेक्टर गतिरोधों की खोज कर रहे हैं और उन्हें अपने प्रारंभिक राज्यों में लेनदेन फिर से शुरू करने के साथ हल करते हैं।

Strict Two-Phase Locking Method in Hindi

Strict Two-Phase Locking सिस्टम लगभग 2PL के समान है। फर्क सिर्फ इतना है कि स्ट्रिक्ट -2PL कभी भी इसे इस्तेमाल करने के बाद लॉक जारी नहीं करता है। यह सभी ताले तब तक रखता है जब तक कि कमिट पॉइंट नहीं हो जाता है और प्रक्रिया समाप्त होने पर सभी ताले एक ही बार में छोड़ देते हैं।

Centralized 2PL in Hindi

Centralized 2PL में, एकल साइट लॉक मैनेजमेंट प्रक्रिया के लिए जिम्मेदार है। पूरे DBMS के लिए इसमें केवल एक लॉक मैनेजर है।

Primary copy 2PL

Primary copy 2PL तंत्र, कई ताला प्रबंधकों को विभिन्न साइटों पर वितरित किया जाता है। उसके बाद, एक विशेष लॉक मैनेजर डेटा आइटम के एक सेट के लिए लॉक को प्रबंधित करने के लिए जिम्मेदार है। जब प्राथमिक प्रतिलिपि को अद्यतन किया गया है, तो परिवर्तन दासों के लिए प्रचारित किया जाता है।


Distributed 2PL in Hindi


इस तरह के दो-चरण लॉकिंग तंत्र में, लॉक प्रबंधकों को सभी साइटों पर वितरित किया जाता है। वे उस साइट पर डेटा के लिए ताले के प्रबंधन के लिए जिम्मेदार हैं। यदि कोई डेटा दोहराया नहीं जाता है, तो यह प्राथमिक कॉपी 2PL के बराबर है। वितरित 2PL की संचार लागत प्राथमिक कॉपी 2PL से काफी अधिक है

Timestamp-based Protocols In DBMS in Hindi

Timestamp-based Protocols एल्गोरिथ्म समवर्ती लेनदेन के निष्पादन को क्रमबद्ध करने के लिए टाइमस्टैम्प का उपयोग करता है। यह प्रोटोकॉल सुनिश्चित करता है कि हर विरोधाभास पढ़ने और लिखने के संचालन को टाइमस्टैम्प क्रम में निष्पादित किया जाता है। प्रोटोकॉल टाइमस्टैम्प के रूप में सिस्टम टाइम या लॉजिकल काउंट का उपयोग करता है।

इस पद्धति में पुराने लेनदेन को हमेशा प्राथमिकता दी जाती है। यह लेनदेन के टाइमस्टैम्प को निर्धारित करने के लिए सिस्टम समय का उपयोग करता है। यह सबसे अधिक इस्तेमाल किया जाने वाला कंसीलर प्रोटोकॉल है।

लॉक-आधारित प्रोटोकॉल परस्पर विरोधी लेनदेन के बीच आदेश का प्रबंधन करने में आपकी सहायता करते हैं जब वे निष्पादित करेंगे। टाइमस्टैम्प-आधारित प्रोटोकॉल एक ऑपरेशन बनते ही टकराव का प्रबंधन करते हैं।

उदाहरण:

Advantages For 2PL Protocol:

  •     अनुसूचियां 2PL प्रोटोकॉल की तरह क्रमबद्ध हैं
  •     लेन-देन की प्रतीक्षा नहीं, जो गतिरोध की संभावना को समाप्त करता है!

Disadvantages
For 2PL Protocol:

यदि समान लेन-देन को पुनः आरंभ किया जाता है और लगातार निरस्त किया जाता है, तो भुखमरी संभव है



Characteristics for Good Concurrency Protocol in Hindi


एक आदर्श संगामिति नियंत्रण DBMS तंत्र के निम्नलिखित उद्देश्य हैं:

  •     साइट और संचार विफलताओं के लिए लचीला होना चाहिए।
  •     यह अधिकतम समवर्ती प्राप्त करने के लिए लेनदेन के समानांतर निष्पादन की अनुमति देता है।
  •     इसके भंडारण तंत्र और कम्प्यूटेशनल तरीकों को ओवरहेड को कम करने के लिए मामूली होना चाहिए।
  •     यह लेनदेन के परमाणु कार्यों की संरचना पर कुछ बाधाओं को लागू करना चाहिए।


Summary For Concurrency Control In DBMS in Hindi And Deadlock In Hindi



  •      एक दूसरे के साथ संघर्ष किए बिना एक साथ संचालन के प्रबंधन के लिए डीबीएमएस में कंसीडर कंट्रोल नियंत्रण प्रक्रिया है।
  •      लॉस्ट अपडेट्स, गंदा रीड, नॉन-रिपीटेबल रीड और गलत सारांश इश्यू समसामयिक नियंत्रण न होने के कारण आने वाली समस्याओं का सामना करते हैं।
  •      लॉक-बेस्ड, टू-फेज, टाइमस्टैम्प-बेस्ड, वैलिडेशन-बेस्ड एक प्रकार के कॉनकरेन्सी हैंडलिंग प्रोटोकॉल हैं
  •      ताला साझा किया जा सकता है (एस) या विशेष (एक्स)
  •      दो-चरण लॉकिंग प्रोटोकॉल जिसे 2PL प्रोटोकॉल के रूप में भी जाना जाता है, इसके एक ताले को जारी करने के बाद लेनदेन को एक लॉक प्राप्त करना चाहिए। इसके बढ़ने और सिकुड़ने के 2 चरण हैं।
  •      टाइमस्टैम्प-आधारित एल्गोरिथ्म समवर्ती लेनदेन के निष्पादन को क्रमबद्ध करने के लिए टाइमस्टैम्प का उपयोग करता है। प्रोटोकॉल टाइमस्टैम्प के रूप में सिस्टम टाइम या लॉजिकल काउंट का उपयोग करता है।

0 Comments:

Post a Comment