एटोमिसिटी (डेटाबेस सिस्टम): Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{short description|Property of the ACID database system}} | {{short description|Property of the ACID database system}} | ||
[[डेटाबेस सिस्टम | [[डेटाबेस सिस्टम]] में, '''एटोमिसिटी''' ({{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 6: | Line 6: | ||
| 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 | ||
Line 20: | Line 20: | ||
}}</ref> | }}</ref> | ||
इसी शब्द का उपयोग डेटाबेस | इसी शब्द का उपयोग डेटाबेस सिस्टम में फर्स्ट नार्मल फॉर्म की परिभाषा में भी किया जाता है, जहां यह इसके स्थान पर इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान सम्मिलित नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं, दिनांक, या अन्य प्रकार संकुलित किए जा सकते हैं। | ||
== लांबिकता == | == लांबिकता == | ||
ट्रांज़ैक्शन के अन्य एसीआईडी गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) |लांबिक (कम्प्यूटिंग)]] व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस | ट्रांज़ैक्शन के अन्य एसीआईडी गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) |लांबिक (कम्प्यूटिंग)]] व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस सिस्टम) एक [[गतिरोध]] जैसे अलगाव उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए एटोमिसिटी पर निर्भर करता है; संगति (डेटाबेस सिस्टम) भी एक अवैध ट्रांसक्शन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए एटोमिसिटी पर निर्भर करता है। | ||
इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है। | इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है। | ||
== कार्यान्वयन == | == कार्यान्वयन == | ||
विशिष्ट रूप से, | विशिष्ट रूप से, सिस्टम यह इंगित करने के लिए कि कौन से ट्रांसक्शन प्रारम्भ हो गए हैं और कौन से समाप्त हो गए हैं, कुछ तंत्र प्रदान करके परमाणुकता को लागू करते हैं; या कोई भी परिवर्तन होने से पहले डेटा की एक प्रति ([[रीड-कॉपी-अपडेट]]) रख कर जर्नलिंग ([[जर्नलिंग फाइल सिस्टम|जर्नलिंग संचिका सिस्टम]] देखें) का उपयोग करते हुए, कई संचिका सिस्टम ने डेटा की कई प्रतियों को रखने की आवश्यकता से बचने के लिए तरीके विकसित किए हैं। डेटाबेस सामान्यतः परिवर्तनों को ट्रैक करने के लिए लॉगिंग/जर्नलिंग के कुछ रूपों का उपयोग करके इसे कार्यान्वित करते हैं। परिवर्तनों के सफलतापूर्वक होने के बाद सिस्टम लॉग्स (प्रायः[[ मेटाडाटा | मेटाडाटा]]) को आवश्यक रूप से समकालिक करता है। बाद में, क्रैश पुनराप्ति अपूर्ण प्रविष्टियों पर ध्यान नहीं देती है। हालांकि कार्यान्वयन कारकों के आधार पर अलग-अलग होते हैं जैसे कि समवर्ती स्तिथि, एटोमिसिटी का सिद्धांत - यानी पूर्ण सफलता या पूर्ण विफलता - बनी रहती है। | ||
आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग- | आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग-सिस्टम की कार्यक्षमता पर निर्भर करता है। संचिका-सिस्टम स्तर पर, [[POSIX|पीओएसआईएक्स]]- संगत सिस्टम [[सिस्टम कॉल]] प्रदान करते हैं जैसे<code>ओपन(2)</code>और<code>फ्लॉक(2)</code>जो एप्लिकेशन को किसी संचिका को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, पीओएसआईएक्स थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं। | ||
हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें|फेच-एंड-ऐड]],[[ तुलना और अदला-बदली | कमपेअर-एंड-स्वैप]], या लोड-लिंक/स्टोर-कंडीशनल जैसे[[ स्मृति बाधा | स्मृति बाधा]] के साथ [[रैखिकता]] की आवश्यकता होती है। सुवाह्य ऑपरेटिंग | हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें|फेच-एंड-ऐड]],[[ तुलना और अदला-बदली | कमपेअर-एंड-स्वैप]], या लोड-लिंक/स्टोर-कंडीशनल जैसे[[ स्मृति बाधा | स्मृति बाधा]] के साथ [[रैखिकता]] की आवश्यकता होती है। सुवाह्य ऑपरेटिंग सिस्टम केवल समकालन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें [[ हाइपर थ्रेडिंग |हाइपर थ्रेडिंग]] या [[ बहु प्रसंस्करण |मल्टी-प्रोसेसिंग]] जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है। | ||
== यह भी देखें == | == यह भी देखें == |
Latest revision as of 13:06, 7 November 2023
डेटाबेस सिस्टम में, एटोमिसिटी (/ˌætəˈmɪsəti/; से Ancient Greek: ἄτομος, romanized: átomos, lit. 'अविभाज्य') एसीआईडी (एटोमिसिटी, संगति (डेटाबेस सिस्टम), अलगाव (डेटाबेस सिस्टम), स्थायित्व (डेटाबेस सिस्टम)) डेटाबेस ट्रांसक्शन गुणों में से एक है। एक आणव ट्रांज़ैक्शन डेटाबेस संचालन की एक अविभाज्य और अतार्किकता श्रृंखला है जैसे कि या तो सब होता है, या कुछ भी नहीं होता है। [1] एटोमिसिटी की प्रत्याभुति केवल आंशिक रूप से होने वाले डेटाबेस के अद्यतनों को रोकता है, जो पूरी श्रृंखला को एकमुश्त अस्वीकार करने की तुलना में अधिक समस्याएँ उत्पन्न कर सकता है। नतीजतन, ट्रांज़ैक्शन को किसी अन्य डेटाबेस क्लाइंट द्वारा प्रगति पर नहीं देखा जा सकता है। एक पल में, यह अभी तक नहीं हुआ है, और अगले समय यह पहले से ही पूरी तरह से हो चुका है (या कुछ भी नहीं हुआ अगर ट्रांज़ैक्शन प्रगति में रद्द कर दिया गया था)।
परमाणु ट्रांज़ैक्शन का एक उदाहरण बैंक खाते A से खाता B में मौद्रिक हस्तांतरण है। इसमें दो संचालन होते हैं, खाते A से पैसा निकालना और खाते B में भेजना। आणव ट्रांज़ैक्शन में इन कार्यों को करना यह सुनिश्चित करता है कि डेटाबेस एक डेटा संगति में बना रहे, यानी, पैसा न तो खोया जाता है और न ही बनाया जाता है यदि उन दोनों में से कोई भी संचालन विफल हो जाता है। [2]
इसी शब्द का उपयोग डेटाबेस सिस्टम में फर्स्ट नार्मल फॉर्म की परिभाषा में भी किया जाता है, जहां यह इसके स्थान पर इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान सम्मिलित नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं, दिनांक, या अन्य प्रकार संकुलित किए जा सकते हैं।
लांबिकता
ट्रांज़ैक्शन के अन्य एसीआईडी गुणों के संबंध में परमाणु पूरी तरह से लांबिक (कम्प्यूटिंग) व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस सिस्टम) एक गतिरोध जैसे अलगाव उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए एटोमिसिटी पर निर्भर करता है; संगति (डेटाबेस सिस्टम) भी एक अवैध ट्रांसक्शन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए एटोमिसिटी पर निर्भर करता है।
इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है।
कार्यान्वयन
विशिष्ट रूप से, सिस्टम यह इंगित करने के लिए कि कौन से ट्रांसक्शन प्रारम्भ हो गए हैं और कौन से समाप्त हो गए हैं, कुछ तंत्र प्रदान करके परमाणुकता को लागू करते हैं; या कोई भी परिवर्तन होने से पहले डेटा की एक प्रति (रीड-कॉपी-अपडेट) रख कर जर्नलिंग (जर्नलिंग संचिका सिस्टम देखें) का उपयोग करते हुए, कई संचिका सिस्टम ने डेटा की कई प्रतियों को रखने की आवश्यकता से बचने के लिए तरीके विकसित किए हैं। डेटाबेस सामान्यतः परिवर्तनों को ट्रैक करने के लिए लॉगिंग/जर्नलिंग के कुछ रूपों का उपयोग करके इसे कार्यान्वित करते हैं। परिवर्तनों के सफलतापूर्वक होने के बाद सिस्टम लॉग्स (प्रायः मेटाडाटा) को आवश्यक रूप से समकालिक करता है। बाद में, क्रैश पुनराप्ति अपूर्ण प्रविष्टियों पर ध्यान नहीं देती है। हालांकि कार्यान्वयन कारकों के आधार पर अलग-अलग होते हैं जैसे कि समवर्ती स्तिथि, एटोमिसिटी का सिद्धांत - यानी पूर्ण सफलता या पूर्ण विफलता - बनी रहती है।
आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग-सिस्टम की कार्यक्षमता पर निर्भर करता है। संचिका-सिस्टम स्तर पर, पीओएसआईएक्स- संगत सिस्टम सिस्टम कॉल प्रदान करते हैं जैसेओपन(2)
औरफ्लॉक(2)
जो एप्लिकेशन को किसी संचिका को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, पीओएसआईएक्स थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं।
हार्डवेयर स्तर के लिए टेस्ट-एंड-सेट, फेच-एंड-ऐड, कमपेअर-एंड-स्वैप, या लोड-लिंक/स्टोर-कंडीशनल जैसे स्मृति बाधा के साथ रैखिकता की आवश्यकता होती है। सुवाह्य ऑपरेटिंग सिस्टम केवल समकालन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें हाइपर थ्रेडिंग या मल्टी-प्रोसेसिंग जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है।
यह भी देखें
संदर्भ
- ↑ "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.
- ↑ Amsterdam, Jonathan. "Atomic File Transactions, Part 1". O'Reilly. Archived from the original on 2016-03-03. Retrieved 2016-02-28.