ACID लेनदेन (ट्रांज़ैक्शन)
ACID लेनदेन यह सुनिश्चित करते हैं कि डेटाबेस संचालन का एक समूह एक एकल, विश्वसनीय इकाई के रूप में व्यवहार करता है जो परमाणु (atomic) है, संगति (consistency) बनाए रखता है, अन्य लेनदेनों से पृथक (isolated) है, और एक बार प्रतिबद्ध (committed) होने के बाद टिकाऊ (durable) होता है।
Definition
एक लेनदेन कार्य की एक इकाई है जिसमें एक या अधिक डेटाबेस संचालन शामिल होते हैं जिन्हें सिस्टम ACID गारंटी के साथ निष्पादित करता है: परमाणुता (atomicity), संगति (consistency), पृथक्करण (isolation), और स्थायित्व (durability); यह या तो प्रतिबद्धता (commit) (इसके प्रभावों को स्थायी बनाना) या निरस्तीकरण (abort) (इसके सभी प्रभावों को पूर्ववत करना) द्वारा समाप्त होता है।
Scope
यह विषय लेनदेन अमूर्तन (transaction abstraction) और चार ACID गुणों को विस्तार से शामिल करता है: परमाणुता (atomicity) (या तो पूर्ण प्रतिबद्धता या निरस्तीकरण), संगति (consistency) (प्रत्येक लेनदेन डेटाबेस को एक वैध स्थिति से दूसरी वैध स्थिति में ले जाता है), पृथक्करण (isolation) (समवर्ती लेनदेन स्पष्ट रूप से हस्तक्षेप नहीं करते हैं), और स्थायित्व (durability) (प्रतिबद्ध प्रभाव विफलताओं के बावजूद बने रहते हैं)। यह प्रतिबद्धता और निरस्तीकरण शब्दार्थ (commit and abort semantics) और गुणों का समवर्ती नियंत्रण (concurrency control) और पुनर्प्राप्ति (recovery) से कैसे संबंध है, इस पर विचार करता है। यह उन विशिष्ट प्रोटोकॉल को बाहर करता है जो पृथक्करण और स्थायित्व को लागू करते हैं, जो आसन्न विषय हैं।
Core questions
- प्रत्येक ACID गुण क्या गारंटी देता है?
- प्रतिबद्धता और निरस्तीकरण एक लेनदेन के 'या तो सब कुछ या कुछ भी नहीं' व्यवहार को कैसे परिभाषित करते हैं?
- पृथक्करण का क्रमबद्धता (serializability) और समवर्ती नियंत्रण (concurrency control) से क्या संबंध है?
- सिस्टम क्रैश के बावजूद स्थायित्व कैसे प्राप्त किया जाता है?
- लंबे समय तक चलने वाले या वितरित कार्य के लिए लेनदेन मॉडल की सीमाएं क्या हैं?
Key concepts
- लेनदेन कार्य की इकाई
- परमाणुता
- संगति
- पृथक्करण
- स्थायित्व
- प्रतिबद्धता और निरस्तीकरण
- रोलबैक
- लेनदेन स्थिति मॉडल
Key theories
- परमाणुता और स्थायित्व
- परमाणुता यह सुनिश्चित करती है कि एक लेनदेन के प्रभाव पूरी तरह से लागू होते हैं या बिल्कुल नहीं, यहां तक कि विफलताओं के बावजूद भी, और स्थायित्व यह सुनिश्चित करता है कि एक बार जब एक लेनदेन अपने परिवर्तनों को प्रतिबद्ध करता है तो वे क्रैश से बचे रहते हैं; दोनों को लॉगिंग और पुनर्प्राप्ति के माध्यम से लागू किया जाता है।
- संगति और पृथक्करण
- संगति के लिए आवश्यक है कि प्रत्येक प्रतिबद्ध लेनदेन डेटाबेस की अखंडता बाधाओं को बनाए रखे, और पृथक्करण के लिए आवश्यक है कि समवर्ती लेनदेन कुछ क्रमिक क्रम के बराबर परिणाम उत्पन्न करें, एक-दूसरे से मध्यवर्ती स्थितियों को छिपाते हुए।
- लेनदेन की अवधारणा और इसकी सीमाएं
- लेनदेन अमूर्तन विफलताओं और समवर्तीता के बारे में तर्क को सरल बनाता है, लेकिन ग्रे ने लंबे समय तक चलने वाली गतिविधियों और सिस्टम सीमाओं के पार की सीमाओं को नोट किया, जिससे सागा (sagas) और वितरित लेनदेन (distributed transactions) पर बाद के काम को प्रेरणा मिली।
Clinical relevance
ACID लेनदेन ही वह कारण हैं कि डेटाबेस पर महत्वपूर्ण संचालन के लिए भरोसा किया जा सकता है: एक फंड ट्रांसफर, एक इन्वेंट्री कटौती, या एक आरक्षण या तो पूरी तरह से पूरा होता है या बिल्कुल नहीं होता है और क्रैश से बचता है, यही कारण है कि लेनदेन संबंधी डेटाबेस बैंकिंग, वाणिज्य और रिकॉर्ड-कीपिंग सिस्टम की रीढ़ हैं।
History
जिम ग्रे ने 1981 में लेनदेन की अवधारणा और इसके गुणों और सीमाओं को स्पष्ट किया; हार्डर और रयूटर ने 1983 में लेनदेन-उन्मुख पुनर्प्राप्ति के अपने सर्वेक्षण में ACID परिवर्णी शब्द गढ़ा। IBM के सिस्टम R के इर्द-गिर्द विकसित हुए ये विचार विश्वसनीय डेटा प्रोसेसिंग का मानक मॉडल बन गए और हर बाद के डेटाबेस सिस्टम को आकार दिया।
Key figures
- Jim Gray
- Andreas Reuter
- Theo Härder
Related topics
Seminal works
- gray1981
- haerder1983
- gray1992
Frequently asked questions
- ACID में संगति और CAP प्रमेय में संगति के बीच क्या अंतर है?
- वे अलग-अलग धारणाएँ हैं। ACID संगति का अर्थ है कि एक लेनदेन डेटाबेस की अखंडता बाधाओं को बनाए रखता है, इसे वैध स्थितियों के बीच ले जाता है। CAP संगति का तात्पर्य एक वितरित प्रणाली में सभी प्रतिकृतियों का नवीनतम मूल्य पर सहमत होना है। एक प्रणाली दूसरे के बिना एक को संतुष्ट कर सकती है, इसलिए एक ही शब्द दो संदर्भों में अलग-अलग गुणों को दर्शाता है।
- क्या ACID गुण एक दूसरे से स्वतंत्र हैं?
- वे वैचारिक रूप से अलग-अलग गारंटी हैं लेकिन अतिव्यापी तंत्रों द्वारा लागू किए जाते हैं। परमाणुता और स्थायित्व लॉगिंग और पुनर्प्राप्ति से आते हैं; पृथक्करण समवर्ती नियंत्रण से आता है; और संगति को एप्लिकेशन के लेनदेन तर्क और सिस्टम द्वारा अन्य तीन गुणों के प्रवर्तन द्वारा संयुक्त रूप से संरक्षित किया जाता है।