MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

कई AWS उदाहरणों में MongoDB लोड संतुलन

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

प्रतिकृति सेट उस तरह काम करने के लिए डिज़ाइन नहीं किए गए हैं। यदि आप संतुलन लोड करना चाहते हैं तो आप वास्तव में शार्डिंग की तलाश कर रहे होंगे जो आपको ऐसा करने की अनुमति देगा।

प्रतिकृति स्वचालित विफलता के लिए है।

चूंकि, अप टू डेट रहने के लिए, आपके सदस्यों को उतने ही ऑप्स मिलेंगे जितने कि प्राथमिक में ऐसा लगता है कि यह बहुत अधिक मदद नहीं कर सकता है।

हकीकत में कई कनेक्शनों के साथ एक सर्वर होने के बजाय आपके पास कई सर्वरों पर पुराने डेटा के लिए कतार में कई कनेक्शन हैं क्योंकि सदस्य स्थिरता अंततः एसीआईडी ​​प्रौद्योगिकियों के विपरीत तत्काल नहीं है, हालांकि, कहा जा रहा है कि वे केवल 32-विषम एमएस के अनुरूप हैं जो इसका मतलब है कि प्राथमिक लोड होने पर वे सभ्य थ्रूपुट देने के लिए पर्याप्त नहीं हैं।

चूँकि रीड्स समवर्ती होते हैं, आपको वही गति मिलेगी, चाहे आप प्राइमरी से पढ़ रहे हों या सेकेंडरी से। मुझे लगता है कि आप ओपी को विराम देने के लिए एक दास को देरी कर सकते हैं लेकिन यह बदले में बड़े पैमाने पर पुराने डेटा को वापस लाएगा।

यह उल्लेख नहीं करने के लिए कि MongoDB मल्टी-मास्टर नहीं है, जैसे कि आप केवल एक नोड को लिख सकते हैं, एक बार गुलाम बनाता है अब दुनिया में सबसे उपयोगी सेटिंग नहीं है और मैंने कई बार देखा है जहां 10gen स्वयं आपको इस सेटिंग पर शार्किंग का उपयोग करने की सलाह देते हैं।

इसके लिए आपको स्वयं की कोडिंग की आवश्यकता होगी। किस बिंदु पर आप वास्तव में ऐसे डेटाबेस का उपयोग करने पर विचार करना चाहेंगे जो http://en.wikipedia का समर्थन करता हो। .org/wiki/Multi-master_replication

ऐसा इसलिए है क्योंकि आप जिस गति की तलाश कर रहे हैं, वह वास्तव में लिखने में सबसे अधिक संभावना है, जैसा कि मैंने ऊपर चर्चा की है।

यह अनुशंसित तरीका है लेकिन आपको इसके साथ चेतावनी मिल गई है। यह दुर्भाग्य से कुछ ऐसा है जो अनसुलझा है कि मल्टी-मास्टर प्रतिकृति को हल करना है, हालांकि, मल्टी-मास्टर प्रतिकृति यूरोप में ही प्लेग चूहों का अपना जहाज जोड़ती है और मैं दृढ़ता से अनुशंसा करता हूं कि आप कुछ गंभीर शोध करें इससे पहले कि आप सोचें कि क्या MongoDB वर्तमान में आपकी ज़रूरतों को पूरा नहीं कर सकता है।

आप वास्तव में कुछ भी नहीं के बारे में चिंता कर रहे होंगे क्योंकि fsync कतार को IO अड़चन से निपटने के लिए डिज़ाइन किया गया है जो आपके लेखन को धीमा कर देता है क्योंकि यह SQL में होता है और पढ़ना समवर्ती होता है, इसलिए यदि आप अपनी स्कीमा और कार्य सेट की योजना बनाते हैं तो आपको बड़े पैमाने पर प्राप्त करने में सक्षम होना चाहिए ओपी की राशि।

वास्तव में यहाँ एक 10gen कर्मचारी से एक जुड़ा हुआ प्रश्न है जो पढ़ने में बहुत अच्छा है:https:/ /stackoverflow.com/a/17459488/383478 और यह दिखाता है कि लोड के तहत MongoDB कितना थ्रूपुट हासिल कर सकता है।

यह नए दस्तावेज़ स्तर लॉकिंग के साथ जल्द ही बढ़ेगा जो पहले से ही देव शाखा में है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में दो क्षेत्रों के साथ अद्वितीय बाधा

  2. पार्स सर्वर के साथ मोंगो/बीएसओएन ऑब्जेक्ट आईडी का उपयोग करना

  3. MongoDB सूचियाँ - हर Nth आइटम प्राप्त करें

  4. कई दस्तावेज़ों को परमाणु रूप से अपडेट करें और उन्हें वापस करें

  5. BsonSerializationException तब होता है जब तत्व का नाम किसी अवधि में समाप्त होता है