सैद्धांतिक सीमाएं हैं, जैसा कि मैं नीचे दिखाऊंगा, लेकिन निचली सीमा भी सुंदर . है उच्च। सीमाओं की सही गणना करना आसान नहीं है, लेकिन परिमाण का क्रम पर्याप्त होना चाहिए।
mmapv1
वास्तविक सीमा कुछ चीजों पर निर्भर करती है जैसे कि शार्प नामों की लंबाई और समान (यदि आपके पास उनमें से कुछ सौ हजारों हैं), लेकिन यहां वास्तविक जीवन डेटा के साथ एक मोटा गणना है।
प्रत्येक शार्ड को कॉन्फ़िगरेशन डीबी में कुछ स्थान की आवश्यकता होती है, जो कि किसी अन्य डेटाबेस के रूप में एक मशीन या प्रतिकृति सेट में 32TB तक सीमित है। मेरे द्वारा प्रशासित सर्वरों पर, config.shards
. में एक प्रविष्टि का औसत आकार 112 बाइट्स है। इसके अलावा, प्रत्येक खंड को लगभग 250 बाइट्स मेटाडेटा जानकारी की आवश्यकता होती है। आइए हम 64MB के करीब के इष्टतम चंक आकार मान लें।
हमारे पास प्रति सर्वर अधिकतम 500,000 विखंडू हो सकते हैं। 500,000 * 250बाइट प्रति शार्ड जानकारी के लिए 125MB के बराबर है। इसलिए, यदि हम सब कुछ अधिकतम करते हैं, तो प्रति शार्ड, हमारे पास 125.000112 एमबी प्रति शार्ड है। 32TB को उस मान से विभाजित करने से हमें पता चलता है कि हम एक क्लस्टर में अधिकतम 256,000 से कम शार्क रख सकते हैं।
बदले में प्रत्येक शार्ड 32TB मूल्य का डेटा रख सकता है। 256,000 * 32TB 8.19200 एक्साबाइट या 8,192,000 टेराबाइट है। हमारे उदाहरण के लिए यही सीमा होगी।
मान लीजिए इसके 8 एक्साबाइट हैं। अब तक, इसका आसानी से अनुवाद किया जा सकता है "सभी व्यावहारिक उद्देश्यों के लिए पर्याप्त"। आपको एक इंप्रेशन देने के लिए:लाइब्रेरी ऑफ कांग्रेस (संग्रह आकार के मामले में दुनिया की सबसे बड़ी लाइब्रेरी में से एक) द्वारा रखे गए सभी डेटा में ऑडियो, वीडियो और डिजिटल सामग्री सहित आकार में लगभग 20TB डेटा का अनुमानित आकार होता है। आप इसे हमारे सैद्धांतिक MongoDB क्लस्टर में लगभग 400,000 बार फिट कर सकते हैं। ध्यान दें कि यह रूढ़िवादी मूल्यों का उपयोग करते हुए अधिकतम आकार की निचली सीमा है।
वायर्ड टाइगर
अब अच्छे हिस्से के लिए:वायर्ड टाइगर स्टोरेज इंजन में यह सीमा नहीं है:डेटाबेस का आकार सीमित नहीं है (चूंकि कितने डेटाफाइल का उपयोग किया जा सकता है इसकी कोई सीमा नहीं है), इसलिए हमारे पास असीमित संख्या में शार्क हो सकते हैं। यहां तक कि जब हमारे पास mmapv1 पर चलने वाले और WT पर केवल हमारे कॉन्फिगर सर्वर होते हैं, तो a का आकार लगभग असीमित हो जाता है - 64 बिट सिस्टम पर 16.8M TB RAM की सीमा कहीं न कहीं समस्या पैदा कर सकती है और config.shard
संग्रह को डिस्क पर स्वैप करने के लिए, सिस्टम को ठप करने के लिए। मैं केवल अनुमान लगा सकता हूं, क्योंकि मेरा कैलकुलेटर उस क्षेत्र में संख्याओं के साथ काम करने से इनकार करता है (और मैं इसे हाथ से करने के लिए बहुत आलसी हूं), लेकिन मैं यहां दो अंकों के योटाबाइट क्षेत्र में सीमा का अनुमान लगाता हूं (और उस स्थान को होस्ट करने के लिए आवश्यक स्थान कहीं टेक्सास के आकार में)।
निष्कर्ष
शार्प्ड वातावरण में अधिकतम डेटा आकार के बारे में चिंता न करें। कोई फर्क नहीं पड़ता, यह सबसे रूढ़िवादी दृष्टिकोण के साथ भी काफी दूर है। शेरिंग का प्रयोग करें, और आप कर चुके हैं। बीटीडब्ल्यू:यहां तक कि 32 टीबी भी बहुत अधिक डेटा है:मुझे पता है कि अधिकांश क्लस्टर कम डेटा और शार्प रखते हैं क्योंकि आईओपीएस और रैम का उपयोग एकल नोड्स क्षमता से अधिक हो गया है।