
ACID Properties डेटाबेस transaction गुणों का एक सेट है जिसका उद्देश्य त्रुटि, बिजली की विफलता आदि की स्थिति में भी validity की गारंटी देना है। ACID Properties आपके लेन-देन (transaction) को सुरक्षित और सुसंगत बनाती है। ACID Properties सुनिश्चित करते हैं कि डेटाबेस और लेनदेन संघर्ष और त्रुटियों से मुक्त हैं।
इस article में हम डेटाबेस transaction और ACID properties के बारे में विस्तार से चर्चा करेंगे और हम DBMS Concurrency control and Transaction in Hindi के बारे में भी जानेंगे। यदि आप डेटाबेस कंपनियों की तैयारी कर रहे हैं तो इस article को पढ़कर आप इस विषय पर बहुत सारे interview questions पा सकते हैं।
MYSQL, PostgreSQL जैसे रिलेशनल डेटाबेस में ACID properties होते हैं। अगर हम NoSQL डेटाबेस की बात करें तो MongoDB 4.0 भी मल्टी डॉक्यूमेंट transaction के लिए ACID को सपोर्ट करता है।
Table of Contents
Database क्या है?
What is database in Hindi? डेटाबेस (Database) एक ऐसा प्लेटफॉर्म है जहां हम भविष्य के संदर्भ के लिए डेटा रख सकते हैं। एक डेटाबेस interrelated data का एक संग्रह है। डेटाबेस में प्रत्येक entry को डेटाबेस शब्दावली में एक रिकॉर्ड के रूप में संदर्भित किया जाता है। एक डेटा फ़ील्ड(data field), या simple एक फ़ील्ड(field), प्रत्येक रिकॉर्ड में निहित जानकारी की मात्रा है। प्रत्येक क्षेत्र का एक अलग नाम होता है जिसका उपयोग इसे पहचानने के लिए किया जाता है। प्रत्येक प्रविष्टि डेटाबेस में एक निश्चित स्थान रखती है।
Database Transaction क्या है?
Transaction मूल चीज है जो डेटाबेस लेनदेन को परिभाषित करती है। दूसरे शब्दों में, अगर हम डेटाबेस के संदर्भ में बात करते हैं तो transaction निर्देशों का एक संग्रह है, सभी transaction को ACID गुणों का पालन करना चाहिए। ACID गुण database की integrity को बनाए रखने में मदद करते हैं।
लेन-देन (Transaction) कई कार्यों का एक समूह है। जिसमें कई चरण होते हैं और सभी चरणों का अपना अलग कार्य होता है। Transaction दो प्रकार के होते हैं:
- Implicit Transactions
- Explicit Transactions
Transaction का उदाहरण, एक बैंक खाते से दूसरे बैंक खाते में धन का स्थानांतरण। यदि हम एक खाते से पैसा डेबिट करते हैं और दूसरे खाते में जमा करते हैं, तो पूरी प्रक्रिया एक ही transaction है।
ACID Properties को चार गुणों में विभाजित किया गया है: Atomicity, Consistency, Isolation, and Durability.
ACID Properties in DBMS with Examples in Hindi
अब तक हमने सीखा है कि ACID Properties को चार गुणों में विभाजित किया जाता है। आइए प्रत्येक को विस्तार से और उदाहरणों के साथ जानते हैं।
Atomicity
Database में सभी परिवर्तन एक ही ऑपरेशन में किए जाते हैं। यानी सभी बदलाव एक साथ किए जाने चाहिए या बिल्कुल नहीं। दूसरे शब्दों में कहें तो लेन-देन पूरी तरह से निष्पादित या पूरी तरह से विफल होना चाहिए, यदि लेनदेन का एक हिस्सा विफल हो जाता है, तो सभी लेनदेन विफल हो जाएंगे।
उदाहरण के लिए – मनी ट्रांसफर transaction में, डेबिट और क्रेडिट दोनों एक साथ होने चाहिए या बिल्कुल नहीं होने चाहिए।
Consistency
किसी भी transaction के बाद database एक consistent स्थिति में होना चाहिए।
Transaction पूरा होने के बाद database में data में कोई बदलाव नहीं होना चाहिए सिवाय उन परिवर्तनों को छोड़कर जो हमने जानबूझकर किए हैं।
Isolation
एक से अधिक transaction एक साथ निष्पादित होने पर एक transaction दूसरे को प्रभावित नहीं करना चाहिए।
Durability
यदि transaction पूरा हो गया है और data commit है, तो सॉफ्टवेयर और सिस्टम की विफलता के बाद भी changes database में स्थायी रूप से बने रहना चाहिए।
उदाहरण के लिए, एक आवेदन में जो एक खाते से दूसरे खाते में धन हस्तांतरित करता है, यह संपत्ति सुनिश्चित करती है कि प्रत्येक खाते में किए गए परिवर्तनों को reverse नहीं किया जा सकता है।
किसी भी Transaction में ऊपर के चार विशेषताएं होनी चाहिए। इसमें स्थिति के आधार पर इनमें से कुछ गुणों को बदला जा सकता है। इसमें एक transaction किसी अन्य transaction को प्रभावित नहीं कर सकता है, यही तो Isolation Property है।।
Advantages of following ACID Properties in Hindi
ACID का यह गुण किसी सिस्टम विफलता के दौरान data हानि को रोकता है, जैसे कि error और power failure।
Which of the following is not included in the ACID property of the database?
निम्नलिखित में से कौन डेटाबेस की ACID संपत्ति में शामिल नहीं है?
- Atomicity
- Isolation
- Deadlock-freedom
- Consistency
Answer : 3 (Deadlock-freedom)
FAQ – ACID Properties in DBMS
दो प्रकार के Success and Failure, यानि सफलता और विफलता।
BEGIN Transaction, SAVE Transaction, COMMIT Transaction और ROLLBACK Transaction
ACID सुविधाओं के कारण जटिल transaction भी आत्म-निहित और भरोसेमंद होंगे।
Transaction पूरी तरह से आधुनिक data source जैसे MSSQL सर्वर, Oracle, और DB2 द्वारा समर्थित हैं।
यह भी पढ़ें:
- HashMap Internal workings and importance of hashcode in HashMap
- DBMS के बारे में और DBMS की विशेषताएं और प्रकार
- Structured and unstructured data
- What is data independence with example?
- Architecture of DBMS in Hindi
Note: हालाँकि, ACID properties डेटाबेस का उपयोग करने का सबसे महत्वपूर्ण हिस्सा हैं। इन दिनों अनुप्रयोग में एक डेटाबेस बहुत बड़ा हो सकता है, डेटाबेस से जुड़ने के लिए हजारों नेटवर्क वाले कंप्यूटरों का उपयोग किया जा सकता है, और ACID को बनाए रखना बहुत संभव नहीं है। और database performance वैसा नहीं हो सकता जैसा आप चाहते हैं।
Reference(s):
https://en.wikipedia.org/wiki/ACID