DBMS in Hindi – Deadlock

Deadlock in dbms in hindi, deadlock kya hai, Deadlock detection in dbms in hindi,

deadlock-in-dbms-in-hindi, deadlock detection in hindi, method for handling deadlock in hindi, deadlock detection and recovery in hindi, deadlock detection in dbms in hindi, method for handling deadlock in dbms in hindi, recovery from deadlock in dbms in hindi, deadlock detection in dbms in hindi, bankers algorithm in dbms in hindi,

Deadlock in DBMS in Hindi

Deadlock एक ऐसी स्थिति है जहां दो या दो से अधिक transactions  एक दूसरे को locks छोड़ने के लिए अनिश्चित काल तक इंतजार कर रहे हैं। DBMS में deadlock को सबसे अधिक fear वाली जटिलताओं में से एक कहा जाता है क्योंकि कोई भी कार्य कभी भी समाप्त नहीं होता है और हमेशा के लिए waiting state में होता है।

उदाहरण के लिए:  student table में, transaction T1 कुछ rows पर एक lock रखता है और grid table में कुछ rows को update करने की आवश्यकता होती है। इसके साथ ही, transaction T2 grid table में कुछ Rows पर lock रखता है और Transaction 1 द्वारा आयोजित छात्र तालिका में rows को update करने की आवश्यकता होती है।

अब, मुख्य समस्या उत्पन्न होती है। अब Transaction T1, T2 के lock छोड़ने की प्रतीक्षा कर रहा है और इसी तरह, T2, T1 के lock छोड़ने की प्रतीक्षा कर रहा है। सभी गतिविधियाँ रुक-रुक कर आती हैं और ठहराव पर रहती हैं। यह तब तक एक ठहराव में रहेगा जब तक DBMS deadlock का पता नहीं लगाता है और दोनो लेन-देन में से एक को रोक देता है।

Deadlock in DBMS

Deadlock Avoidance in hindi

  • जब एक डेटाबेस एक  deadlock स्थिति में फंस जाता है, तो डेटाबेस को नष्ट करने करने के बजाय डेटाबेस को छोड़ देना बेहतर होता है। नही तो यह समय और संसाधन की बर्बादी है।
  • Deadlock avoidance mechanism का उपयोग advance में किसी भी deadlock की स्थिति का पता लगाने के लिए किया जाता है। deadlock की स्थिति का पता लगाने के लिए “wait for graph” जैसी पद्धति का उपयोग किया जाता है लेकिन यह विधि केवल छोटे डेटाबेस के लिए उपयुक्त है। बड़े डेटाबेस के लिए, deadlock prevention method का उपयोग किया जा सकता है।

Deadlock detection in hindi

एक डेटाबेस में, जब कोई transaction अनिश्चित रूप से lock प्राप्त करने के लिए प्रतीक्षा करता है, तो DBMS को पता लगाना चाहिए कि transaction deadlock में शामिल है या नहीं। lock manager डेटाबेस में deadlock cycle का पता लगाने के लिए wait for graph बनाए रखता है।

Wait for graph

  • Deadlock का पता लगाने के लिए यह उपयुक्त विधि है। इस method में transaction और उनके lock के आधार पर एक graph बनाया जाता है। यदि बनाए गए graph में एक cycle या closed loop है, तो एक deadlock है।
  • wait for graph प्रणाली system द्वारा प्रत्येक लेन-देन के लिए बनाए रखी जाती है, जो दूसरों द्वारा रखे गए कुछ डेटा की प्रतीक्षा कर रहा है। यदि graph में कोई cycle है, तो system graph की जाँच करता रहता है।

उपरोक्त परिदृश्य के लिए wait for graph नीचे दिखाया गया है:

Deadlock in DBMS

Deadlock prevention in hindi

  • Deadlock prevention method एक बड़े डेटाबेस के लिए उपयुक्त है। यदि संसाधनों को इस तरह से आवंटित किया जाता है कि  deadlock कभी नहीं हो, तो deadlock को रोका जा सकता है।
  • Database management system लेन-देन  के संचालन का विश्लेषण करती है कि वे deadlock की स्थिति पैदा कर सकते हैं या नहीं। यदि वे करते हैं, तो DBMS ने कभी भी उस लेन-देन  को execute करने की अनुमति नहीं दी।

Wait-die scheme

इस योजना में, यदि कोई लेन-देन किसी ऐसे संसाधन के लिए अनुरोध करता है जो पहले से ही किसी अन्य लेन-देन द्वारा conflicting lock के साथ होता है, तो DBMS केवल दोनों transactions  के timestamp की जांच करता है। यह पुराने लेन-देन को तब तक इंतजार करने की अनुमति देता है जब तक कि निष्पादन के लिए resource उपलब्ध न हो।

मान लेते हैं कि दो लेन-देन  हैं Ti और Tj और मान ले कि TS (T) किसी भी लेन-देन  का timestamp है। यदि T2 कुछ अन्य लेन-देन द्वारा lock रखता है और T1 T2 द्वारा रखे गए संसाधनों के लिए अनुरोध कर रहा है तो निम्नलिखित कार्य DBMS द्वारा किए जाते हैं।

  1. अगर Ts(Ti)<Ts(Tj) की जाँच करें – यदि Ti पुराना लेन-देन  है और Tj ने कुछ संसाधन रखे हैं, तो Ti को data item execution के लिए उपलब्ध होने तक इंतजार करने की अनुमति है। इसका मतलब है कि यदि पुराने लेन-देन एक संसाधन की प्रतीक्षा कर रहा है, जो कि छोटे लेन-देन  द्वारा locked है, तो पुराने लेन-देन को संसाधन उपलब्ध होने तक प्रतीक्षा करने की अनुमति है।
  2. अगर Ts(Ti)<Ts(Tj) – अगर Ti पुराना लेन-देन है और उसके पास कुछ संसाधन हैं और यदि Tj उसका इंतजार कर रहा है, तो फिर Tj को बंद कर दिया जाता है और बाद में random delay के साथ फिर से उसी timestamp के साथ फिर से शुरू किया जाता है।

Wound wait scheme

  • Wound wait योजना में, यदि पुराना लेन-देन  एक संसाधन के लिए अनुरोध करता है जो कि नये लेन-देन के पास है, तो पुराना लेन-देन,  लेन-देन को खत्म और संसाधन छोड़ने के लिए छोटे को बाध्य करता है।1 मिनट की देरी के बाद, छोटे लेन-देन  को फिर से शुरू किया जाता है लेकिन उसी timestamp के साथ।
  • यदि पुराने लेन-देन के पास एक संसाधन होता है जो कि  young लेन-देन द्वारा अनुरोध किया जाता है, तो छोटे लेन-देन  को तब तक इंतजार करने के लिए कहा जाता है जब तक कि पुराना इसे छोड़ नहीं करते।

Leave a Reply

DMCA.com Protection Status