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

Amazon EC2 पर उच्च प्रदर्शन MongoDB क्लस्टर

AWS पर MongoDB को परिनियोजित करते समय प्रदर्शन एक महत्वपूर्ण विचार है। हार्डवेयर के दृष्टिकोण से, EC2 पर MongoDB का प्रदर्शन मुख्य रूप से दो कारकों - RAM और डिस्क गति द्वारा निर्धारित किया जाता है। आम तौर पर (हमेशा अपवाद होते हैं), सीपीयू कोई समस्या नहीं होनी चाहिए, न ही मेमोरी, क्योंकि बहुत सारे आकार विकल्प उपलब्ध हैं (आर 3, आई 2, सी 3/सी 4) जो बड़ी मात्रा में रैम प्रदान करते हैं। सही इंस्टेंस प्रकार कैसे चुनें, इस बारे में अधिक जानकारी के लिए, मेरी अन्य ब्लॉग पोस्ट देखें: सही EC2 इंस्टेंस प्रकार कैसे चुनें

ऐतिहासिक रूप से, Amazon EBS पर डिस्क गति और विलंबता एक निरंतर समस्या रही है। हालांकि, Amazon Web Services अब डिस्क प्रदर्शन में आपकी सहायता करने के लिए कुछ विकल्प प्रदान करती है:

  1. प्रावधानित IOPS डिस्क

    प्रावधानित IOPS मॉडल में, आप डिस्क निर्माण समय पर निर्दिष्ट कर सकते हैं कि आप अपनी डिस्क का समर्थन करने के लिए कितने IOPS चाहते हैं। आप जितने अधिक IOPS का प्रावधान करेंगे, आपकी डिस्क उतनी ही अधिक थ्रूपुट संभाल पाएगी। आप 4000 आईओपीएस/डिस्क तक जा सकते हैं! हालाँकि, IOPS $0.065 प्रति IOPS माह में महंगा हो सकता है। उदाहरण के लिए, यदि आप डिस्क के लिए 4000 IOPS का प्रावधान करते हैं, तो केवल IOPS के लिए आपको $260/माह का खर्च आएगा। यदि आपके पास एकाधिक सर्वर हैं तो यह जल्दी जुड़ सकता है।

  2. स्थानीय SSD

    Amazon AWS पर डिस्क प्रदर्शन के लिए यह सबसे अच्छा विकल्प है। स्थानीय एसएसडी सभी एडब्ल्यूएस डिस्क विकल्पों में से सर्वश्रेष्ठ थ्रूपुट और विलंबता व्यवहार प्रदान करते हैं। हालाँकि, उन्हें एक कारण से 'स्थानीय' कहा जाता है। यदि, किसी भी कारण से, आपकी वर्चुअल मशीन (VM) बंद हो जाती है, तो आबंटित स्थानीय संग्रहण रिलीज़ हो जाता है। इसलिए, डेटा विश्वसनीयता का बोझ पूरी तरह से उपयोगकर्ता पर है। क्या आप दो स्थानीय एसएसडी डेटा स्टोर को दो अलग-अलग उपलब्धता क्षेत्रों (एजेड) में तैनात कर सकते हैं और इसे हल कर सकते हैं? काफी नहीं। यदि AWS में क्षेत्र-व्यापी आउटेज है, जैसा कि कुछ साल पहले यूएस-ईस्ट में हुआ था, तो आपको अपने सभी AZ में अपने स्थानीय SSD को खोने की उम्मीद करनी चाहिए। इन कारणों से, स्थानीय एसएसडी इंस्टेंस का उपयोग आपके डेटा के लिए प्राथमिक डेटा स्टोर के रूप में नहीं किया जाना चाहिए।

उच्च-प्रदर्शन MongoDB:3-नोड प्रतिकृति सेट

इन मुद्दों को ध्यान में रखते हुए, हम AWS पर अपना उच्च-प्रदर्शन MongoDB कॉन्फ़िगरेशन पेश कर रहे हैं। उच्च प्रदर्शन क्लस्टर उच्च प्रदर्शन और उच्च विश्वसनीयता दोनों को प्राप्त करने के लिए स्थानीय एसएसडी और ईबीएस प्रावधानित आईओपीएस डिस्क के एक संकर का उपयोग करते हैं। 3-नोड प्रतिकृति सेट का उपयोग करके एक विशिष्ट कॉन्फ़िगरेशन को तैनात किया जाता है।

  • प्राथमिक और द्वितीयक 1 स्थानीय SSD डिस्क का उपयोग करते हैं
  • द्वितीयक 2 ईबीएस प्रावधानित आईओपीएस का उपयोग करता है

हाई परफॉर्मेंस MongoDB 3-नोड रेप्लिका सेट

इसका क्या अर्थ है? चूंकि प्राथमिक और माध्यमिक 1 स्थानीय एसएसडी पर चल रहे हैं, इसलिए आपको अपनी एडब्ल्यूएस मशीनों से सर्वोत्तम संभव डिस्क प्रदर्शन मिलता है। कोई और नेटवर्क-आधारित ईबीएस नहीं, बस तेज स्थानीय एसएसडी धधक रहा है। आपके प्राइमरी को पढ़ता और लिखता है और सेकेंडरी 1 से भी पढ़ता है एसएसडी गति पर काम करेगा। सेकेंडरी 2 डेटा डिस्क के लिए EBS प्रावधानित IOPS का उपयोग करता है और आप अपने क्लस्टर के लिए कॉन्फ़िगर करने के लिए IOPS की मात्रा को कॉन्फ़िगर कर सकते हैं। यह कॉन्फ़िगरेशन आपके डेटा के लिए पूर्ण सुरक्षा प्रदान करता है, यहां तक ​​कि उस स्थिति में भी जब आप स्थानीय SSD डिस्क का उपयोग करते हैं। वर्तमान में हम चार आकारों की पेशकश कर रहे हैं - लार्ज, एक्सलार्ज, एक्स2एक्सलार्ज, एक्स4एक्सलार्ज। अधिक विवरण के लिए हमारे मूल्य पृष्ठ पर ब्रिंग योर ओन क्लाउड (बीओओसी) और समर्पित क्लस्टर अनुभाग देखें।

यदि आपके पास बहुत अधिक लेखन कार्यभार है, तो यह संभव है कि आपका EBS इंस्टेंस आपके SSD इंस्टेंस के साथ तालमेल न बिठा सके। इस परिदृश्य में, कुछ विकल्प उपलब्ध हैं और हमारी सहायता टीम को आपके माध्यम से चलने में खुशी होगी। बैकअप, पुनर्स्थापना, क्लोन, स्केलिंग, कॉम्पैक्ट, आदि सहित हमारी सभी मौजूदा कार्यक्षमता हमेशा की तरह काम करती रहती है। यदि आपके और प्रश्न हैं, तो कृपया [email protected] पर हमसे संपर्क करें।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoimport का उपयोग करके 1 से अधिक json फ़ाइल आयात करें

  2. क्या एग्रीगेशन फ्रेमवर्क मोंगो में प्रक्षेपण के क्रम में फ़ील्ड प्राप्त करना संभव है?

  3. कुल 16MB सीमा से बचें

  4. $addFields जब कोई $मैच नहीं मिला

  5. MongoDB संग्रह से सभी आइटम कैसे निकालें