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

ClusterControl द्वारा समर्थित सर्वाधिक लोकप्रिय NoSQL डेटाबेस

NoSQL ("न केवल SQL") डेटाबेस डिज़ाइन के लिए एक दृष्टिकोण है जो रिलेशनल डेटाबेस में पाए जाने वाले पारंपरिक संरचनाओं के बाहर डेटा के भंडारण और क्वेरी को सक्षम बनाता है। यह मुख्य रूप से असंरचित डेटा से निपटने के लिए बनाया गया था जो कि दस्तावेज़, ऑडियो, वीडियो, सोशल नेटवर्क आदि जैसे कई स्रोतों से उत्पन्न होता है। नोएसक्यूएल डेटाबेस आधुनिक अनुप्रयोगों के लिए सर्वोत्तम हैं जहां डेटा मॉडल विकसित होते हैं और स्केलेबिलिटी आवश्यक है। इस डेटाबेस ने हाल के वर्षों में लोकप्रियता हासिल की है क्योंकि कंपनियों को अब पहले से कहीं अधिक असंरचित डेटा से निपटना पड़ता है। यह मॉडल डेटा को पारंपरिक संबंधपरक तालिकाओं से अलग तरीके से संग्रहीत करता है ताकि संबंधित डेटा को एकल डेटा संरचना में रखा जा सके। एक NoSQL डेटाबेस को चार श्रेणियों में विभाजित किया जा सकता है:

  • दस्तावेज़ स्टोर

  • की-वैल्यू डेटाबेस

  • वाइड-कॉलम स्टोर

  • ग्राफ़ डेटाबेस

नोएसक्यूएल डेटाबेस का उपयोग अक्सर फुर्तीली परियोजनाओं में किया जाता है क्योंकि वे लचीले डेटा मॉडल पेश करते हैं। यह डेवलपर्स को स्कीमा अपडेट से निपटने के बजाय व्यावसायिक तर्क और एल्गोरिदम पर ध्यान केंद्रित करने की अनुमति देता है। यदि आप अनुमान लगाते हैं कि आपके एप्लिकेशन के डेटा मॉडल को समय के साथ परिवर्तनों को समायोजित करने के लिए लचीला बने रहने की आवश्यकता है, तो NoSQL डेटाबेस का लचीला स्कीमा दृष्टिकोण आपकी आवश्यकताओं के लिए उपयुक्त हो सकता है।

डीबी-इंजन के अनुसार, शीर्ष दो नोएसक्यूएल डेटाबेस (जुलाई 2021) मोंगोडीबी (रैंकिंग:5) और रेडिस (रैंकिंग:6) हैं। दिलचस्प बात यह है कि ये NoSQL डेटाबेस 12 साल पहले मौजूद नहीं थे। वे कैसे अस्तित्व में आए और आकर्षण, लोकप्रियता हासिल की और उन्होंने डेटाबेस प्रबंधन प्रणाली के परिदृश्य को बदल दिया, यह इस ब्लॉग पोस्ट का प्राथमिक सार है।

मोंगोडीबी

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

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

MongoDB 10gen की बदौलत अस्तित्व में आया (इससे पहले इसका नाम बदलकर MongoDB Inc कर दिया गया था), 2007 में इसे विकसित करना शुरू किया और फरवरी 2009 में अपनी पहली GA रिलीज़ के साथ बाहर आया। तब से, MongoDB तेजी से विकसित हुआ है और आधुनिक अनुप्रयोगों के लिए सबसे रोमांचक डेटाबेस परियोजनाओं में से एक माना जाता है। StackOverflow डेवलपर सर्वे 2020 के अनुसार, MongoDB डेटाबेस तकनीक बनी हुई है जिसे डेवलपर्स सबसे अधिक सीखना चाहते हैं। इस लेखन के समय, उन्होंने अभी-अभी संस्करण 5.0 (13 जुलाई, 2021) जारी किया है और इसमें कई उल्लेखनीय विशेषताएं हैं, जैसे कि लाइव रीशर्डिंग, स्थानीय समय-श्रृंखला डेटा समर्थन, और संस्करणित एपीआई, जो बहु-क्लाउड वातावरण के लिए उपयुक्त है।

MongoDB की एक अन्य महत्वपूर्ण विशेषता प्रतिकृति, प्रतिकृति सेट और शार्डिंग जैसी अंतर्निहित उच्च उपलब्धता सुविधाएं हैं। यह क्षैतिज रूप से मापनीय है, जो कार्यभार को कम करने और आपके व्यवसाय को आसानी से बढ़ाने में मदद करता है। यह एक घरेलू सर्वसम्मति प्रोटोकॉल के माध्यम से प्रतिकृति प्रदान करता है जो रफ़ से प्रेरणा लेता है और अपने क्वेरी राउटर के माध्यम से डेटा को वितरित कर सकता है जिसे मोंगोस कहा जाता है। आप आसानी से MongoDB प्रतिकृति सेट और शार्प किए गए क्लस्टर सेटअप को परिनियोजित करने के लिए ClusterControl का उपयोग कर सकते हैं।

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

कुछ बड़ी कंपनियां अपने डेटा स्टोर के रूप में MongoDB पर बहुत अधिक निर्भर करती हैं, जैसे Forbes, Toyota, SAP, Cisco, eBay और Adobe। MongoDB को डेटाबेस की दुनिया में गेम-चेंजर माना जाता है, जो इंटरनेट युग में सबसे महत्वपूर्ण डेटाबेस प्लेटफॉर्म में से एक बन गया है।

ClusterControl ने संस्करण जुलाई 2013 (v1.2.3) के बाद से MongoDB का समर्थन किया है और तब से लगातार सुधार कर रहा है। क्लस्टरकंट्रोल ने उस समय टोकुएमएक्स (टोकुटेक के फ्रैक्टल ट्री के साथ मोंगोडीबी) का भी समर्थन किया था, इससे पहले कि अपस्ट्रीम के मुख्य डिजाइन परिवर्तनों के कारण इसे मोंगोडीबी 3 में बहिष्कृत किया गया था। हाल के उल्लेखनीय संवर्द्धन में, ClusterControl ने MongoDB के लिए Percona बैकअप के लिए समर्थन पेश किया है, जो MongoDB शार्प क्लस्टर और प्रतिकृति सेट के लगातार बैकअप प्राप्त करने के लिए एक वितरित, कम प्रभाव वाला समाधान है। MongoDB प्रोजेक्ट के लिए Percona बैकअप इनहेरिट किया गया है और mongodb_consistent_backup को प्रतिस्थापित करता है, जो अब सक्रिय रूप से विकसित या समर्थित नहीं है।

रेडिस

Redis एक और सबसे लोकप्रिय NoSQL डेटाबेस तकनीक है, जो डेटा के एक ही हिस्से तक लगातार हाई-स्पीड एक्सेस पर ध्यान केंद्रित करती है, भले ही डेटा के वे हिस्से बड़े हों। मई 2019 में, सल्वाटोर सैनफिलिप्पो ने रेडिस, उर्फ ​​रिमोट डिक्शनरी सर्वर का प्रारंभिक संस्करण जारी किया, और उस समय मेम्केड नामक पहले से ही स्थापित ओपन-सोर्स इन-मेमोरी डेटाबेस समाधान के लिए अपनी समृद्ध विशेषताओं के कारण सभी का ध्यान आकर्षित किया है।

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

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

Redis एक बहुत तेज़ सरल की-वैल्यू स्टोर से लगातार डेटा स्टोरेज में विकसित हुआ है और एक मैसेजिंग ब्रोकर और क्यूइंग सिस्टम के रूप में उपयोग किया जा रहा है। यह बाहरी डेटा स्रोतों के लिए डेटा या अनुरोधों के दोहराव को कम करते हुए अनुप्रयोगों की प्रक्रियाओं के लिए वास्तविक स्टेटलेसनेस को सक्षम बनाता है। StackOverflow डेवलपर सर्वे 2020 के अनुसार, Redis डेटाबेस तकनीक के शीर्ष पर बना हुआ है जिसे डेवलपर्स ने निरंतर विकसित करने में रुचि व्यक्त की है। इस लेखन के समय, Redis 6 एक नया, अधिक परिष्कृत उपयोगकर्ता-आधारित ACL कार्यान्वयन, अंतर्निहित ट्रैफ़िक SSL एन्क्रिप्शन और बहु-थ्रेडेड I/O के साथ नवीनतम संस्करण है, हालांकि Redis प्रक्रिया अभी भी सिंगल-थ्रेडेड है ।

Redis परिनियोजन ClusterControl 1.9.0 में हमारे नए अगली पीढ़ी के ClusterControl GUI पैकेज का उपयोग करके समर्थित है जो एक अलग इंस्टॉलेशन में उपलब्ध है। इस लेखन के समय, हम इसे प्रौद्योगिकी पूर्वावलोकन के साथ टैग किए गए क्लस्टरकंट्रोल v2 के रूप में संदर्भित करते हैं जो केवल AOF और RDB के बैकअप प्रबंधन के साथ Redis Sentinel के साथ 5 नोड्स तक Redis प्रतिकृति की तैनाती का समर्थन करता है। यदि आप रुचि रखते हैं, तो कृपया इस गाइड को देखें कि इसे कैसे स्थापित किया जाए।

सारांश

MongoDB और Redis अभी बाजार में दो सबसे अच्छे NoSQL डेटाबेस समाधान हैं और माना जाता है कि वे शीर्ष 10 डेटाबेस रैंकिंग में काफी लंबे समय तक अपनी स्थिति बनाए रखते हैं। यही कारण है कि ClusterControl दोनों डेटाबेस तकनीकों का समर्थन करता है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 'MongoDB 3.0 में सॉकेट फ़ाइल त्रुटि को अनलिंक करने में विफल'

  2. MongoDB के लिए आधिकारिक C# ड्राइवर का उपयोग करके 'आईडी' द्वारा एक 'दस्तावेज़' कैसे निकालें?

  3. MongoDB फ़ील्ड नामों में किन वर्णों की अनुमति नहीं है?

  4. पता लगाएं कि अगले 30 दिनों में मोंगो के साथ किसी को जन्मदिन मिला है या नहीं

  5. एक मोंगोडब दस्तावेज़ के औसत मूल्य की गणना करें