MySQL एक अच्छा सामान्य उद्देश्य समाधान, और संभवत: बहुत महंगा हार्डवेयर पर आपकी प्रदर्शन आवश्यकताओं को आसानी से बनाए रखेगा। यह सभ्य डिस्क के साथ दोहरी क्वाड-कोर बॉक्स पर प्रति सेकंड कई हजार अपडेट आसानी से संभाल सकता है। अंतर्निहित एसिंक्रोनस प्रतिकृति आपको आपकी उपलब्धता आवश्यकताओं के लिए सबसे अधिक रास्ता मिल जाएगी - लेकिन यदि प्राथमिक विफल रहता है तो आप कुछ सेकंड के डेटा खो सकते हैं। इस खोए गए डेटा में से कुछ को पुनर्प्राप्त करने योग्य हो सकता है जब प्राथमिक मरम्मत की जाती है, या आपके एप्लिकेशन लॉग से पुनर्प्राप्त करने योग्य हो सकता है: चाहे आप सहन कर सकें, यह इस बात पर निर्भर है कि आपका सिस्टम कैसे काम करता है। कम हानिकारक - लेकिन धीमी - विकल्प प्राथमिक और विफलता इकाइयों के बीच साझा डिस्क के साथ MySQL Innodb का उपयोग करना है: इस मामले में, विफलता डेटा डिस्क पर ले जाएगा जब प्राथमिक डेटा के नुकसान के साथ विफल रहता है - जब तक प्राथमिक कुछ प्रकार की डिस्क आपदा नहीं थी। यदि साझा डिस्क उपलब्ध नहीं है, तो डीआरबीडी का उपयोग डिस्क ब्लॉक को फ़ेलओवर इकाई में सिंक्रनाइज़ रूप से कॉपी करके अनुकरण करने के लिए किया जा सकता है जैसा कि लिखा गया है: इसका प्रदर्शन पर असर पड़ सकता है।
इनोडब का उपयोग करके और उपरोक्त प्रतिकृति समाधानों में से एक को आपके डेटा को आपके विफलता इकाई में कॉपी किया जाएगा, जो पुनर्प्राप्ति समस्या का एक बड़ा हिस्सा हल हो गया है, लेकिन आपके सिस्टम को फिर से कॉन्फ़िगर करने के लिए अतिरिक्त गोंद की आवश्यकता है ताकि विफलता इकाई को चालू किया जा सके- लाइन। यह आमतौर पर आरएचसीएस या पेसमेकर या हार्टबीट (लिनक्स पर) या विंडोज के लिए एमएस क्लस्टर सामान जैसे क्लस्टर सिस्टम के साथ किया जाता है। ये सिस्टम टूलकिट हैं, और आप अपने हाथों को एक ऐसे समाधान में गंदे बनाने के लिए छोड़ दिए गए हैं जो आपके पर्यावरण में फिट होगा। हालांकि, इन सभी प्रणालियों के लिए एक संक्षिप्त आउटेज अवधि है, जबकि सिस्टम नोटिस करता है कि प्राथमिक विफल रहा है, और सिस्टम को विफलता इकाई का उपयोग करने के लिए पुन: कॉन्फ़िगर करता है। यह सेकंड के कुछ हो सकता है: इसे कम करने की कोशिश करने से आपकी विफलता पहचान प्रणाली बहुत संवेदनशील हो सकती है, और आपको लगता है कि आपका सिस्टम अनावश्यक रूप से विफल रहा है।
आगे बढ़ना, MySQL एनडीबी का उद्देश्य वसूली के समय को कम करने का इरादा है, और कुछ हद तक बेहतर प्रदर्शन के लिए अपने डेटाबेस को स्केल करने में मदद करता है। हालांकि, माईएसQL एनडीबी की प्रयोज्यता की काफी संकीर्ण सीमा है।सिस्टम एक वितरित डेटाबेस को एक वितरित हैश तालिका पर मैप करता है, और इसलिए जटिल क्वेरी के लिए टेबल में एकाधिक जुड़ने वाले जटिल प्रश्नों के लिए, MySQL घटक और स्टोरेज घटकों (एनडीबी नोड्स) के बीच बहुत अधिक ट्रैफिक होता है जो जटिल प्रश्नों को धीमा कर देते हैं। हालांकि, वास्तव में अच्छी तरह से फिट होने वाले प्रश्न वास्तव में बहुत तेजी से चलते हैं। मैंने इस उत्पाद को कुछ बार देखा है, लेकिन मेरे मौजूदा डेटाबेस अच्छी तरह फिट होने के लिए बहुत जटिल हैं और अच्छे प्रदर्शन के लिए बहुत से डिज़ाइन की आवश्यकता होगी। हालांकि, अगर आप एक नई प्रणाली के डिजाइन चरण में हैं, तो एनडीबी अच्छी तरह से काम करेगा यदि आप अपनी बाधाओं को ध्यान में रखते हुए ध्यान में रख सकते हैं। साथ ही, आपको लगता है कि आपको एक अच्छा एनडीबी समाधान प्रदान करने के लिए कुछ मशीनों की आवश्यकता है: कुछ MySQL नोड्स प्लस 3 या अधिक एनडीबी नोड्स - हालांकि यदि आपकी प्रदर्शन आवश्यकताओं को बहुत चरम नहीं है तो MySQL और NDB नोड्स सह-अस्तित्व में हो सकते हैं।
यहां तक कि MySQL एनडीबी डेटा साइट, व्यवस्थापक त्रुटि इत्यादि पर कुल साइट हानि - आग से निपट नहीं सकता है। इस मामले में, आपको आमतौर पर एक डीआर साइट पर चलने वाली एक और प्रतिकृति धारा की आवश्यकता होती है। यह आमतौर पर असीमित रूप से किया जाएगा ताकि अंतर-साइट लिंक पर कनेक्टिविटी ब्लिप आपके पूरे डेटाबेस को रोक न सके। यह एनडीबी के भौगोलिक प्रतिकृति विकल्प (भुगतान के लिए दूरसंचार संस्करण में) के साथ प्रदान किया जाता है, लेकिन मुझे लगता है कि MySQL 5.1 और ऊपर यह मूल रूप से प्रदान कर सकते हैं।
दुर्भाग्य से, मुझे जुकीपर और चुबबी के बारे में कुछ पता नहीं है। उम्मीद है कि कोई और इन पहलुओं को उठा सकता है।
इस प्रश्न को आप जो हासिल करने का प्रयास कर रहे हैं उसके बारे में और जानने के बिना जवाब देना मुश्किल है। यह काफी संभव है कि सरल MySQL प्रतिकृति (एनडीबी का उपयोग भी नहीं) आपके लिए पर्याप्त हो सकता है। अधिकांश डेटाबेस आर्किटेक्चर में, उत्तर देने के लिए मुख्य प्रश्न 1) मेरी रिकवरी टाइम ऑब्जेक्टिव (यानी मुझे प्राथमिक डेटाबेस क्रैश से कितनी देर तक पुनर्प्राप्त करना है) 2) मेरा रिकवरी पॉइंट उद्देश्य क्या है (यानी। प्राथमिक डेटाबेस क्रैशिंग की स्थिति में मुझे खोने के लिए बहुत अधिक डेटा खड़ा हो सकता है) इन उद्देश्यों के लिए आपकी सहिष्णुता को अधिक कठोर, समाधान (अधिक महंगा) और समाधान। – Martin
थैंक्स मार्टिन ... मैंने अभी अपनी आवश्यकताओं के साथ अपना प्रश्न अपडेट किया है .. –