MySQL फैब्रिक और MySQL क्लस्टर में क्या अंतर है


9

मैं MySQL की दुनिया में नया हूँ और दोनों द्वारा भ्रमित किया गया था। क्या वे दोनों उच्च उपलब्धता और पैनापन प्रदान नहीं करते हैं?

इसके अलावा, WebScaleSQL की तुलना कैसे होती है?

जवाबों:


20

इन 3 चीजों का एक-दूसरे से कोई लेना-देना नहीं है। मैं आपको एक परिचय दूंगा और आप अलग से अधिक बारीकियों को खोज या पूछ सकते हैं:

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

MySQL फैब्रिक , अजगर में लिखे गए उपकरण / मिडलवेयर का एक सेट है जो एक प्रतिकृति GTID वातावरण में नियमित MySQL सर्वर के सेट के प्रबंधन की अनुमति देता है । यह प्रति क्लस्टर नहीं है, लेकिन यह एक के प्रबंधन की सुविधा देता है। इसमें (अभी के लिए) जावा और पायथन कनेक्टर के लिंक हैं, इसलिए यह सर्वरों की शार्पिंग और उच्च उपलब्धता को स्वचालित रूप से संभाल सकता है, लेकिन यह नियमित रूप से MySQL सर्वर के शीर्ष पर एक परत है और नियमित प्रतिकृति (InnoDB जैसे नियमित स्टोरेज इंजन का उपयोग किया जा सकता है) । प्रतिकृति, अब तक अतुल्यकालिक (या अर्ध-तुल्यकालिक) है, इसलिए यह स्वयं द्वारा सर्वोत्तम स्थिरता और सुरक्षा प्रदान नहीं कर सकता है; यह भविष्य के 5.7 संस्करणों में बदल सकता है। हालाँकि, इस दृष्टिकोण में विलंबता पर कम ओवरहेड है और MySQL DBA की अधिक परिचित प्रतिकृति तकनीक का उपयोग करता है। MySQL फैब्रिक पड़ोस में एक अपेक्षाकृत नया बच्चा है, इसलिए अभी तक बहुत विस्तारित नहीं हुआ है, लेकिन यह प्रतिस्पर्धी के गलेरा आधारित समूहों के लिए ओरेकल की प्रतिक्रिया (साथ में समकालिक प्रतिकृति के साथ) प्रतीत होता है।

यदि आपको शार्क और हा की आवश्यकता है, तो आप 2 पूर्व उत्पादों में से एक का उपयोग कर सकते हैं, लेकिन शायद पूरी तरह से अलग परिदृश्यों के लिए।

WebScaleSQL एक HA समाधान नहीं है, पिछले वाले की तरह, यह सिर्फ नाम है जो कई कंपनियों ने MySQL के एक कांटा / संस्करण को दिया था जहां वे विशिष्ट पैच साझा करते हैं जिनकी उन्हें आवश्यकता होती है और शायद Oracle ने आवेदन नहीं किया है। जहां तक ​​मुझे पता है कि यह फेसबुक, ट्विटर, लिंक्डइन और गूगल द्वारा बनाया गया है, और वे उस सामान्य आधार के शीर्ष पर अपने स्वयं के MySQL संस्करणों को फिर से बनाते हैं। वे समर्थन या बाइनरी रिलीज़ प्रदान नहीं करते हैं। यदि आप एक अंतिम उपयोगकर्ता हैं, तो आपको संभवतः इसका उपयोग करने की परवाह नहीं करनी चाहिए, लेकिन आपको यह देखने के लिए प्रोजेक्ट पर नज़र रखनी चाहिए कि इससे क्या विकसित होगा, या अन्य विक्रेताओं से प्रतिक्रिया मिलेगी।

यदि आप MySQL HA / स्केलिंग के साथ सीखने / शुरू करने की कोशिश कर रहे हैं, तो मूल MySQL प्रतिकृति के साथ शुरू करें (यह सबसे अच्छा नहीं हो सकता है, लेकिन यह सबसे आसान काम है) सिक], जीटीआईडी-प्रतिकृति, एनडीबी, गलेरा, टंगस्टन।


आप DRBD नाम के बाद "[sic]" क्यों डालते हैं? मैंने उनकी ओर देखा है और वे तकनीकी दृष्टि से काफी प्रभावशाली लग रहे हैं।
वैर

DRBD एक ब्लॉक-स्तरीय तकनीक है, जिसका अर्थ है कि यह DB या इसके बफ़र्स के बारे में कुछ नहीं जानता है। OLTP सिस्टम के लिए शानदार प्रदर्शन की उम्मीद न करें; यह सक्रिय-सक्रिय नहीं हो सकता (रीड-ओनली मोड में भी नहीं), यदि MySQL क्रैश हो जाता है, तो आपको ठीक हो जाना होगा क्योंकि यह स्थानीय रूप से दुर्घटनाग्रस्त हो गया था, और यह आपको डेटाबेस के भ्रष्टाचार से बचाता नहीं है। यह तार्किक स्तर पर एक "साझा कुछ भी नहीं" तकनीक नहीं है- यह एक वितरित RAID के अधिक है, इसलिए यह MySQL के लिए 100% फिट नहीं है। यह कम-राइट लोड के लिए अच्छा है या यदि आपको एक ही समय में कई प्रोटोकॉल वितरित करने की आवश्यकता है। रो-आधारित अर्ध-सिंक प्रतिकृति अन्यथा बेहतर है।
jynus

@ Vérace ... यह सारांश में, एक उपयोग मामला आपत्ति (MySQL क्लस्टरिंग) है, मेरे पास अन्य मामलों में तकनीक के खिलाफ कुछ भी नहीं है, जहां उच्च स्तर के प्रोटोकॉल उपलब्ध नहीं हो सकते हैं / यह एक बेहतर फिट हो सकता है।
jynus

मैं पूरी तरह से समझ गया - बफरिंग के बारे में बात अच्छी तरह से की गई है - DRBD, जैसा कि आप कहते हैं, MySQL के इंटर्नल के बारे में कुछ भी नहीं जानता है - अर्थात जो सामान प्रतिबद्ध है लेकिन अभी तक डिस्क पर नहीं लिखा गया है वह दुर्घटना की स्थिति में खो जाएगा।
वेरेस

2

MySQL फैब्रिक को एक MySQL फैब्रिक नोड / प्रक्रिया (जो प्रबंधन कार्य करता है) और फैब्रिक-जागरूक कनेक्टर के रूप में कार्यान्वित किया जाता है, जो प्रश्नों और लेनदेन को सीधे सबसे उपयुक्त MySQL सर्वर में रूट करने में सक्षम हैं। MySQL फैब्रिक नोड अपने स्टेट स्टोर (जो एक MySQL डेटाबेस है) में स्टेट और राउटिंग जानकारी स्टोर करता है।

MySQL क्लस्टर एक ऐसी तकनीक है जो साझा-कुछ नहीं प्रणाली में इन-मेमोरी डेटाबेस के क्लस्टरिंग को सक्षम करती है। साझा-कुछ भी नहीं आर्किटेक्चर सिस्टम को बहुत सस्ते हार्डवेयर के साथ काम करने में सक्षम बनाता है, और हार्डवेयर या सॉफ्टवेयर के लिए विशिष्ट आवश्यकताओं के साथ।

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