DDBMS - लेनदेन प्रसंस्करण प्रणाली

यह अध्याय लेनदेन प्रसंस्करण के विभिन्न पहलुओं पर चर्चा करता है। हम लेनदेन में शामिल निम्न स्तर के कार्यों, लेनदेन की स्थिति और लेनदेन के गुणों का भी अध्ययन करेंगे। पिछले भाग में, हम शेड्यूल और शेड्यूल की क्रमबद्धता पर ध्यान देंगे।

लेन-देन

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

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

  • read_item() - भंडारण से मुख्य मेमोरी तक डेटा आइटम को पढ़ता है।

  • modify_item() - मुख्य मेमोरी में आइटम का परिवर्तन मूल्य।

  • write_item() - मुख्य मेमोरी से स्टोरेज में संशोधित मूल्य लिखें।

डेटाबेस पहुंच read_item () और write_item () संचालन तक सीमित है। इसी तरह, सभी लेन-देन के लिए, पढ़ना और लिखना बुनियादी डेटाबेस ऑपरेशन बनाता है।

लेन-देन संचालन

लेन-देन में किए गए निम्न स्तर के ऑपरेशन हैं -

  • begin_transaction - एक मार्कर जो लेनदेन निष्पादन की शुरुआत को निर्दिष्ट करता है।

  • read_item or write_item - डेटाबेस संचालन जो लेन-देन के एक हिस्से के रूप में मुख्य मेमोरी ऑपरेशन के साथ इंटरलेय किया जा सकता है।

  • end_transaction - एक मार्कर जो लेनदेन के अंत को निर्दिष्ट करता है।

  • commit - यह निर्दिष्ट करने के लिए एक संकेत है कि लेनदेन सफलतापूर्वक पूरी तरह से पूरा हो गया है और पूर्ववत नहीं किया जाएगा।

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

लेन-देन करने वाले राज्य

एक लेनदेन पाँच राज्यों के एक सबसेट के माध्यम से जा सकता है, सक्रिय, आंशिक रूप से प्रतिबद्ध, प्रतिबद्ध, असफल और निरस्त।

  • Active- प्रारंभिक स्थिति जहां लेनदेन में प्रवेश होता है वह सक्रिय स्थिति है। लेन-देन इस स्थिति में रहता है, जबकि यह पढ़ने, लिखने या अन्य कार्यों को निष्पादित कर रहा है।

  • Partially Committed - लेन-देन के अंतिम विवरण को निष्पादित किए जाने के बाद लेनदेन इस स्थिति में प्रवेश करता है।

  • Committed - लेन-देन के सफल समापन के बाद लेन-देन इस राज्य में प्रवेश करता है और सिस्टम चेक ने प्रतिबद्ध सिग्नल जारी किया है।

  • Failed - लेनदेन आंशिक रूप से प्रतिबद्ध राज्य या सक्रिय राज्य से विफल राज्य में जाता है जब यह पता चलता है कि सामान्य निष्पादन अब आगे नहीं बढ़ सकता है या सिस्टम चेक विफल हो सकता है।

  • Aborted - यह वह स्थिति है जब विफलता के बाद लेनदेन वापस ले लिया गया था और डेटाबेस को उसके राज्य में बहाल कर दिया गया था जो लेनदेन शुरू होने से पहले था।

निम्न राज्य संक्रमण आरेख लेनदेन में राज्यों और निम्न स्तर के लेन-देन संचालन को दर्शाता है जो राज्यों में परिवर्तन का कारण बनता है।

लेन-देन के वांछनीय गुण

किसी भी लेनदेन को एसीआईडी ​​संपत्तियों को बनाए रखना चाहिए, अर्थात। परमाणु, संगति, अलगाव और स्थायित्व।

  • Atomicity- यह संपत्ति बताती है कि एक लेनदेन प्रसंस्करण की एक परमाणु इकाई है, अर्थात, यह या तो इसकी संपूर्णता में किया जाता है या बिल्कुल भी नहीं किया जाता है। कोई आंशिक अद्यतन मौजूद नहीं होना चाहिए।

  • Consistency- लेन-देन को डेटाबेस को एक सुसंगत स्थिति से दूसरे सुसंगत राज्य में ले जाना चाहिए। यह डेटाबेस में किसी भी डेटा आइटम को प्रतिकूल रूप से प्रभावित नहीं करना चाहिए।

  • Isolation- एक लेन-देन निष्पादित किया जाना चाहिए जैसे कि यह सिस्टम में एकमात्र है। एक साथ चल रहे अन्य समवर्ती लेनदेन से कोई हस्तक्षेप नहीं होना चाहिए।

  • Durability - यदि एक प्रतिबद्ध लेनदेन एक बदलाव लाता है, तो यह परिवर्तन डेटाबेस में टिकाऊ होना चाहिए और किसी भी विफलता के मामले में नहीं खोना चाहिए।

अनुसूचियां और संघर्ष

एक साथ कई लेन-देन वाली प्रणाली में, ए scheduleपरिचालन के निष्पादन का कुल क्रम है। एक अनुसूची S को देखते हुए, जिसमें N लेनदेन शामिल है, T1, T2, T3 ……… ..Tn; किसी भी लेनदेन तिवारी के लिए, तिवारी में परिचालन को अनुसूची एस में निर्धारित किया जाना चाहिए।

अनुसूचियों के प्रकार

कार्यक्रम दो प्रकार के होते हैं -

  • Serial Schedules- एक सीरियल शेड्यूल में, किसी भी समय, केवल एक लेनदेन सक्रिय होता है, यानी लेनदेन का कोई अतिव्यापी नहीं होता है। इसे निम्नलिखित ग्राफ में दर्शाया गया है -

  • Parallel Schedules- समानांतर शेड्यूल में, एक से अधिक लेनदेन एक साथ सक्रिय होते हैं, यानी लेनदेन में ऐसे ऑपरेशन होते हैं जो समय पर ओवरलैप होते हैं। इसे निम्नलिखित ग्राफ में दर्शाया गया है -

अनुसूचियों में संघर्ष

एक अनुसूची में कई लेनदेन शामिल हैं, ए conflictतब होता है जब दो सक्रिय लेनदेन गैर-संगत संचालन करते हैं। दो ऑपरेशनों को संघर्ष में कहा जाता है, जब निम्नलिखित तीन स्थितियों में से सभी एक साथ मौजूद होते हैं -

  • दो ऑपरेशन अलग-अलग लेनदेन के हिस्से हैं।

  • दोनों ऑपरेशन एक ही डेटा आइटम तक पहुंचते हैं।

  • कम से कम एक ऑपरेशन राइट_इटेम () ऑपरेशन है, अर्थात यह डेटा आइटम को संशोधित करने का प्रयास करता है।

serializability

ए serializable schedule'एन' लेनदेन एक समानांतर अनुसूची है जो समान 'एन' लेनदेन से संबंधित धारावाहिक कार्यक्रम के बराबर है। एक अनुक्रमिक अनुसूची में समानांतर अनुसूची के बेहतर सीपीयू उपयोग का पता लगाने के दौरान धारावाहिक अनुसूची की शुद्धता शामिल है।

अनुसूचियों की समानता

दो अनुसूचियों की समानता निम्न प्रकार की हो सकती है -

  • Result equivalence - समान परिणाम देने वाले दो शेड्यूल को परिणाम के बराबर कहा जाता है।

  • View equivalence - समान तरीके से समान क्रिया करने वाले दो शेड्यूल को समतुल्य कहा जाता है।

  • Conflict equivalence - दो अनुसूचियों को संघर्ष के बराबर कहा जाता है यदि दोनों में समान लेन-देन होता है और परस्पर विरोधी जोड़े के संचालन का क्रम समान होता है।