वितरित डीबीएमएस - कमिटेड प्रोटोकॉल
एक स्थानीय डेटाबेस प्रणाली में, लेनदेन करने के लिए, लेनदेन प्रबंधक को केवल रिकवरी प्रबंधक को प्रतिबद्ध करने का निर्णय लेना होता है। हालांकि, एक वितरित प्रणाली में, लेनदेन प्रबंधक को उन सभी सर्वरों के लिए प्रतिबद्ध होना चाहिए जो विभिन्न साइटों में लेनदेन को निष्पादित कर रहे हैं और निर्णय को समान रूप से लागू करते हैं। जब प्रसंस्करण प्रत्येक साइट पर पूरा हो जाता है, तो यह आंशिक रूप से प्रतिबद्ध लेनदेन स्थिति तक पहुंच जाता है और अन्य सभी लेनदेन के लिए अपने आंशिक रूप से प्रतिबद्ध राज्यों तक पहुंचने का इंतजार करता है। जब यह संदेश प्राप्त होता है कि सभी साइटें प्रतिबद्ध होने के लिए तैयार हैं, तो यह प्रतिबद्ध होना शुरू हो जाता है। एक वितरित प्रणाली में, सभी साइटें कमिट करती हैं या उनमें से कोई भी नहीं करती है।
विभिन्न वितरित प्रतिबद्ध प्रोटोकॉल हैं -
- एक चरण की प्रतिबद्धता
- दो चरण की प्रतिबद्धता
- तीन चरण की प्रतिबद्धता
एक चरण की कमिट वितरित की
वितरित एक-चरण प्रतिबद्ध सबसे सरल प्रतिबद्ध प्रोटोकॉल है। आइए हम इस पर विचार करें कि एक नियंत्रित साइट और कई दास साइट हैं, जहां लेनदेन निष्पादित किया जा रहा है। वितरित समितियों के चरण हैं -
प्रत्येक गुलाम ने स्थानीय रूप से अपना लेन-देन पूरा करने के बाद, यह कंट्रोलिंग साइट पर एक "डन" संदेश भेजता है।
दास नियंत्रण स्थल से "कमिट" या "एबोर्ट" संदेश की प्रतीक्षा करते हैं। इस प्रतीक्षा समय को कहा जाता हैwindow of vulnerability।
जब नियंत्रण साइट प्रत्येक दास से "पूर्ण" संदेश प्राप्त करती है, तो यह प्रतिबद्ध या गर्भपात करने का निर्णय लेता है। इसे कमिट पॉइंट कहा जाता है। फिर, यह संदेश सभी दासों को भेजता है।
इस संदेश को प्राप्त करने पर, एक दास या तो अपमान करता है या गर्भपात करता है और फिर नियंत्रित साइट पर एक पावती संदेश भेजता है।
दो चरण की कमिट वितरित की
वितरित दो-चरण प्रतिबद्ध एक चरण के प्रतिबद्ध प्रोटोकॉल की भेद्यता को कम करता है। दो चरणों में किए गए कदम इस प्रकार हैं -
Phase 1: Prepare Phase
प्रत्येक गुलाम ने स्थानीय रूप से अपना लेन-देन पूरा करने के बाद, यह कंट्रोलिंग साइट पर एक "डन" संदेश भेजता है। जब नियंत्रण साइट को सभी दासों से "पूर्ण" संदेश प्राप्त हुआ है, तो यह दासों को "तैयार" संदेश भेजता है।
दास इस बात पर वोट देते हैं कि वे अभी भी कमिटमेंट करना चाहते हैं या नहीं। यदि कोई दास करना चाहता है, तो वह "रेडी" संदेश भेजता है।
एक गुलाम जो प्रतिबद्ध नहीं करना चाहता है वह "तैयार नहीं" संदेश भेजता है। यह तब हो सकता है जब दास के पास समवर्ती लेनदेन में विरोधाभास हो या कोई समय समाप्त हो।
Phase 2: Commit/Abort Phase
कंट्रोलिंग साइट को सभी गुलामों से "तैयार" संदेश मिला है -
नियंत्रित करने वाली साइट दासों को "ग्लोबल कमिट" संदेश भेजती है।
दास लेन-देन को लागू करते हैं और नियंत्रण स्थल पर एक "प्रतिबद्ध एसीके" संदेश भेजते हैं।
जब नियंत्रण स्थल को सभी दासों से "प्रतिबद्ध एसीके" संदेश प्राप्त होता है, तो यह लेनदेन को प्रतिबद्ध मानते हैं।
कंट्रोलिंग साइट को किसी भी गुलाम से पहला "नॉट रेडी" संदेश प्राप्त हुआ है -
नियंत्रित करने वाली साइट दासों को "ग्लोबल एबॉर्ट" संदेश भेजती है।
दास लेन-देन को निरस्त करते हैं और नियंत्रण स्थल पर "एबॉर्ट एसीके" संदेश भेजते हैं।
जब कंट्रोलिंग साइट को सभी दासों से "एबॉर्ट एसीके" संदेश प्राप्त होता है, तो यह लेनदेन को निरस्त मानता है।
तीन चरण की कमिट वितरित की
वितरित तीन चरण की प्रतिबद्धताओं के चरण इस प्रकार हैं -
Phase 1: Prepare Phase
चरण दो-चरणबद्ध वितरित वितरित के समान हैं।
Phase 2: Prepare to Commit Phase
- नियंत्रित करने वाली साइट "प्रवेश तैयार राज्य" प्रसारण संदेश जारी करती है।
- दास साइटें प्रतिक्रिया में "ओके" वोट देती हैं।
Phase 3: Commit / Abort Phase
चरण दो चरण के कमिट के समान होते हैं सिवाय इसके कि "कमिट ACK" / "एबोर्ट ACK" संदेश की आवश्यकता नहीं है।