डेटाबेस इंजन वास्तव में क्या है?


14

मैं कई बार http://en.wikipedia.org/wiki/Database_engine पर परिभाषा के माध्यम से गया हूँ :

एक डेटाबेस इंजन (या "भंडारण इंजन") एक अंतर्निहित सॉफ्टवेयर घटक है जो एक डेटाबेस प्रबंधन प्रणाली (DBMS) डेटाबेस से डेटा बनाने, पढ़ने, अपडेट करने और हटाने (CRUD) का उपयोग करता है ।

मुझे समझ में नहीं आ रहा है कि क्या करना बाकी है, क्या सीआरयूडी वह सब नहीं है जो डेटाबेस करते हैं?

यदि डेटाबेस इंजन इन कार्यों को करता है, तो बाकी डेटाबेस क्या करता है?


ब्रायन के उत्तर को बोल्ड ( बाकी डेटाबेस क्या करता है? ) में प्रस्तुत प्रश्न के सीधे उत्तर के लिए , देखें। CRUD के अलावा एक डेटाबेस इंजन क्या करता है, इस बारे में अधिक स्पष्टता के लिए, Leigh का उत्तर देखें।
15

जवाबों:


15

CRUD का मतलब किसी डेटाबेस के लिए आवश्यक विशेषताओं को परिभाषित करना है क्योंकि यह लगातार स्टोरेज से संबंधित है। यह सब कुछ का वर्णन करने के लिए नहीं है जो एक डेटाबेस इंजन द्वारा किया जा सकता है।

तुलना करने के लिए, मौलिक रूप से एक वाहन परिवहन के लिए उपयोग किया जाने वाला उपकरण है। जबकि सच है, इस परिभाषा में आधुनिक ऑटोमोबाइल में निहित सभी विवरण शामिल नहीं हैं।

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


यह एक बहुत ही कॉम्पैक्ट, अभी तक पूर्ण, उत्तर है। +1 !!!
रोलैंडमाइसीडीडीबीए

विशिष्ट प्रकार के वाहन बनाम वाहन के बारे में बीटीडब्ल्यू अच्छा सादृश्य।
रोलैंडमाइसीडीडीबीए

मेरी राय में, Transactions, ACID गारंटी, आइसोलेशन लेवल, Concurrency control, Buffers, caches सभी डेटाबेस इंजन द्वारा ही संभाले जाते हैं। मैं ऐसा क्यों कहता हूं? ... इस की जाँच करें linux.org/threads/an-introduction-to-mysql-storage-engines.4220
Shatu

@Leigh, स्टोरेज इंजन की एक विशेषता (कमी की) नहीं है और न ही DBMS की? यदि यह डीबीएमएस की विशेषता है, तो मारियाबेड / माईएसक्यूएल कुछ स्टोरेज इंजनों के लिए लेनदेन क्यों नहीं कर सकता है जैसे कि MyISAM?
पचेरियर

@ स्पेसर - यह उन सिस्टमों के लिए सही हो सकता है जो डीबीएमएस और स्टोरेज इंजन के बीच अलगाव करते हैं, दूसरों के लिए यह अर्थ व्यर्थ है।
लेह रिफ़ेल

12

कुछ डेटाबेस कई इंजन चला सकते हैं, जो नौकरी के लिए सबसे उपयुक्त हैं। उदाहरण के लिए, मेरे कई एप्लिकेशन अधिकांश डेटा (प्रमुख बाधाओं और पंक्ति स्तर लॉकिंग) के लिए InnoDB का उपयोग करते हैं, ऑडिट ट्रेल के लिए सत्र डेटा (तेज़, कम प्रसंस्करण) और संग्रह के लिए MyISAM (संपीड़ित और सम्मिलित / केवल चयन करें, कोई अपडेट या हटाएं) नहीं।

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


वास्तव में बोल्ड में प्रस्तुत प्रश्न का उत्तर देने के लिए धन्यवाद!
nealmcb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.