2009-12-30 13 views
9

मैं माईएसक्यूएल क्लस्टर 6 के लिए एनडीबी क्लस्टर को कार्यान्वित करना चाहता हूं। मैं इसे कम से कम 2 मिलियन रिकॉर्ड के साथ बहुत बड़ी डेटा संरचना के लिए करना चाहता हूं।MySQL एनडीबी क्लस्टर को लागू करने की सीमाएं क्या हैं?

मैं जानना चाहता हूं कि एनडीबी क्लस्टर को लागू करने की कोई सीमाएं हैं या नहीं। उदाहरण के लिए, एनडीबी क्लस्टर के लिए रैम आकार, डेटाबेस की संख्या, या डेटाबेस का आकार।

उत्तर

15

2 मिलियन डेटाबेस? मुझे लगता है कि आप "पंक्तियों" का मतलब है।

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

दूसरी तरफ, यदि आपको कई (अधिमानतः छोटे) समवर्ती लेनदेन (आमतौर पर एकल पंक्ति अपडेट/आवेषण/प्राथमिक कुंजी द्वारा डिलीवरी हटाएं) से निपटने की आवश्यकता होती है और आप अपने सभी डेटा को स्मृति में रखने के लिए मैंगेज करते हैं, तो यह एक बहुत स्केलेबल और प्रदर्शन समाधान हो सकता है।

आपको खुद से पूछना चाहिए कि आप क्लस्टर क्यों चाहते हैं। यदि आप बस अपने सामान्य डेटाबेस चाहते हैं जो अब आपके पास है, तो 99,999% उपलब्धता को छोड़कर, तो आप निराश हो सकते हैं। निश्चित रूप से MySQL क्लस्टर आपको बड़ी उपलब्धता और अपटाइम प्रदान कर सकता है, लेकिन आपके ऐप का वर्कलोड थिंग्स क्लस्टर के लिए बहुत अच्छा नहीं हो सकता है। इसके अलावा आप अपने अन्य पारंपरिक डेटाबेस के अपटाइम को बढ़ाने के लिए एक और उच्च उपलब्धता समाधान का उपयोग करने में सक्षम हो सकते हैं।

Btw - यहाँ दस्तावेज़ के अनुसार सीमाओं की एक सूची है: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html

लेकिन जो भी आप करते हैं, क्लस्टर आज़माते हैं, देखते हैं कि आप के लिए अपने अच्छा है। MySQL क्लस्टर "MySQL + 5 नाइन" नहीं है। जब आप कोशिश करेंगे तो आपको पता चल जाएगा।

1

एनडीबी क्लस्टर दो प्रकार के स्टोरेज विकल्पों के साथ आता है।

1. मेमोरी स्टोरेज में। 2.डिस्क स्टोरेज।

एनडीबी मेमोरी डेटा स्टोरेज में पेश किया गया और संस्करण 7.4 (MYSQL 5.6) में डिस्क स्टोरेज का समर्थन करना शुरू किया।

वर्तमान संस्करण 7.5 (MySQL 5.7) डिस्क संग्रहण का समर्थन करता है और इस मामले में डिस्क में कोई भी बाधा नहीं होगी क्योंकि डेटा डिस्क में रहने के लिए जा रहा है और सीमा आपके साथ उपलब्ध डिस्क संग्रहण स्थान पर निर्भर करती है।
डिस्क भंडारण विन्यास - https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

NDB क्लस्टर में मेमोरी भंडारण में भी काफी परिपक्व है और आप प्रबंधन नोड config.ini फ़ाइल में स्मृति के उपयोग को परिभाषित कर सकते हैं। उदाहरण - DataMemory = 3072M IndexMemory = 384M

औसत तालिका में

(स्तंभों में संग्रहीत डेटा पर निर्भर करते हैं) की कुल db आकार से कम 1 जीबी है जो आसानी से विन्यस्त किया जा सकता होना चाहिए।

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

संबंधित मुद्दे