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

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

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

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

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

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

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

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

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

यह भी देखें

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