संयुक्त रूप से नियंत्रण करना(concurrency control)

संयुक्त रूप से नियंत्रण करना(concurrency control)
इस तकनीक का उपयोग, ट्रान्जेक्शन को साथ-साथ रन करने के लिए किया जाता है, यह तकनीक डाटा आइटम को लॉक करने के सिद्धान्त परआधारित है। लॉक एक अवयव(variable) है,जो डाटा आइटम के साथ जुड़ा रहता है एवं यह संभव ऑपरेशन के सापेक्ष आइटम की स्थिति को दर्शाता है। आइटम के सापेक्ष सभी संभव ऑपरेशन अर्थात् वह ऑपरेशन जो डाटा आइटम पर लागू किये जा सकते हैं। सामान्यतः डाटाबेस में प्रत्येक डाटा आइटम के लिए एक-एक लॉक रहता है। लॉक का प्रयोग डाटाबेस आइटम को ट्रान्जेक्शन द्वारा एक साथ एक ही समय में एक्सेस करने के लिए किया जाता है।

डेडलॉक
डेडलॉक तब घटित होता है जब प्रत्येक ट्रान्जेक्शन दो या अधिक ट्रान्जेक्शन के सेट में ऐसे किसी आइटम की प्रतीक्षा कर रहा है जो सेट में किसी अन्य ट्रान्जेक्शन द्वारा लॉक कर दिया गया है। एक सिस्टम तब डेडलॉक अवस्था में होता है जब एक ऐसा ट्रान्जेक्शन का सेट उपस्थित है जिसके सेट में हर ट्रान्जेक्शन अन्य किसी ट्रान्जेक्शन की प्रतीक्षा कर रहा है। इसलिए सेट में हर ट्रान्जेक्शन प्रतीक्षा कर रहा है कि कोई एक ट्रान्जेक्शन एक आइटम पर लॉक रिलिज़ कर देगा। डेडलॉक समस्या का समाधान करने की दो मुख्य विधियाँ हैं।यह निश्चित करने के लिए कि सिस्टम कभी भी डेडलॉक अवस्था में नहीं पहुँचेगा। इसके अलावा हम सिस्टम को डेडलॉक में जाने की अनुमति दे सकते हैं और इससे उभरने के लिए डेडलॉक डिटेक्शन और डेडलॉक रिकवरी स्कीम का उपयोग कर सकते हैं।
कॉन्करेन्सी नियंत्रण के लिए टाइमस्टम्प ऑडरिंग 
टाइमस्टम्प एक ऐसा अनोखा आइडेंटिफायर है, जो कि डीबीएमएस के द्वारा ट्रान्जेक्शन को पहचानने के लिए बना है। आदर्श रूप से टाइमस्टम्प वेल्यूस उसी क्रम में असाइन की जाती हैं, जिस क्रम में ट्रान्जेक्शन को सिस्टम में जमा किया जाता है। इसलिए टाइमस्टम्प को ट्रान्जेक्शन स्टार्ट टाइम की तरह माना जा सकता है।
मल्टीपल ग्रेन्यूलैरिटी
कॉन्करेन्सी नियंत्रण तकनीकें यह मानती हैं कि डाटाबेस कई नेम्ड डाटा आइटम्स से बना है। एक डाटा आइटम निम्न में से कोई एक होने के लिए चुना जा सकता है-
-एक डाटाबेस रिकॉर्ड
-एक डाटाबेस रिकॉर्ड की एक फिल्ड वेल्यू
-एक डिस्क ब्लॉक
-एक पूरी फाईल
-एक पूरा डाटाबेस
ग्रेन्यूलैरिटी कॉन्करेन्सी नियंत्रण और रिकवरी की कार्यक्षमता को प्रभावित कर सकता है। डाटा आइटम की साइज़ को डाटा आइटम की ग्रेन्यूलैरिटी भी कहा जा सकता है। फाइन आइटम ग्रेन्यूलैरिटी छोटे आइटम साइज़ को दर्शाती है, जबकि कोर्स आइटम ग्रेन्यूलैरिटी विशाल आइटम साइज़ को दर्शाती है।
रिकवरी सिस्टम 
सामान्यतः ट्रान्जेक्शन फेलियर से रिकवरी का अर्थ है कि डाटाबेस के फेलियर के समय के पूर्व की सबसे रिसेन्ट, कन्सिस्टेंट स्टेट में रिस्टोर कर दिया गया है। ऐसा करने के लिए सिस्टम को विभिन्न ट्रान्जेक्शन द्वारा डाटा आइटम पर किये गये सभी बदलावों की जानकारी रखनी होती है। इस जानकारी को सिस्टम.लॉग में रखा जाता है। कई बार ये फेलियर्स सिस्टम में घटित हो सकते हैं इन सभी का अलग-अलग तरह से सामना करना होता है। निम्न प्रकार के फेलियर्स हैं-
-ट्रान्जेक्शन फेलियर
-लॉजिकल फेलियर
-सिस्टम एरर
-सिस्टम क्रैश
-डिस्क फेलियर
ट्रान्जेक्शन रोलबैक
अगर डाटाबेस को अपडेट करने के बाद किसी भी कारण से ट्रान्जेक्शन फेल हो जाता है तो इसे रोलबैक करना आवश्यक हो सकता है, अगर कोई डाटा आइटम वेल्यू, इसके द्वारा बदली गयी है या डाटाबेस में लिखी गयी हैं तो उन्हें उनकी पिछली वेल्यू पर रिस्टोर करना चाहिए। उन आइटम्स की पुरानी वेल्यूस को रिस्टोर करने के लिए अनडू -टाइप लॉग एन्ट्री का प्रयोग होता है, जिन्हें रोलबैक करना चाहिए।
शैडो पेजिंग
सिंगल यूज़र वातावरण में रिकवरी को लॉग के उपयोग की आवश्यकता नहीं होती है। मल्टीयूज़र वातावरण में कॉन्करेन्सी नियंत्रण विधि के लिए लॉग की आवश्यकता हो सकती है। शैडो पेजिंग डाटाबेस को कई निश्चित आकार के डिस्क पेजेस या डिस्क ब्लॉक से निर्मित मानता है। डायरेक्टरी यदि बहुत बड़ी न हो तो उसे मुख्य मैमोरी में रखा जात है और डिस्क पर डाटाबेस पेजेस को सभी रिफरेन्सेस – रीड या राइट के द्वारा ही जाते हैं। जब ट्रान्जेक्शन का एक्सिक्यूशन आरंभ होता है तब करंट डायरेक्टरी, जिसकी प्रविष्टियाँ डिस्क पर सबसे नवीनतम डाटाबेस पेजेस को पाइंट करती है, को एक शैडो डायरेक्टरी में कॉपी कर लिया जाता है। इसके बाद शैडो डायरेक्टरी को डिस्क पर सेव कर लिया जाता है जबकि करंट डायरेक्टरी ट्रान्जेक्शन द्वारा प्रयोग में लाई जाती है।
Previous
Next Post »