एटोमिसिटी (डेटाबेस सिस्टम)

डेटाबेस सिस्टम में, परमाणुता (से ἄτομος) एसीआईडी ​​(परमाणुता, संगति (डेटाबेस सिस्टम), अलगाव (डेटाबेस सिस्टम), स्थायित्व (डेटाबेस सिस्टम)) डेटाबेस लेनदेन गुणों में से एक है। एक एटॉमिक ट्रांज़ैक्शन डेटाबेस संचालन की एक अविभाज्य और अतार्किकता श्रृंखला है जैसे कि या तो सब होता है, या कुछ भी नहीं होता है। परमाणुता की प्रत्याभुति केवल आंशिक रूप से होने वाले डेटाबेस के अद्यतनों को रोकता है, जो पूरी श्रृंखला को एकमुश्त अस्वीकार करने की तुलना में अधिक समस्याएँ उत्पन्न कर सकता है। नतीजतन, ट्रांज़ैक्शन को किसी अन्य डेटाबेस क्लाइंट द्वारा प्रगति पर नहीं देखा जा सकता है। एक पल में, यह अभी तक नहीं हुआ है, और अगले समय यह पहले से ही पूरी तरह से हो चुका है (या कुछ भी नहीं हुआ अगर ट्रांज़ैक्शन प्रगति में रद्द कर दिया गया था)।

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

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

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

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

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

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

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

यह भी देखें

 * परमाणु संचालन
 * ट्रांज़ैक्शन प्रक्रिया
 * लंबे समय तक चलने वाला ट्रांज़ैक्शन
 * रीड-कॉपी-अपडेट