क्या हार्डवेयर एक अच्छा MongoDB सर्वर बनाता है? कहां से लाएं?


13

मान लीजिए कि आप अभी dell.com पर हैं और आप अपने छोटे स्टार्टअप के लिए अपने MongoDB डेटाबेस को चलाने के लिए एक सर्वर खरीद रहे हैं। आपको हज़ारों लिखने और प्रति मिनट (लेकिन छोटी वस्तुओं) को पढ़ने के लिए वस्तुतः दसियों को संभालना होगा। क्या आप 2 प्रोसेसर के लिए जाएंगे? रैम पर अधिक निवेश?

मैंने सुना है (सही होने पर मैं गलत हूं) MongoDB सबसे अधिक रैम पर हैंडल करता है और फिर डिस्क पर सब कुछ फ्लश करता है, उस स्थिति में मुझे सीपीयू पर एक बड़े एल 2 कैश के साथ निवेश करना चाहिए, शायद> 40 जीबी रैम और एक ठोस राज्य ड्राइव .. सही?

क्या मैं उच्च अंत (~ $ 11,309, 2 महंगे प्रोसेसर, 96GB RAM) सर्वर या 2x (~ $ 6,419, 2 महंगे प्रोसेसर, 12GB RAM) सर्वर के साथ बेहतर होगा?

क्या डेल ठीक है या आपके पास बेहतर sugestions हैं? (मैं अमेरिका के बाहर, पुर्तगाल पर हूं)


3
आप अपने स्टार्टअप के लिए EC2 जैसी किसी चीज़ के साथ जाने के बजाय हार्डवेयर क्यों खरीद रहे हैं? कम से कम शुरुआत में जब तक आपको पता नहीं होगा कि आपकी आवश्यकताएं क्या हैं।

टॉम से सहमत। बादल पर कुछ उदाहरण क्यों नहीं?

1
@ मीक्सदेव, आप गलत हैं: "लिनक्स, NUMA और MongoDB एक साथ अच्छा काम नहीं करते हैं।" स्रोत: mongodb.org/display/DOCS/NUMA
शादोक

जवाबों:


19

प्रारंभ में, आप RAM पर बीफ़ करना चाहेंगे। आपको जिन RAM की आवश्यकता होगी, वे उन डेटा की मात्रा पर निर्भर करते हैं, जिन्हें आप संग्रहीत कर रहे हैं, संग्रह की संख्या, उन संग्रहों पर अनुक्रमणिका, डेटा एक्सेस पैटर्न इत्यादि।

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

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


1
हमारे अनुभव में, जब मानगो प्रश्नों के लिए RAM से बाहर है, तो न केवल क्वेरी डॉक्स पर जाती है (हमेशा के लिए, 5 मिनट, 15 मिनट, घंटा ...), लेकिन आवेषण विफल होने लगते हैं।
जोंसोम ने मोनिका को


6

MongoDB के साथ आप जो चाहते हैं वह RAM है। और फिर कुछ और रैम। रैम खरीदने से कोई नुकसान नहीं हो सकता।


3

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


3

पहला - जितना हो सके उतना RAM खरीदें। दूसरा सीमित कारक डिस्क की गति है। RAID मदद करता है। SSD मदद करता है। अधिक शार्क मदद करते हैं। डिस्क दक्षता और आवश्यक प्रतिक्रिया समय की तुलना करके थ्रूपुट को मापें, फिर तय करें कि आपके पास क्या बजट है।


1

मुझे आश्चर्य होगा कि क्या एक लिनक्स क्लस्टर्ड समाधान एक बेहतर, सस्ता विकल्प होगा।

MongoDB आपको कई सर्वरों पर डेटा वितरित करने देता है। सर्वर को सम्मानित करना एक के साथ असंभव होगा।

मुझे लगा कि MongoDB अगले कदमों में से एक है जो यह पता लगाने के बाद लिया गया था कि एक सम्मानजनक सर्वर पर एक रिलेशनल डेटाबेस को तैनात करना पर्याप्त पैमाने पर नहीं था।


1

प्रति मिनट हजारों लिखना कुछ भी नहीं है। आप सभ्य हार्डवेयर पर प्रति सेकंड 50.000 या अधिक लिख सकते हैं । हार्डवेयर चश्मा वास्तव में इस बात पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं। बड़े डेटाबेस के लिए सामान्य रूप से पर्याप्त RAM और एक तेज़ CPU के पास एक तेज़ IO सिस्टम महत्वपूर्ण हैं ...


0

अपने हार्डवेयर को डिजाइन करने से पहले एक ठोस आधार रेखा स्थापित करना महत्वपूर्ण है। आम तौर पर अनुभवी mongoDB लोगों द्वारा पूछे जाने वाले इस तरह के प्रश्नों की अपेक्षा करें, इससे पहले कि कोई भी आपके प्रश्न का उत्तर देने पर विचार कर सके।

वर्तमान आवेदन आँकड़े (यदि कोई हो)

  • कुल रिकॉर्ड आज तक?
  • भंडारण का अनुमान शुरू?
  • % वृद्धि / माह की उम्मीद है?
  • औसत दस्तावेज़ का आकार?

डेटा अंतर्ग्रहण कार्य भार

  • नई प्रविष्टि / दिन, शिखर और औसत प्रति सेकंड?
  • अपडेट / दिन, शिखर और औसत प्रति सेकंड?
  • पढ़ता है / दिन, शिखर और औसत / दूसरा?
  • प्रति क्वेरी में लौटे दस्तावेज़ों की औसत संख्या: 70
  • बटुआ / दिन, चोटी और औसत / दूसरा: कोई नहीं
  • क्या बल्क लोड / बल्क अपडेट होंगे? यदि हां, तो कितनी बड़ी और कितनी बार?
  • कितने विभिन्न प्रकार के दस्तावेज होंगे?
  • प्रत्येक के कितने?
  • आप अपने दस्तावेज़ों (नमूना डॉक्टर) की तरह दिखने की क्या उम्मीद करते हैं?

क्वेरी पैटर्न और प्रदर्शन की उम्मीदें

  • रिस्पांस पढ़ें SLA?
  • रिस्पांस SLA लिखें?
  • क्या सीमा-आधारित या यादृच्छिक हैं?

प्रत्याशित अभिगम पैटर्न

  • द्वितीयक सूचकांक की संख्या की आवश्यकता है?
  • विशेषताओं की संख्या?
  • स्थितियों को क्रमबद्ध करें?
  • एकल या यौगिक?
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.