एटोमिसिटी (डेटाबेस सिस्टम): Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Property of the ACID database system}} {{Other uses|Atomicity (disambiguation)}} {{More citations needed|date=April 2020}} डेटाबेस सि...")
 
(text)
Line 1: Line 1:
{{short description|Property of the ACID database system}}
{{short description|Property of the ACID database system}}
{{Other uses|Atomicity (disambiguation)}}
{{Other uses|अटॉमिसिटी (विसंदिग्धीकरण)}}


{{More citations needed|date=April 2020}}
{{More citations needed|date=April 2020}}
[[डेटाबेस सिस्टम]] में, परमाणुता ({{IPAc-en|ˌ|æ|t|ə|ˈ|m|ɪ|s|ə|t|i}}; से {{lang-grc|ἄτομος|átomos|undividable}}) एसीआईडी ​​(परमाणुता, [[संगति (डेटाबेस सिस्टम)]], [[अलगाव (डेटाबेस सिस्टम)]], [[स्थायित्व (डेटाबेस सिस्टम)]]) [[डेटाबेस लेनदेन]] गुणों में से एक है। एक 'परमाणु लेन-देन' डेटाबेस संचालन की एक अविभाज्य और [[अतार्किकता]] श्रृंखला है जैसे कि या तो सब होता है, या कुछ भी नहीं होता है।<ref>{{cite web
[[डेटाबेस सिस्टम]] में, परमाणुता ({{IPAc-en|ˌ|æ|t|ə|ˈ|m|ɪ|s|ə|t|i}}; से {{lang-grc|ἄτομος|átomos|अविभाज्य}}) एसीआईडी ​​(परमाणुता, [[संगति (डेटाबेस सिस्टम)]], [[अलगाव (डेटाबेस सिस्टम)]], [[स्थायित्व (डेटाबेस सिस्टम)]]) [[डेटाबेस लेनदेन]] गुणों में से एक है। एक एटॉमिक ट्रांज़ैक्शन डेटाबेस संचालन की एक अविभाज्य और [[अतार्किकता]] श्रृंखला है जैसे कि या तो सब होता है, या कुछ भी नहीं होता है। <ref>{{cite web
| access-date = 2011-03-23
| access-date = 2011-03-23
| publisher = Webopedia
| publisher = Webopedia
Line 9: Line 9:
| date = 25 November 2003
| date = 25 November 2003
| quote = An operation during which a processor can simultaneously read a location and write it in the same bus operation. This prevents any other processor or I/O device from writing or reading memory until the operation is complete.
| quote = An operation during which a processor can simultaneously read a location and write it in the same bus operation. This prevents any other processor or I/O device from writing or reading memory until the operation is complete.
| url = http://www.webopedia.com/TERM/A/atomic_operation.html}}</ref> परमाणुता की गारंटी केवल आंशिक रूप से होने वाले डेटाबेस के अद्यतनों को रोकता है, जो पूरी श्रृंखला को एकमुश्त अस्वीकार करने की तुलना में अधिक समस्याएँ पैदा कर सकता है। नतीजतन, लेन-देन को किसी अन्य डेटाबेस क्लाइंट द्वारा प्रगति पर नहीं देखा जा सकता है। एक पल में, यह अभी तक नहीं हुआ है, और अगले समय यह पहले से ही पूरी तरह से हो चुका है (या कुछ भी नहीं हुआ अगर लेन-देन प्रगति में रद्द कर दिया गया था)।
| url = http://www.webopedia.com/TERM/A/atomic_operation.html}}</ref> परमाणुता की प्रत्याभुति केवल आंशिक रूप से होने वाले डेटाबेस के अद्यतनों को रोकता है, जो पूरी श्रृंखला को एकमुश्त अस्वीकार करने की तुलना में अधिक समस्याएँ उत्पन्न कर सकता है। नतीजतन, ट्रांज़ैक्शन को किसी अन्य डेटाबेस क्लाइंट द्वारा प्रगति पर नहीं देखा जा सकता है। एक पल में, यह अभी तक नहीं हुआ है, और अगले समय यह पहले से ही पूरी तरह से हो चुका है (या कुछ भी नहीं हुआ अगर ट्रांज़ैक्शन प्रगति में रद्द कर दिया गया था)।


परमाणु लेन-देन का एक उदाहरण बैंक खाते A से खाता B में मौद्रिक हस्तांतरण है। इसमें दो ऑपरेशन होते हैं, खाते A से पैसा निकालना और खाते B में सहेजना। परमाणु लेनदेन में इन कार्यों को करना यह सुनिश्चित करता है कि डेटाबेस में बना रहे एक डेटा संगति, यानी, पैसा न तो खोया जाता है और न ही बनाया जाता है यदि उन दोनों में से कोई भी ऑपरेशन विफल हो जाता है।<ref>{{cite web
परमाणु ट्रांज़ैक्शन का एक उदाहरण बैंक खाते A से खाता B में मौद्रिक हस्तांतरण है। इसमें दो ऑपरेशन होते हैं, खाते A से पैसा निकालना और खाते B में भेजना। एटॉमिक ट्रांज़ैक्शन में इन कार्यों को करना यह सुनिश्चित करता है कि डेटाबेस एक डेटा संगति में बना रहे, यानी, पैसा न तो खोया जाता है और न ही बनाया जाता है यदि उन दोनों में से कोई भी ऑपरेशन विफल हो जाता है।<ref>{{cite web
| url = http://archive.oreilly.com/pub/a/onjava/2001/11/07/atomic.html
| url = http://archive.oreilly.com/pub/a/onjava/2001/11/07/atomic.html
| url-status = dead
| url-status = dead
Line 22: Line 22:
| access-date = 2016-02-28
| access-date = 2016-02-28
}}</ref>
}}</ref>
इसी शब्द का उपयोग डेटाबेस सिस्टम में First_normal_form#Atomicity की परिभाषा में भी किया जाता है, जहां यह इसके बजाय इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान शामिल नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं , दिनांक, या अन्य प्रकार पैक किए जा सकते हैं।
 
इसी शब्द का उपयोग डेटाबेस सिस्टम में फर्स्ट नार्मल फॉर्म की परिभाषा में भी किया जाता है, जहां यह इसके स्थान पर इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान सम्मिलित नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं, दिनांक, या अन्य प्रकार पैक किए जा सकते हैं।


== ऑर्थोगोनलिटी ==
== ऑर्थोगोनलिटी ==
लेन-देन के अन्य एसीआईडी ​​​​गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) ]] व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस सिस्टम) एक [[गतिरोध]] जैसे अलगाव उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है; संगति (डेटाबेस सिस्टम) भी एक अवैध लेनदेन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है।
ट्रांज़ैक्शन के अन्य एसीआईडी ​​​​गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) |ओर्थोगोनल (कम्प्यूटिंग)]] व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस सिस्टम) एक [[गतिरोध]] जैसे अलगाव उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है; संगति (डेटाबेस सिस्टम) भी एक अवैध लेनदेन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है।


इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न लेन-देन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है।
इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है।


== कार्यान्वयन ==
== कार्यान्वयन ==
विशिष्ट रूप से, सिस्टम यह इंगित करने के लिए कि कौन से लेनदेन शुरू हो गए हैं और कौन से समाप्त हो गए हैं, कुछ तंत्र प्रदान करके एटमॉसिटी को लागू करते हैं; या कोई भी परिवर्तन होने से पहले डेटा की एक प्रति रख कर ([[रीड-कॉपी-अपडेट]])। जर्नलिंग ([[जर्नलिंग फाइल सिस्टम]] देखें) का उपयोग करते हुए, कई फाइल सिस्टम ने डेटा की कई प्रतियों को रखने की आवश्यकता से बचने के लिए तरीके विकसित किए हैं। डेटाबेस आमतौर पर परिवर्तनों को ट्रैक करने के लिए लॉगिंग/जर्नलिंग के कुछ रूपों का उपयोग करके इसे कार्यान्वित करते हैं। परिवर्तनों के सफलतापूर्वक होने के बाद सिस्टम लॉग्स (अक्सर [[ मेटाडाटा ]]) को आवश्यक रूप से सिंक्रनाइज़ करता है। बाद में, क्रैश रिकवरी अपूर्ण प्रविष्टियों पर ध्यान नहीं देती है। हालांकि कार्यान्वयन कारकों के आधार पर अलग-अलग होते हैं जैसे कि समवर्ती मुद्दे, परमाणुता का सिद्धांत - यानी पूर्ण सफलता या पूर्ण विफलता - बनी रहती है।
विशिष्ट रूप से, सिस्टम यह इंगित करने के लिए कि कौन से लेनदेन शुरू हो गए हैं और कौन से समाप्त हो गए हैं, कुछ तंत्र प्रदान करके एटमॉसिटी को लागू करते हैं; या कोई भी परिवर्तन होने से पहले डेटा की एक प्रति रख कर ([[रीड-कॉपी-अपडेट]])। जर्नलिंग ([[जर्नलिंग फाइल सिस्टम]] देखें) का उपयोग करते हुए, कई फाइल सिस्टम ने डेटा की कई प्रतियों को रखने की आवश्यकता से बचने के लिए तरीके विकसित किए हैं। डेटाबेस सामान्यतः परिवर्तनों को ट्रैक करने के लिए लॉगिंग/जर्नलिंग के कुछ रूपों का उपयोग करके इसे कार्यान्वित करते हैं। परिवर्तनों के सफलतापूर्वक होने के बाद सिस्टम लॉग्स (प्रायः[[ मेटाडाटा | मेटाडाटा]]) को आवश्यक रूप से सिंक्रनाइज़ करता है। बाद में, क्रैश रिकवरी अपूर्ण प्रविष्टियों पर ध्यान नहीं देती है। हालांकि कार्यान्वयन कारकों के आधार पर अलग-अलग होते हैं जैसे कि समवर्ती स्तिथि, परमाणुता का सिद्धांत - यानी पूर्ण सफलता या पूर्ण विफलता - बनी रहती है।


आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन [[ऑपरेटिंग सिस्टम]] | ऑपरेटिंग-सिस्टम की कार्यक्षमता पर निर्भर करता है। फ़ाइल-सिस्टम स्तर पर, [[POSIX]]- संगत सिस्टम [[सिस्टम कॉल]] प्रदान करते हैं जैसे <code>open(2)</code> और <code>flock(2)</code> जो एप्लिकेशन को किसी फ़ाइल को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, POSIX थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं।
आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग-सिस्टम की कार्यक्षमता पर निर्भर करता है। फ़ाइल-सिस्टम स्तर पर, [[POSIX|पीओएसआईएक्स]]- संगत सिस्टम [[सिस्टम कॉल]] प्रदान करते हैं जैसे<code>ओपन(2)</code>और<code>फ्लॉक(2)</code>जो एप्लिकेशन को किसी फ़ाइल को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, पीओएसआईएक्स थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं।


हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें]], [[ तुलना और अदला-बदली ]], या लोड-लिंक/स्टोर-कंडीशनल जैसे [[ स्मृति बाधा ]]्स के साथ [[रैखिकता]] की आवश्यकता होती है। पोर्टेबल ऑपरेटिंग सिस्टम केवल सिंक्रोनाइज़ेशन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें [[ हाइपर थ्रेडिंग ]] या [[ बहु प्रसंस्करण ]] जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है।{{Citation needed|date=December 2016}}
हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें|फेच-एंड-ऐड]],[[ तुलना और अदला-बदली | कमपेअर-एंड-स्वैप]], या लोड-लिंक/स्टोर-कंडीशनल जैसे[[ स्मृति बाधा | स्मृति बाधा]] के साथ [[रैखिकता]] की आवश्यकता होती है। पोर्टेबल ऑपरेटिंग सिस्टम केवल सिंक्रोनाइज़ेशन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें [[ हाइपर थ्रेडिंग |हाइपर थ्रेडिंग]] या [[ बहु प्रसंस्करण |मल्टी-प्रोसेसिंग]] जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है। {{Citation needed|date=December 2016}}


== यह भी देखें ==
== यह भी देखें ==
* [[परमाणु संचालन]]
* [[परमाणु संचालन]]
* [[लेनदेन प्रक्रिया]]
* [[लेनदेन प्रक्रिया|ट्रांज़ैक्शन प्रक्रिया]]
* [[लंबे समय तक चलने वाला लेन-देन]]
* [[लंबे समय तक चलने वाला लेन-देन|लंबे समय तक चलने वाला ट्रांज़ैक्शन]]
* पढ़ें-कॉपी-अपडेट
* रीड-कॉपी-अपडेट


==संदर्भ==
==संदर्भ==

Revision as of 18:56, 20 May 2023

डेटाबेस सिस्टम में, परमाणुता (/ˌætəˈmɪsəti/; से Ancient Greek: ἄτομος, romanized: átomos, lit.'अविभाज्य') एसीआईडी ​​(परमाणुता, संगति (डेटाबेस सिस्टम), अलगाव (डेटाबेस सिस्टम), स्थायित्व (डेटाबेस सिस्टम)) डेटाबेस लेनदेन गुणों में से एक है। एक एटॉमिक ट्रांज़ैक्शन डेटाबेस संचालन की एक अविभाज्य और अतार्किकता श्रृंखला है जैसे कि या तो सब होता है, या कुछ भी नहीं होता है। [1] परमाणुता की प्रत्याभुति केवल आंशिक रूप से होने वाले डेटाबेस के अद्यतनों को रोकता है, जो पूरी श्रृंखला को एकमुश्त अस्वीकार करने की तुलना में अधिक समस्याएँ उत्पन्न कर सकता है। नतीजतन, ट्रांज़ैक्शन को किसी अन्य डेटाबेस क्लाइंट द्वारा प्रगति पर नहीं देखा जा सकता है। एक पल में, यह अभी तक नहीं हुआ है, और अगले समय यह पहले से ही पूरी तरह से हो चुका है (या कुछ भी नहीं हुआ अगर ट्रांज़ैक्शन प्रगति में रद्द कर दिया गया था)।

परमाणु ट्रांज़ैक्शन का एक उदाहरण बैंक खाते A से खाता B में मौद्रिक हस्तांतरण है। इसमें दो ऑपरेशन होते हैं, खाते A से पैसा निकालना और खाते B में भेजना। एटॉमिक ट्रांज़ैक्शन में इन कार्यों को करना यह सुनिश्चित करता है कि डेटाबेस एक डेटा संगति में बना रहे, यानी, पैसा न तो खोया जाता है और न ही बनाया जाता है यदि उन दोनों में से कोई भी ऑपरेशन विफल हो जाता है।[2]

इसी शब्द का उपयोग डेटाबेस सिस्टम में फर्स्ट नार्मल फॉर्म की परिभाषा में भी किया जाता है, जहां यह इसके स्थान पर इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान सम्मिलित नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं, दिनांक, या अन्य प्रकार पैक किए जा सकते हैं।

ऑर्थोगोनलिटी

ट्रांज़ैक्शन के अन्य एसीआईडी ​​​​गुणों के संबंध में परमाणु पूरी तरह से ओर्थोगोनल (कम्प्यूटिंग) व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस सिस्टम) एक गतिरोध जैसे अलगाव उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है; संगति (डेटाबेस सिस्टम) भी एक अवैध लेनदेन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न लेनदेन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है।

इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है।

कार्यान्वयन

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

आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग-सिस्टम की कार्यक्षमता पर निर्भर करता है। फ़ाइल-सिस्टम स्तर पर, पीओएसआईएक्स- संगत सिस्टम सिस्टम कॉल प्रदान करते हैं जैसेओपन(2)औरफ्लॉक(2)जो एप्लिकेशन को किसी फ़ाइल को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, पीओएसआईएक्स थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं।

हार्डवेयर स्तर के लिए टेस्ट-एंड-सेट, फेच-एंड-ऐड, कमपेअर-एंड-स्वैप, या लोड-लिंक/स्टोर-कंडीशनल जैसे स्मृति बाधा के साथ रैखिकता की आवश्यकता होती है। पोर्टेबल ऑपरेटिंग सिस्टम केवल सिंक्रोनाइज़ेशन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें हाइपर थ्रेडिंग या मल्टी-प्रोसेसिंग जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है।[citation needed]

यह भी देखें

संदर्भ

  1. "atomic operation". Webopedia. 25 November 2003. Retrieved 2011-03-23. An operation during which a processor can simultaneously read a location and write it in the same bus operation. This prevents any other processor or I/O device from writing or reading memory until the operation is complete.
  2. Amsterdam, Jonathan. "Atomic File Transactions, Part 1". O'Reilly. Archived from the original on 2016-03-03. Retrieved 2016-02-28.