DBMS लेन-देन प्रबंधन: ACID गुण क्या हैं?

विषय - सूची:

Anonim

एक डेटाबेस लेनदेन क्या है?

एक डेटाबेस लेनदेन एक DBMS में प्रसंस्करण की एक तार्किक इकाई है जो एक या अधिक डेटाबेस एक्सेस ऑपरेशन की आवश्यकता होती है। संक्षेप में, डेटाबेस लेनदेन किसी भी उद्यम की वास्तविक दुनिया की घटनाओं का प्रतिनिधित्व करते हैं।

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

इस ट्यूटोरियल में, आप सीखेंगे:

  • डेटाबेस लेनदेन के बारे में तथ्य
  • आपको लेन-देन में संक्षिप्तता की आवश्यकता क्यों है?
  • लेन-देन की अवस्थाएँ
  • ACID गुण क्या हैं?
  • लेन-देन के प्रकार
  • अनुसूची क्या है?

डेटाबेस लेनदेन के बारे में तथ्य

  • लेन-देन एक प्रोग्राम यूनिट है जिसका निष्पादन डेटाबेस की सामग्री को बदल सकता है या नहीं भी कर सकता है।
  • DBMS में लेनदेन अवधारणा को एक इकाई के रूप में निष्पादित किया जाता है।
  • यदि डेटाबेस ऑपरेशन डेटाबेस को अपडेट नहीं करते हैं, लेकिन केवल डेटा को पुनः प्राप्त करते हैं, तो इस प्रकार के लेनदेन को रीड-ओनली ट्रांजेक्शन कहा जाता है।
  • एक सफल लेनदेन डेटाबेस को एक CONSISTENT STATE से दूसरे में बदल सकता है
  • DBMS लेनदेन परमाणु, सुसंगत, पृथक और टिकाऊ होना चाहिए
  • यदि लेन-देन से पहले डेटाबेस असंगत स्थिति में था, तो यह लेनदेन के बाद असंगत स्थिति में रहेगा।

आपको लेन-देन में संक्षिप्तता की आवश्यकता क्यों है?

एक डेटाबेस एक साझा संसाधन है। यह कई उपयोगकर्ताओं और समवर्ती प्रक्रियाओं द्वारा उपयोग किया जाता है। उदाहरण के लिए, बैंकिंग प्रणाली, रेलवे और वायु आरक्षण प्रणाली, शेयर बाजार की निगरानी, ​​सुपरमार्केट इन्वेंट्री, और चेकआउट, आदि।

समवर्ती पहुँच का प्रबंधन न करने से समस्याएँ पैदा हो सकती हैं:

  • हार्डवेयर की विफलता और सिस्टम क्रैश
  • एक ही लेन-देन, गतिरोध, या धीमी गति से प्रदर्शन का समवर्ती निष्पादन

लेन-देन की अवस्थाएँ

DBMS में लेनदेन अवधारणा के विभिन्न राज्य नीचे सूचीबद्ध हैं:

राज्य लेन-देन के प्रकार
सक्रिय राज्य निष्पादन प्रक्रिया शुरू होने पर एक लेनदेन सक्रिय स्थिति में प्रवेश करता है। इस राज्य में पढ़ने या लिखने के दौरान ऑपरेशन किए जा सकते हैं।
आंशिक रूप से प्रतिबद्ध एक लेनदेन के अंत के बाद एक लेनदेन आंशिक रूप से प्रतिबद्ध राज्य में चला जाता है।
प्रतिबद्ध राज्य जब लेन-देन राज्य के लिए प्रतिबद्ध होता है, तो वह पहले ही सफलतापूर्वक अपना निष्पादन पूरा कर चुका होता है। इसके अलावा, इसके सभी परिवर्तन स्थायी रूप से डेटाबेस में दर्ज किए जाते हैं।
विफल राज्य लेन-देन तब विफल हो जाता है जब चेक में से कोई भी विफल हो जाता है या सक्रिय स्थिति में होने पर लेनदेन समाप्त हो जाता है।
समाप्त राज्य लेन-देन की स्थिति उस स्थिति में समाप्त हो जाती है जब कुछ लेनदेन जो सिस्टम को छोड़ रहे हैं उन्हें फिर से शुरू नहीं किया जा सकता है।
एक डेटाबेस लेनदेन के लिए राज्य संक्रमण आरेख

आइए एक राज्य संक्रमण आरेख का अध्ययन करें जो यह बताता है कि इन विभिन्न राज्यों के बीच लेन-देन कैसे चलता है।

  1. एक बार जब कोई लेनदेन निष्पादित करता है, तो यह सक्रिय हो जाता है। यह READ या WRITE ऑपरेशन जारी कर सकता है।
  2. एक बार READ और WRITE ऑपरेशन पूरा होने के बाद, लेनदेन आंशिक रूप से प्रतिबद्ध राज्य बन जाता है।
  3. अगला, कुछ पुनर्प्राप्ति प्रोटोकॉल को यह सुनिश्चित करने की आवश्यकता है कि सिस्टम विफलता विफलता के कारण लेनदेन में स्थायी रूप से परिवर्तन रिकॉर्ड करने में असमर्थता होगी। यदि यह चेक सफल होता है, तो लेनदेन प्रतिबद्ध अवस्था में आता है और प्रवेश करता है।
  4. यदि चेक विफल होता है, तो लेनदेन विफल स्थिति में चला जाता है।
  5. यदि सक्रिय अवस्था में लेन-देन समाप्त हो जाता है, तो यह विफल स्थिति में चला जाता है। डेटाबेस पर इसके लेखन संचालन के प्रभाव को पूर्ववत करने के लिए लेन-देन को वापस रोल किया जाना चाहिए।
  6. समाप्त राज्य प्रणाली को छोड़कर लेनदेन को संदर्भित करता है।

ACID गुण क्या हैं?

लेनदेन प्रसंस्करण के दौरान डेटाबेस की अखंडता को बनाए रखने के लिए ACID गुण का उपयोग किया जाता है। DBMS में ACID का मतलब टामिसिटी, C ऑन्सिस्टेंसी, I सॉल्यूशन और डी यूरेबिलिटी है।

  • एटॉमिसिटी: एक लेनदेन ऑपरेशन की एक एकल इकाई है। आप इसे पूरी तरह से निष्पादित करते हैं या इसे बिल्कुल भी निष्पादित नहीं करते हैं। आंशिक निष्पादन नहीं हो सकता।
  • संगति: एक बार लेन-देन निष्पादित हो जाने के बाद, इसे एक सुसंगत अवस्था से दूसरी अवस्था में जाना चाहिए।
  • अलगाव: लेनदेन को अन्य लेनदेन (कोई ताले) से अलगाव में निष्पादित किया जाना चाहिए। समवर्ती लेनदेन निष्पादन के दौरान, एक साथ निष्पादित लेनदेन से मध्यवर्ती लेनदेन परिणाम एक दूसरे को उपलब्ध नहीं कराया जाना चाहिए। (स्तर 0,1,2,3)
  • स्थायित्व: · लेनदेन के सफल समापन के बाद, डेटाबेस में परिवर्तन जारी रहना चाहिए। सिस्टम फेलियर के मामले में भी।

DBMS में ACID संपत्ति उदाहरण के साथ:

नीचे DBMS में ACID संपत्ति का एक उदाहरण दिया गया है:

Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END

लेनदेन 1 खाता X से खाता Y के लिए $ 50 स्थानांतरित कर रहा है।

लेनदेन 2 प्रत्येक खाते को 10% ब्याज भुगतान के साथ जमा कर रहा है।

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

लेन-देन के प्रकार

अनुप्रयोग क्षेत्रों के आधार पर

  • गैर-वितरित बनाम वितरित
  • लेन-देन का मुआवजा
  • लेन-देन का समय
  • ऑन-लाइन बनाम बैच

क्रियाओं के आधार पर

  • दो कदम
  • वर्जित
  • एक्शन मॉडल

संरचना के आधार पर

  • फ्लैट या सरल लेन-देन: इसमें आरंभ और अंत के संचालन के बीच निष्पादित आदिम संचालन का एक क्रम होता है।
  • नेस्टेड लेनदेन: एक लेनदेन जिसमें अन्य लेनदेन होते हैं।
  • कार्यप्रवाह

अनुसूची क्या है?

एक अनुसूची कई समानांतर लेनदेन के एक समूह का निर्माण और उन्हें एक-एक करके निष्पादित करने की एक प्रक्रिया है। यह उस आदेश को संरक्षित करना चाहिए जिसमें निर्देश प्रत्येक लेनदेन में दिखाई देते हैं। यदि एक ही समय में दो लेनदेन निष्पादित किए जाते हैं, तो एक लेनदेन का परिणाम दूसरे के उत्पादन को प्रभावित कर सकता है।

उदाहरण

Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity

यदि लेनदेन 1 से पहले लेनदेन 2 को निष्पादित किया जाता है, तो उत्पाद की मात्रा के बारे में पुरानी जानकारी पढ़ी जाएगी। इसलिए, कार्यक्रम की आवश्यकता है।

एक डेटाबेस में समानांतर निष्पादन अपरिहार्य है। लेकिन, समानांतर निष्पादन की अनुमति तब दी जाती है जब एक साथ निष्पादित लेनदेन के बीच एक समानता का संबंध होता है। यह समानता 3 प्रकार की है।

परिणाम की व्याख्या:

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

समतुल्यता देखें

दृश्य समतुल्यता तब होती है जब दोनों अनुसूची में लेनदेन एक समान कार्रवाई करता है। उदाहरण, एक लेनदेन उत्पाद तालिका में उत्पाद विवरण सम्मिलित करता है, जबकि एक अन्य लेनदेन संग्रह तालिका में उत्पाद विवरण सम्मिलित करता है। लेन-देन समान है, लेकिन टेबल अलग हैं।

CONFLICT समतुल्यता

इस स्थिति में, दो लेन-देन डेटा के समान सेट को अपडेट / व्यू करते हैं। लेनदेन के बीच संघर्ष है क्योंकि निष्पादन का क्रम आउटपुट को प्रभावित करेगा।

Serializability क्या है?

Serializability एक समवर्ती अनुसूची के लिए खोज की प्रक्रिया है जो आउटपुट एक सीरियल शेड्यूल के बराबर है जहां लेनदेन एक के बाद एक निष्पादित होता है। अनुसूची के प्रकार के आधार पर, क्रमबद्धता दो प्रकार की होती है:

  • टकराव
  • राय

सारांश:

  • लेन-देन प्रबंधन एक DBMS में प्रसंस्करण की एक तार्किक इकाई है जो एक या अधिक डेटाबेस एक्सेस ऑपरेशन की आवश्यकता होती है
  • यह एक लेन-देन एक प्रोग्राम यूनिट है जिसका निष्पादन डेटाबेस की सामग्री को बदल सकता है या नहीं भी कर सकता है।
  • समवर्ती पहुँच का प्रबंधन न करना हार्डवेयर विफलता और सिस्टम क्रैश जैसी समस्याएं पैदा कर सकता है।
  • सक्रिय, आंशिक रूप से प्रतिबद्ध, प्रतिबद्ध, असफल और समाप्ति महत्वपूर्ण लेनदेन राज्य हैं।
  • DBMS में ACID प्रॉपर्टीज का फुल फॉर्म Atomicity, Consistency, Isolation और Durability है
  • तीन DBMS लेनदेन प्रकार अनुप्रयोग क्षेत्रों, कार्रवाई और संरचना पर आधार हैं।
  • एक अनुसूची कई समानांतर लेनदेन के एक समूह का निर्माण और उन्हें एक-एक करके निष्पादित करने की एक प्रक्रिया है।
  • Serializability एक समवर्ती अनुसूची के लिए खोज की प्रक्रिया है जिसका आउटपुट एक सीरियल शेड्यूल के बराबर है जहां लेनदेन एक के बाद एक निष्पादित होते हैं।