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

ईसी 2 सर्वर या एडब्ल्यूएस सिंपलडीबी पर मोंगोडीबी?

SimpleDB की कुछ मापनीयता सीमाएँ हैं। आप केवल शार्डिंग द्वारा स्केल कर सकते हैं और इसमें मोंगोडब या कैसेंड्रा की तुलना में उच्च विलंबता है, इसकी एक थ्रूपुट सीमा है और इसकी कीमत अन्य विकल्पों की तुलना में अधिक है। स्केलेबिलिटी मैनुअल है (आपको शार्प करना होगा)।

यदि आपको व्यापक क्वेरी विकल्पों की आवश्यकता है और आपके पास उच्च पढ़ने की दर है और आपके पास इतना डेटा नहीं है तो मोंगोडब बेहतर है। लेकिन स्थायित्व के लिए, आपको मास्टर/गुलाम के रूप में कम से कम 2 मोंगोडब सर्वर इंस्टेंस का उपयोग करने की आवश्यकता है। अन्यथा आप अपने डेटा का अंतिम मिनट खो सकते हैं। स्केलेबिलिटी मैनुअल है। यह simpledb से बहुत तेज़ है। ऑटोशर्डिंग को 1.6 संस्करण में लागू किया गया है।

कैसेंड्रा के पास कमजोर क्वेरी विकल्प हैं लेकिन यह पोस्टग्रेस्क्ल जितना ही टिकाऊ है। यह मोंगो जितना तेज़ है और उच्च डेटा आकार पर तेज़ है। कैसेंड्रा पर रीड ऑपरेशंस की तुलना में राइट ऑपरेशंस तेज होते हैं। यह ec2 उदाहरणों को फायर करके स्वचालित रूप से स्केल कर सकता है, लेकिन आपको कॉन्फ़िगरेशन फ़ाइलों को थोड़ा सा संशोधित करना होगा (यदि मुझे सही याद है)। यदि आपके पास टेराबाइट्स डेटा कैसंड्रा आपकी सबसे अच्छी शर्त है। आपके डेटा को शार्प करने की कोई आवश्यकता नहीं है, इसे पहले दिन से वितरित किया गया था। आपके पास अपने सभी डेटा के लिए कितनी भी प्रतियां हो सकती हैं और यदि कुछ सर्वर मृत हैं तो यह स्वचालित रूप से लाइव से परिणाम वापस कर देगा और मृत सर्वर के डेटा को दूसरों को वितरित कर देगा। यह अत्यधिक दोष सहिष्णु है। आप किसी भी संख्या में उदाहरण शामिल कर सकते हैं, अन्य विकल्पों की तुलना में इसे स्केल करना बहुत आसान है। इसमें मजबूत .net और java क्लाइंट विकल्प हैं। उनके पास कनेक्शन पूलिंग, लोड बैलेंसिंग, डेड सर्वर की मार्किंग,...

. है

एक अन्य विकल्प बड़े डेटा के लिए हडूप है लेकिन यह अन्य लोगों की तरह रीयलटाइम नहीं है, आप डेटावेयरहाउसिंग के लिए हडूप का उपयोग कर सकते हैं। न तो कैसेंड्रा या मोंगो में लेन-देन होता है, इसलिए यदि आपको लेनदेन की आवश्यकता है तो पोस्टग्रेस्क्ल एक बेहतर फिट है। एक अन्य विकल्प Amazon RDS है, लेकिन इसका प्रदर्शन खराब है और कीमत अधिक है। यदि आप डेटाबेस या simpledb का उपयोग करना चाहते हैं तो आपको डेटा कैशिंग की भी आवश्यकता हो सकती है (उदाहरण:memcached)।

वेब ऐप्स के लिए, यदि आपका डेटा छोटा है, तो मैं मोंगो की सलाह देता हूं, अगर यह बड़ा है तो कैसेंड्रा बेहतर है। आपको मोंगो या कैसेंड्रा के साथ कैशिंग परत की आवश्यकता नहीं है, वे पहले से ही तेज़ हैं। मैं simpledb की अनुशंसा नहीं करता, जैसा आपने कहा था, यह आपको अमेज़ॅन पर भी लॉक कर देता है।

यदि आप सी #, जावा या स्कैला का उपयोग कर रहे हैं तो आप एक इंटरफ़ेस लिख सकते हैं और इसे डेटा एक्सेस लेयर के लिए मोंगो, माइस्क्ल, कैसेंड्रा या किसी अन्य चीज़ के लिए कार्यान्वित कर सकते हैं। यह गतिशील भाषाओं (जैसे रगड़, अजगर, PHP) में आसान है। यदि आप चाहें तो उनमें से दो के लिए आप एक प्रदाता लिख ​​सकते हैं और केवल एक कॉन्फ़िगरेशन परिवर्तन द्वारा स्टोरेज को रनटाइम में बदल सकते हैं, वे सभी संभव हैं। मोंगो, कैसेंड्रा और सरलडीबी के साथ विकास डेटाबेस से आसान है, और वे स्कीमा से मुक्त हैं, यह आपके द्वारा उपयोग किए जा रहे क्लाइंट लाइब्रेरी/कनेक्टर पर भी निर्भर करता है। सबसे सरल मोंगो है। कैसेंड्रा में प्रति टेबल केवल एक इंडेक्स है, इसलिए आपको अन्य इंडेक्स को स्वयं प्रबंधित करना होगा, लेकिन 0.7 रिलीज के साथ कैसंड्रा सेकेंडरी इंडेक्स संभव होगा जैसा कि मुझे पता है। आप उनमें से किसी के साथ भी शुरुआत कर सकते हैं और भविष्य में इसे बदल सकते हैं यदि आपको करना है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब रेप्लिकासेट होस्ट नाम परिवर्तन त्रुटि

  2. MongoDB एग्रीगेट फ्रेमवर्क - ग्रुप बाय ईयर

  3. अपने नए बनाए गए MongoDB उदाहरणों में डेटा आयात करें

  4. MongoDB दस्तावेज़ों और संग्रहों को दृष्टिगत रूप से प्रबंधित करना

  5. मोंगोडब में सरणी के एन-वें तत्व को कैसे हटाएं