ACID तपाईंको डेटाबेस डेटा को रक्षा गर्दछ
डाटाबेस डिजाइन को ACID मोडेल डेटाबेस सिद्धान्त को सबै भन्दा पुराना र सबै भन्दा महत्वपूर्ण अवधारणाहरु मध्ये एक हो। यसले चार लक्ष्यहरू सेट गर्दछ जुन हरेक डेटाबेस व्यवस्थापन प्रणाली प्राप्त गर्न प्रयास गर्नुपर्छ: परमाणुपन, स्थिरता, अलगाव र स्थायित्व। यी चार लक्ष्यहरू भेट्न असफल भएका एक सम्बन्धी डेटाबेस विश्वसनीय मान्न सकिँदैन। एउटा डाटाबेस जुन यो विशेषताहरू भएको छ ACID-compliant मानिन्छ।
ACID परिभाषित
चलो एक क्षण ले यी हरेक विशेषताहरु विस्तार देखि जाँच गर्न को लागी:
- परमाणुत्वले भन्छ कि डेटाबेस परिमार्जनले "सबै वा केही पनि" नियम पछ्याउनु पर्छ। प्रत्येक लेनदेन "परमाणु" भनिएको छ भने यदि लेनदेन विफल भयो भने, एकमात्र लेनदेन असफल भयो। यो महत्वपूर्ण छ कि डाटाबेस व्यवस्थापन प्रणाली कुनै पनि DBMS, अपरेटिङ सिस्टम वा हार्डवेयर असफलता को बावजूद लेनदेन को परमाणु प्रकृति को बनाए राख्छ।
- सम्मिश्रणले भन्छ कि केवल मान्य डेटा डाटाबेसमा लेखिएको छ। यदि, केहि कारणको लागि, एक लेनदेन निष्पादित गरिएको छ कि डाटाबेस को स्थिरता नियम उल्लङ्घन गर्दछ, सम्पूर्ण लेनदेन फिर्ता फिर्ता गरिनेछ, र डेटाबेस उन नियमहरु संग एक राज्य को पुनर्स्थापित गरिनेछ। अर्कोतर्फ, यदि एक लेनदेन सफलतापूर्वक कार्यान्वयन गर्दछ, यसले डेटाबेस एक राज्यबाट लैजान्छ जुन नियमहरूसँग अर्को राज्यका नियमहरूसँग मेल खान्छ।
- अलगावको आवश्यकता छ कि एकै समयमा धेरै लेनदेनहरू एकअर्काको कार्यान्वयनलाई असर गर्दैन। उदाहरणका लागि, यदि जो पनि एक डेटाबेस विरुद्ध एक लेनदेन मा एकै पटक माईरी छ कि एक फरक लेनदेन को मुद्दे को रूप मा, दुवै लेनदेन को एक अलग तरिका मा डेटाबेस मा चलना चाहिए। डेटाबेसले मरियमको वा कार्यान्वयन गर्न अघि सम्पूर्ण लेनदेनको प्रदर्शन गर्नु पर्छ। यसले जो मध्यवर्ती डेटा पढ्ने जो कि लेनदेनको मरियमको लेनदेनको भागको साइड इफेक्टको रुपमा उत्पन्न गर्दछ जुन अन्ततः डाटाबेसमा प्रतिबद्ध हुँदैन। ध्यान दिनुहोस् कि अलगाव सम्पत्तिले कुन लेनदेन पहिलो कार्यान्वयन गर्ने छैन - केवल लेनदेन एक-अर्कासँग हस्तक्षेप गर्दैन
- स्थायित्व सुनिश्चित गर्दछ कि डेटाबेसमा गरेको कुनै पनि लेनदेन गुमाउनु हुँदैन। अस्थायीता डेटाबेस ब्याकअप र ट्राफिकेशन लग्स प्रयोग को माध्यम ले सुनिश्चित गरिएको छ जुन कुनै पनि सफ्टवेयर या हार्डवेयर विफलता को बावजूद प्रतिबद्ध लेनदेन को बहाल गर्न को लागी सुविधा प्रदान गर्दछ।
ACID कसरी कार्यमा काम गर्दछ
डाटाबेस प्रशासकहरूले ACID लागू गर्न धेरै रणनीतिहरू प्रयोग गर्छन्।
एक परमाणुपन र स्थायित्व लागू गर्न को लागी एट्रीसिटी र टिकाऊपन को लागी लेखन-अगाडी लगिंग (वाल) हो जसमा कुनै ट्रांजैक्शन विवरण पहिले लगिन को लागी लिखित छ जसमा रिडू र जानकारी को पूर्वनिर्धारित शामिल छ। यो सुनिश्चित गर्दछ कि, कुनै पनि प्रकार को डेटाबेस असफलता दिइन्छ, डेटाबेस को जाँच गर्न सक्छन् लग इन गर्नुहोस् र यसको सामग्री डेटाबेसको अवस्थामा तुलना गर्नुहोस्।
परमाणुपन र स्थायित्वलाई सम्बोधित गर्न अर्को तरिका हो जुन छायाँ प्यानिंगमा डेटा छायांकन हुँदा छाया पृष्ठ सिर्जना गरिन्छ। क्वेरीको अद्यावधिकहरू डेटाबेसमा वास्तविक डेटाको सट्टामा छाया पृष्ठमा लेखिएका छन्। डेटाबेस आफैले मात्र संशोधन गरिन्छ जब सम्पादन पूर्ण हुन्छ।
अर्को रणनीतिलाई दुई-चरण प्रतिबद्ध प्रोटोकल भनिन्छ, विशेष गरी वितरित डाटाबेस प्रणालीमा उपयोगी। यो प्रोटोकलले दुई चरणहरूमा डेटा परिमार्जन गर्न अनुरोधलाई अलग गर्दछ: एक प्रतिबद्ध-अनुरोध चरण र एक प्रतिबद्ध चरण। अनुरोध चरणमा, सबै सञ्जालहरूमा सबै डीबीएमएसहरू लेनदेनबाट प्रभावित हुन्छन् भनेर पुष्टि गर्नुपर्दछ कि तिनीहरूले यसलाई प्राप्त गरेका छन् र लेनदेनको कार्य गर्ने क्षमता छ। एकपटक पुष्टि सबै प्रासंगिक डीबीएमएसबाट प्राप्त हुन्छ, प्रतिबद्ध चरण पूरा गर्दछ जसमा डाटा वास्तवमा परिमार्जन गरिएको छ।