डीबीएमएस में लेनदेन प्रबंधन: एसीआईडी गुण क्या हैं?
डेटाबेस लेनदेन क्या है?
A डेटाबेस लेनदेन डीबीएमएस में प्रोसेसिंग की एक तार्किक इकाई है जिसमें एक या अधिक डेटाबेस एक्सेस ऑपरेशन शामिल होते हैं। संक्षेप में, डेटाबेस लेनदेन किसी भी उद्यम की वास्तविक दुनिया की घटनाओं का प्रतिनिधित्व करते हैं।
सभी प्रकार के डेटाबेस एक्सेस ऑपरेशन जो आरंभिक और अंतिम लेनदेन कथनों के बीच आयोजित किए जाते हैं, उन्हें DBMS में एकल तार्किक लेनदेन माना जाता है। लेनदेन के दौरान डेटाबेस असंगत होता है। डेटाबेस के प्रतिबद्ध होने के बाद ही स्थिति एक सुसंगत स्थिति से दूसरी सुसंगत स्थिति में बदल जाती है।
डेटाबेस लेनदेन के बारे में तथ्य
- लेनदेन एक प्रोग्राम इकाई है जिसके निष्पादन से डेटाबेस की सामग्री में परिवर्तन हो भी सकता है और नहीं भी।
- डीबीएमएस में लेनदेन की अवधारणा को एकल इकाई के रूप में निष्पादित किया जाता है।
- यदि डेटाबेस संचालन डेटाबेस को अद्यतन नहीं करता है, बल्कि केवल डेटा पुनर्प्राप्त करता है, तो इस प्रकार के लेनदेन को केवल पढ़ने के लिए लेनदेन कहा जाता है।
- एक सफल लेनदेन डेटाबेस को एक सुसंगत स्थिति से दूसरी सुसंगत स्थिति में बदल सकता है
- डीबीएमएस लेनदेन परमाण्विक, सुसंगत, पृथक और टिकाऊ होना चाहिए
- यदि लेनदेन से पहले डेटाबेस असंगत स्थिति में था, तो लेनदेन के बाद भी वह असंगत स्थिति में ही रहेगा।
आपको लेन-देन में समवर्तीता की आवश्यकता क्यों है?
डेटाबेस एक साझा संसाधन है जिसका उपयोग किया जाता है। इसका उपयोग कई उपयोगकर्ता और प्रक्रियाएँ एक साथ करती हैं। उदाहरण के लिए, बैंकिंग प्रणाली, रेलवे और हवाई आरक्षण प्रणाली, शेयर बाजार की निगरानी, सुपरमार्केट इन्वेंट्री और चेकआउट आदि।
समवर्ती पहुँच का प्रबंधन न करने से निम्नलिखित समस्याएँ उत्पन्न हो सकती हैं:
- हार्डवेयर विफलता और सिस्टम क्रैश
- एक ही लेनदेन का समवर्ती निष्पादन, गतिरोध, या धीमी गति से प्रदर्शन
लेन-देन की स्थितियाँ
डीबीएमएस में लेनदेन अवधारणा की विभिन्न अवस्थाएं नीचे सूचीबद्ध हैं:
राज्य | लेन-देन के प्रकार |
---|---|
सक्रिय राज्य | जब निष्पादन प्रक्रिया शुरू होती है तो लेनदेन सक्रिय अवस्था में प्रवेश करता है। इस अवस्था के दौरान पढ़ने या लिखने का कार्य किया जा सकता है। |
आंशिक रूप से प्रतिबद्ध | किसी लेनदेन की समाप्ति के बाद लेनदेन आंशिक रूप से प्रतिबद्ध अवस्था में चला जाता है। |
प्रतिबद्ध राज्य | जब लेनदेन को राज्य के लिए प्रतिबद्ध किया जाता है, तो इसका मतलब है कि यह पहले ही सफलतापूर्वक अपना निष्पादन पूरा कर चुका है। इसके अलावा, इसके सभी परिवर्तन डेटाबेस में स्थायी रूप से दर्ज किए जाते हैं। |
विफल राज्य | किसी लेनदेन को तब विफल माना जाता है जब कोई भी जांच विफल हो जाती है या लेनदेन सक्रिय अवस्था में रहते हुए निरस्त कर दिया जाता है। |
समाप्त अवस्था | लेनदेन की स्थिति समाप्त स्थिति में पहुंच जाती है, जब सिस्टम से बाहर जाने वाले कुछ लेनदेन को पुनः आरंभ नहीं किया जा सकता। |
आइये अध्ययन करें राज्य संक्रमण आरेख जो इस बात पर प्रकाश डालता है कि कोई लेनदेन विभिन्न अवस्थाओं के बीच किस प्रकार चलता है।
- एक बार जब कोई लेनदेन निष्पादित हो जाता है, तो वह सक्रिय हो जाता है। यह READ या WRITE ऑपरेशन जारी कर सकता है।
- एक बार READ और WRITE ऑपरेशन पूरा हो जाने पर, लेनदेन आंशिक रूप से प्रतिबद्ध अवस्था में आ जाता है।
- इसके बाद, कुछ रिकवरी प्रोटोकॉल को यह सुनिश्चित करने की आवश्यकता होती है कि सिस्टम विफलता के परिणामस्वरूप लेनदेन में परिवर्तनों को स्थायी रूप से रिकॉर्ड करने में असमर्थता न हो। यदि यह जाँच सफल होती है, तो लेनदेन प्रतिबद्ध हो जाता है और प्रतिबद्ध अवस्था में प्रवेश करता है।
- यदि जाँच विफल हो जाती है, तो लेनदेन विफल स्थिति में चला जाता है।
- यदि लेनदेन सक्रिय अवस्था में रहते हुए निरस्त कर दिया जाता है, तो यह विफल अवस्था में चला जाता है। डेटाबेस पर इसके लेखन संचालन के प्रभाव को पूर्ववत करने के लिए लेनदेन को वापस रोल किया जाना चाहिए।
- समाप्त स्थिति से तात्पर्य लेनदेन के सिस्टम से बाहर चले जाने से है।
एसिड के गुण क्या हैं?
एसिड गुण लेनदेन प्रसंस्करण के दौरान डेटाबेस की अखंडता को बनाए रखने के लिए उपयोग किया जाता है। DBMS में ACID का मतलब है Aटॉमिसिटी, Cनिरंतरता, Iसांत्वना, और Dस्थायित्व.
- Atomआईसिटी: लेन-देन एक एकल परिचालन इकाई है। आप या तो इसे पूरी तरह से निष्पादित करते हैं या इसे बिल्कुल भी निष्पादित नहीं करते हैं। आंशिक निष्पादन नहीं हो सकता।
- संगति: एक बार लेनदेन निष्पादित हो जाने पर, इसे एक सुसंगत स्थिति से दूसरी सुसंगत स्थिति में स्थानांतरित होना चाहिए।
- इन्सुलेशन: लेन-देन को अन्य लेन-देन से अलग करके निष्पादित किया जाना चाहिए (कोई लॉक नहीं)। समवर्ती लेन-देन निष्पादन के दौरान, एक साथ निष्पादित लेन-देन से मध्यवर्ती लेन-देन परिणाम एक दूसरे को उपलब्ध नहीं कराए जाने चाहिए। (स्तर 0,1,2,3)
- स्थायित्व:· किसी लेनदेन के सफलतापूर्वक पूरा हो जाने के बाद, डेटाबेस में किए गए परिवर्तन बरकरार रहने चाहिए। सिस्टम विफलता की स्थिति में भी।
DBMS में ACID प्रॉपर्टी उदाहरण सहित
नीचे DBMS में ACID गुण का एक उदाहरण दिया गया है:
Transaction 1: Begin X=X+50, Y = Y-50 END Transaction 2: Begin X=1.1*X, Y=1.1*Y END
लेनदेन 1 में खाता X से खाता Y में $50 का स्थानांतरण किया जा रहा है।
लेन-देन 2 में प्रत्येक खाते में 10% ब्याज भुगतान जमा किया जा रहा है।
यदि दोनों लेनदेन एक साथ प्रस्तुत किए जाते हैं, तो इस बात की कोई गारंटी नहीं है कि लेनदेन 1 लेनदेन 2 से पहले निष्पादित होगा या इसके विपरीत। क्रम के बावजूद, परिणाम ऐसा होना चाहिए जैसे कि लेनदेन एक के बाद एक क्रमिक रूप से हो रहे हों।
लेन-देन के प्रकार
अनुप्रयोग क्षेत्रों के आधार पर
- गैर-वितरित बनाम वितरित
- प्रतिपूर्ति लेनदेन
- लेन-देन का समय
- ऑनलाइन बनाम बैच
कार्यों के आधार पर
- दो कदम
- वर्जित
- एक्शन मॉडल
संरचना के आधार पर
- फ्लैट या सरल लेनदेन: इसमें आरंभिक और अंतिम परिचालनों के बीच निष्पादित आदिम परिचालनों का अनुक्रम शामिल होता है।
- नेस्टेड लेनदेन: एक लेनदेन जिसमें अन्य लेनदेन शामिल होते हैं।
- कार्यप्रवाह
अनुसूची क्या है?
शेड्यूल एक ऐसी प्रक्रिया है जो कई समानांतर लेनदेन का एक समूह बनाती है और उन्हें एक-एक करके निष्पादित करती है। इसमें प्रत्येक लेनदेन में निर्देशों के क्रम को बनाए रखना चाहिए। यदि एक ही समय में दो लेनदेन निष्पादित किए जाते हैं, तो एक लेनदेन का परिणाम दूसरे के आउटपुट को प्रभावित कर सकता है।
उदाहरण
Initial Product Quantity is 10 Transaction 1: Update Product Quantity to 50 Transaction 2: Read Product Quantity
यदि ट्रांजेक्शन 2 को ट्रांजेक्शन 1 से पहले निष्पादित किया जाता है, तो उत्पाद मात्रा के बारे में पुरानी जानकारी पढ़ी जाएगी। इसलिए, शेड्यूल की आवश्यकता होती है।
डेटाबेस में समानांतर निष्पादन अपरिहार्य है। लेकिन, समानांतर निष्पादन की अनुमति तब दी जाती है जब एक साथ निष्पादित होने वाले लेनदेन के बीच तुल्यता संबंध हो। यह तुल्यता 3 प्रकार की होती है।
परिणाम समतुल्यता:
यदि दो अनुसूचियाँ निष्पादन के बाद एक ही परिणाम प्रदर्शित करती हैं, तो इसे परिणाम समतुल्य अनुसूची कहा जाता है। वे कुछ मान के लिए समान परिणाम और मानों के दूसरे सेट के लिए अलग-अलग परिणाम दे सकते हैं। उदाहरण के लिए, एक लेनदेन उत्पाद की मात्रा को अपडेट करता है, जबकि दूसरा ग्राहक विवरण अपडेट करता है।
समतुल्यता देखें
दृश्य समतुल्यता तब होती है जब दोनों शेड्यूल में लेनदेन एक समान कार्य करता है। उदाहरण के लिए, एक लेनदेन उत्पाद तालिका में उत्पाद विवरण सम्मिलित करता है, जबकि दूसरा लेनदेन संग्रह तालिका में उत्पाद विवरण सम्मिलित करता है। लेनदेन समान है, लेकिन तालिकाएँ अलग हैं।
संघर्ष समतुल्यता
इस मामले में, दो लेनदेन डेटा के एक ही सेट को अपडेट/देखते हैं। लेनदेन के बीच टकराव होता है क्योंकि निष्पादन का क्रम आउटपुट को प्रभावित करेगा।
सीरियलाइज़ेबिलिटी क्या है?
सीरियलाइज़ेबिलिटी एक समवर्ती शेड्यूल की खोज की प्रक्रिया है जिसका आउटपुट एक सीरियल शेड्यूल के बराबर होता है जहाँ लेनदेन एक के बाद एक निष्पादित होते हैं। शेड्यूल के प्रकार के आधार पर, सीरियलाइज़ेबिलिटी के दो प्रकार हैं:
- संघर्ष
- देखें
सारांश
- लेनदेन प्रबंधन DBMS में प्रसंस्करण की एक तार्किक इकाई है जिसमें एक या अधिक डेटाबेस एक्सेस ऑपरेशन शामिल होते हैं
- यह एक लेनदेन है, जो एक प्रोग्राम इकाई है, जिसके निष्पादन से डेटाबेस की सामग्री में परिवर्तन हो भी सकता है और नहीं भी।
- समवर्ती पहुंच का प्रबंधन न करने से हार्डवेयर विफलता और सिस्टम क्रैश जैसी समस्याएं उत्पन्न हो सकती हैं।
- सक्रिय, आंशिक रूप से प्रतिबद्ध, प्रतिबद्ध, विफल और समाप्त महत्वपूर्ण लेनदेन स्थितियाँ हैं।
- एसिड का पूर्ण रूप डीबीएमएस is Atomस्थिरता, स्थिरता, अलगाव और स्थायित्व
- तीन डीबीएमएस लेनदेन प्रकार अनुप्रयोग क्षेत्र, कार्रवाई, और संरचना पर आधारित हैं।
- शेड्यूल एक ऐसी प्रक्रिया है जो अनेक समानांतर लेनदेन का एक समूह बनाती है और उन्हें एक-एक करके निष्पादित करती है।
- सीरियलाइज़ेबिलिटी एक समवर्ती शेड्यूल की खोज की प्रक्रिया है जिसका आउटपुट एक सीरियल शेड्यूल के बराबर होता है जहां लेनदेन एक के बाद एक निष्पादित होते हैं।