एटोमिसिटी (डेटाबेस सिस्टम): Difference between revisions
No edit summary |
(text) |
||
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|अविभाज्य}}) एसीआईडी (परमाणुता, [[संगति (डेटाबेस सिस्टम)]], [[अलगाव (डेटाबेस सिस्टम)]], [[स्थायित्व (डेटाबेस सिस्टम)]]) [[डेटाबेस लेनदेन]] गुणों में से एक है। एक | [[डेटाबेस सिस्टम|डेटाबेस प्रणाली]] में, परमाणुता ({{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 8: | Line 8: | ||
| 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 में मौद्रिक हस्तांतरण है। इसमें दो संचालन होते हैं, खाते 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 20: | Line 20: | ||
}}</ref> | }}</ref> | ||
इसी शब्द का उपयोग डेटाबेस | इसी शब्द का उपयोग डेटाबेस प्रणाली में फर्स्ट नार्मल फॉर्म की परिभाषा में भी किया जाता है, जहां यह इसके स्थान पर इस अवधारणा को संदर्भित करता है कि फ़ील्ड के मानों में विघटित होने के लिए कई छोटे मान सम्मिलित नहीं हो सकते हैं, जैसे एक स्ट्रिंग जिसमें एकाधिक नाम, संख्याएं, दिनांक, या अन्य प्रकार संकुलित किए जा सकते हैं। | ||
== | == लांबिकता == | ||
ट्रांज़ैक्शन के अन्य एसीआईडी गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) | | ट्रांज़ैक्शन के अन्य एसीआईडी गुणों के संबंध में परमाणु पूरी तरह से [[ ओर्थोगोनल (कम्प्यूटिंग) |लांबिक (कम्प्यूटिंग)]] व्यवहार नहीं करता है। उदाहरण के लिए, अलगाव (डेटाबेस प्रणाली) एक [[गतिरोध]] जैसे अलगाव उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है; संगति (डेटाबेस प्रणाली) भी एक अवैध ट्रांसक्शन द्वारा एक निरंतरता उल्लंघन की स्थिति में संलग्न ट्रांसक्शन को वापस रोल करने के लिए परमाणुता पर निर्भर करता है। | ||
इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है। | इसके परिणामस्वरूप, उल्लंघन का पता लगाने में विफलता और संलग्न ट्रांज़ैक्शन को वापस लेने से अलगाव या स्थिरता विफलता हो सकती है। | ||
== कार्यान्वयन == | == कार्यान्वयन == | ||
विशिष्ट रूप से, | विशिष्ट रूप से, प्रणाली यह इंगित करने के लिए कि कौन से ट्रांसक्शन प्रारम्भ हो गए हैं और कौन से समाप्त हो गए हैं, कुछ तंत्र प्रदान करके परमाणुकता को लागू करते हैं; या कोई भी परिवर्तन होने से पहले डेटा की एक प्रति ([[रीड-कॉपी-अपडेट]]) रख कर जर्नलिंग ([[जर्नलिंग फाइल सिस्टम|जर्नलिंग संचिका प्रणाली]] देखें) का उपयोग करते हुए, कई संचिका प्रणाली ने डेटा की कई प्रतियों को रखने की आवश्यकता से बचने के लिए तरीके विकसित किए हैं। डेटाबेस सामान्यतः परिवर्तनों को ट्रैक करने के लिए लॉगिंग/जर्नलिंग के कुछ रूपों का उपयोग करके इसे कार्यान्वित करते हैं। परिवर्तनों के सफलतापूर्वक होने के बाद प्रणाली लॉग्स (प्रायः[[ मेटाडाटा | मेटाडाटा]]) को आवश्यक रूप से समकालिक करता है। बाद में, क्रैश पुनराप्ति अपूर्ण प्रविष्टियों पर ध्यान नहीं देती है। हालांकि कार्यान्वयन कारकों के आधार पर अलग-अलग होते हैं जैसे कि समवर्ती स्तिथि, परमाणुता का सिद्धांत - यानी पूर्ण सफलता या पूर्ण विफलता - बनी रहती है। | ||
आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग- | आखिरकार, कोई भी एप्लिकेशन-स्तरीय कार्यान्वयन ऑपरेटिंग-प्रणाली की कार्यक्षमता पर निर्भर करता है। संचिका-प्रणाली स्तर पर, [[POSIX|पीओएसआईएक्स]]- संगत प्रणाली [[सिस्टम कॉल|प्रणाली कॉल]] प्रदान करते हैं जैसे<code>ओपन(2)</code>और<code>फ्लॉक(2)</code>जो एप्लिकेशन को किसी संचिका को परमाणु रूप से खोलने या लॉक करने की अनुमति देता है। प्रक्रिया स्तर पर, पीओएसआईएक्स थ्रेड्स पर्याप्त तुल्यकालन आदिम प्रदान करते हैं। | ||
हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें|फेच-एंड-ऐड]],[[ तुलना और अदला-बदली | कमपेअर-एंड-स्वैप]], या लोड-लिंक/स्टोर-कंडीशनल जैसे[[ स्मृति बाधा | स्मृति बाधा]] के साथ [[रैखिकता]] की आवश्यकता होती है। | हार्डवेयर स्तर के लिए [[टेस्ट-एंड-सेट]], [[लायें और जोड़ें|फेच-एंड-ऐड]],[[ तुलना और अदला-बदली | कमपेअर-एंड-स्वैप]], या लोड-लिंक/स्टोर-कंडीशनल जैसे[[ स्मृति बाधा | स्मृति बाधा]] के साथ [[रैखिकता]] की आवश्यकता होती है। सुवाह्य ऑपरेटिंग प्रणाली केवल समकालन को लागू करने के लिए रुकावट को ब्लॉक नहीं कर सकता है, क्योंकि हार्डवेयर जिसमें [[ हाइपर थ्रेडिंग |हाइपर थ्रेडिंग]] या [[ बहु प्रसंस्करण |मल्टी-प्रोसेसिंग]] जैसे समवर्ती निष्पादन का अभाव है, अब अत्यंत दुर्लभ है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 09:29, 23 May 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.