मैं वर्तमान में मोंगोडीबी के साथ एक सर्वर पर अपनी वेबसाइट चलाता हूं। मेरे सर्वर पर मेरे पास दो घटक हैं (1) एक क्रॉलर जो प्रति घंटा चलता है और मेरे मोंगोडीबी इंस्टेंस (2) को डेटा को जोड़ता है जो क्रॉलर इंडेक्स से पढ़ता है और उपयोगकर्ता वैयक्तिकरण डीबी को भी लिखता है। मैं ऑटो-स्केलिंग के लिए अमेज़ॅन ईसी 2 में जा रहा हूं, ताकि वेब-सर्वर ऑटो-स्केल कर सके, इसलिए मैं वेब-ट्रैफिक बढ़ने के रूप में सर्वर की संख्या बढ़ा सकता हूं। मुझे अपने क्रॉलर के लिए ऑटो-स्केलिंग की आवश्यकता नहीं है। यह मोंगो डीबी का उपयोग करने के लिए एक चुनौती है। मैं सोच रहा हूँ कि मेरी सबसे अच्छा विकल्पईसी 2 पर मोंगो डीबी स्केलिंग या क्या मुझे डायनेमो डीबी पर स्विच करना चाहिए?
- मेरी कोड के लिए कम से कम परिवर्तन पर अनुकूलन करने के लिए है (कोड पर्ल में है) मूल DB में डेटा को खोने के बारे में चिंता किए बिना जोड़ने के लिए/वेब सर्वर को दूर
- की क्षमता
- कम लागत
अल्पकालिक में, डीबी निश्चित रूप से सभी machies भर में स्मृति में फिट करने के बाद से यह 2 जीबी के तहत किया जाएगा सक्षम हो जाएगा। उपयोगकर्ता वैयक्तिकरण डीबी को पुनर्निर्मित नहीं किया जा सकता है, इसलिए यह अधिक महत्वपूर्ण है, जबकि इंडेक्स को आसानी से फिर से बनाया जा सकता है। वर्तमान मोंगोडीबी क्रॉल इंडेक्स में लगभग 100k प्रविष्टियां हैं जो ~ 15 अलग-अलग कॉलम पर हैं। यह गति के लिए बनाया गया है, क्योंकि मैं एक ऑनलाइन डेटिंग साइट पर काम कर रहा हूं (जो कई तरीकों से खोजने योग्य है)।
मैं कुछ ही विकल्प
- उपयोगकर्ता निजीकरण की दुकान के लिए SimpleDB का प्रयोग करें, और सूचकांक के लिए MongoDB के बारे में सोच सकते हैं। इंडेक्स सभी मशीनों में दोहराना है, हालांकि, मुझे मोंगोडीबी प्रतिकृति के बारे में बहुत कुछ पता नहीं है। SimpleDB को
- चाल सब कुछ
- DynamoDB
के लिए सब कुछ ले जाएँ मैं SimpleDB और/या DynamoDB बारे में बहुत ज्यादा नहीं जानता। लेखों के आधार पर ऐसा लगता है जैसे डायनेमो डीबी एक प्राकृतिक विकल्प होगा, लेकिन मुझे अच्छा पर्ल समर्थन के बारे में निश्चित नहीं है, भले ही मेरे पास सभी कॉलम, इंडेक्स इत्यादि हो। क्या किसी के पास अनुभव है या कोई सलाह है?
धन्यवाद जो! यह बहुत अंतर्दृष्टिपूर्ण है। तो स्पष्टीकरण के लिए, क्या आपका मोंगो डेटा 3 मशीनों में फैला है या क्या यह 3 मशीनों में दोहराया गया है? मेरे मोंगो स्केलिंग के साथ मेरे वेब सर्वर के स्केलिंग को अलग करने का यह एक अच्छा विचार है। क्या आपके मोंगो सर्वर स्केल करते समय कोई डाउनटाइम है? क्या आपको अधिक क्षमता की आवश्यकता होने पर मोंगो को स्केल करने के अच्छे तरीकों पर कोई पॉइंटर्स/लिंक हैं? – ZenoriInc
हम एक प्रतिकृति सेट, एक मास्टर, दो प्रतिकृतियों के साथ 3 अलग मशीनों का उपयोग करते हैं। यह मुख्य रूप से स्वत: असफल होने के लिए है, इसलिए यदि हमारा मास्टर मर जाता है, तो प्रतिकृतियों में से एक को मास्टर बनने के लिए प्रोत्साहित किया जाता है। प्रत्येक प्रतिकृति डेटा में डेटा वही है। – Joe
जब डेटा स्केल करने की बात आती है तो आप शेरिंग के रूप में जाना जाता है। यह वह जगह है जहां आप कई मोंगो उदाहरणों में एक या अधिक संग्रहों से डेटा फैलाते हैं। यह आपको क्षैतिज पैमाने पर स्केल करने की अनुमति देता है। आपका डेटा कई भौतिक मशीनों में फैला हुआ है, और एक प्रॉक्सी मोंगो को बताती है कि शर्ड कुंजी के आधार पर कहां जाना है। हमने यह सुनिश्चित करने के लिए बुनियादी ढांचा स्थापित किया है कि यह सभी काम करता है, लेकिन वर्तमान में इसका उपयोग करने के लिए वारंट के लिए पर्याप्त डेटा नहीं है, एक बार हम करते हैं कि हम उन उदाहरणों को बूट करेंगे। – Joe