ऑनवर्क्स लिनक्स और विंडोज ऑनलाइन वर्कस्टेशन

प्रतीक चिन्ह

वर्कस्टेशन के लिए मुफ्त होस्टिंग ऑनलाइन

<पिछला | विषय-सूची | अगला>

1.3. डेटाबेस इंजन


जबकि उबंटू पैकेज द्वारा प्रदान किया गया MySQL का डिफ़ॉल्ट कॉन्फ़िगरेशन पूरी तरह कार्यात्मक है और अच्छा प्रदर्शन करता है, आगे बढ़ने से पहले कुछ चीजें हैं जिन पर आप विचार करना चाह सकते हैं।


MySQL को डेटा को विभिन्न तरीकों से संग्रहीत करने की अनुमति देने के लिए डिज़ाइन किया गया है। इन विधियों को डेटाबेस या स्टोरेज इंजन के रूप में जाना जाता है। दो मुख्य इंजन हैं जिनमें आपकी रुचि होगी: InnoDB और MyISAM। भंडारण इंजन अंतिम उपयोगकर्ता के लिए पारदर्शी होते हैं। MySQL सतह के नीचे चीजों को अलग तरीके से संभालेगा, लेकिन चाहे कोई भी स्टोरेज इंजन उपयोग में हो, आप डेटाबेस के साथ उसी तरह से इंटरैक्ट करेंगे।


प्रत्येक इंजन के अपने फायदे और नुकसान होते हैं।


हालांकि यह संभव है, और तालिका स्तर पर डेटाबेस इंजनों को मिश्रण और मिलान करना फायदेमंद हो सकता है, ऐसा करने से आपके द्वारा की जाने वाली प्रदर्शन ट्यूनिंग की प्रभावशीलता कम हो जाती है क्योंकि आप संसाधनों को एक में समर्पित करने के बजाय दो इंजनों के बीच विभाजित कर देंगे।

• MyISAM दोनों में से पुराना है। यह कुछ परिस्थितियों में InnoDB से तेज़ हो सकता है और केवल पढ़ने योग्य कार्यभार का समर्थन करता है। कुछ वेब एप्लिकेशन को MyISAM के आसपास ट्यून किया गया है (हालांकि इसका मतलब यह नहीं है कि वे InnoDB के तहत धीमे हो जाएंगे)। MyISAM FULLTEXT डेटा प्रकार का भी समर्थन करता है, जो बड़ी मात्रा में टेक्स्ट डेटा की बहुत तेज़ खोज की अनुमति देता है। हालाँकि MyISAM केवल लिखने के लिए पूरी टेबल को लॉक करने में सक्षम है। इसका मतलब है कि एक समय में केवल एक ही प्रक्रिया किसी तालिका को अपडेट कर सकती है। किसी भी एप्लिकेशन के रूप में जो टेबल स्केल का उपयोग करता है, यह एक बाधा साबित हो सकता है। इसमें जर्नलिंग का भी अभाव है, जिससे दुर्घटना के बाद डेटा को पुनर्प्राप्त करना कठिन हो जाता है। निम्नलिखित लिंक उत्पादन डेटाबेस पर MyISAM का उपयोग करने के बारे में विचार के लिए कुछ बिंदु प्रदान करता है1.

• InnoDB एक अधिक आधुनिक डेटाबेस इंजन है, जिसे ACID के अनुरूप बनाया गया है2 जो गारंटी देता है कि डेटाबेस लेनदेन विश्वसनीय रूप से संसाधित होते हैं। राइट लॉकिंग किसी तालिका के भीतर पंक्ति स्तर के आधार पर हो सकती है। इसका मतलब है कि एक ही टेबल पर एक साथ कई अपडेट हो सकते हैं। डेटा कैशिंग को डेटाबेस इंजन के भीतर मेमोरी में भी नियंत्रित किया जाता है, जिससे फ़ाइल ब्लॉक के बजाय अधिक कुशल पंक्ति स्तर के आधार पर कैशिंग की अनुमति मिलती है। ACID अनुपालन को पूरा करने के लिए सभी लेनदेन को मुख्य तालिकाओं से स्वतंत्र रूप से जर्नल किया जाता है। यह अधिक विश्वसनीय डेटा पुनर्प्राप्ति की अनुमति देता है क्योंकि डेटा स्थिरता की जाँच की जा सकती है।


MySQL 5.5 के अनुसार InnoDB डिफ़ॉल्ट इंजन है, और MyISAM की तुलना में इसकी अत्यधिक अनुशंसा की जाती है जब तक कि आपको इंजन के लिए अद्वितीय सुविधाओं की विशिष्ट आवश्यकता न हो।


OnWorks पर शीर्ष OS क्लाउड कंप्यूटिंग: