जैसा कि हम आज की दुनिया में देखते हैं कि अधिकांश लोग MongoDB पर स्विच कर रहे हैं, अभी भी कई ऐसे हैं जो पारंपरिक रिलेशनल डेटाबेस का उपयोग करना पसंद करते हैं। यहां, हम चर्चा करेंगे कि हमें MongoDB क्यों चुनना चाहिए? जैसे हर सिक्के के दो पहलू होते हैं, वैसे ही इसके अपने फायदे और सीमाएं होती हैं।
तो, क्या आप MongoDB सीखने के कारणों का पता लगाने के लिए तैयार हैं?
MongoDB क्यों?
चूंकि यह एक नोएसक्यूएल डेटाबेस है, इसलिए इसमें मोंगोडीबी सीखने के कई कारण हैं। इन कारणों ने MongoDB की विश्वव्यापी लोकप्रियता की नींव रखी है।
MongoDB के लोकप्रिय होने के ये कुछ कारण हैं।
- एकत्रीकरण ढांचा
- बीएसओएन प्रारूप
- साझा करना
- तदर्थ प्रश्न
- कैप्ड संग्रह
- अनुक्रमण
- फ़ाइल संग्रहण
- प्रतिकृति
- मोंगोडीबी प्रबंधन सेवा (एमएमएस)
MongoDB सीखने के प्रमुख कारण
i) एग्रीगेशन फ्रेमवर्क
हम इसे MongoDB द्वारा बहुत ही कुशल तरीके से उपयोग कर सकते हैं। MapReduce डेटा के बैच प्रोसेसिंग और एकत्रीकरण कार्यों के लिए भी इस्तेमाल किया जा सकता है। MapReduce कुछ और नहीं बल्कि एक प्रक्रिया है, जिसमें बड़े डेटासेट क्लस्टर पर समानांतर और वितरित एल्गोरिदम की मदद से परिणाम को प्रोसेस और जेनरेट करेंगे।
इसमें अपने आप में संचालन के दो सेट होते हैं, वे हैं:मानचित्र () और कम ()।
- मानचित्र(): यह डेटा को फ़िल्टर करने और फिर उस डेटासेट पर सॉर्टिंग करने जैसे कार्य करता है।
- कम करें(): यह मैप () ऑपरेशन के बाद सभी डेटा को सारांशित करने का ऑपरेशन करता है।
एग्रीगेशन फ्रेमवर्क
ii) बीएसओएन प्रारूप
यह JSON जैसा स्टोरेज एक फॉर्मेट है। बीएसओएन बाइनरी जेएसओएन के लिए खड़ा है . BSON, JSON का बाइनरी-एन्कोडेड क्रमांकन है जैसे दस्तावेज़ और MongoDB इसका उपयोग करता है, जब संग्रह में दस्तावेज़ों को संग्रहीत किया जाता है। हम दिनांक और बाइनरी जैसे डेटा प्रकार जोड़ सकते हैं (JSON समर्थित नहीं है)।
बीएसओएन प्रारूप यहां पर प्राथमिक कुंजी के रूप में _id का उपयोग करता है। जैसा कि कहा गया है कि _id का उपयोग प्राथमिक कुंजी के रूप में किया जा रहा है, इसलिए इसका एक अनूठा मान है जिसे ObjectId कहा जाता है, जो या तो एप्लिकेशन ड्राइवर या MongoDB सेवा द्वारा उत्पन्न होता है।
बीएसओएन प्रारूप को और बेहतर तरीके से समझने के लिए नीचे एक उदाहरण दिया गया है:
उदाहरण-
{ "_id": ObjectId("12e6789f4b01d67d71da3211"), "title": "Key features Of MongoDB", "comments": [ ... ] }
बीएसओएन प्रारूप का उपयोग करने का एक अन्य लाभ यह है कि यह दस्तावेज़ गुणों को आंतरिक रूप से अनुक्रमित और मानचित्रित करने में सक्षम बनाता है। चूंकि इसे आकार और गति में अधिक कुशल होने के लिए डिज़ाइन किया गया है, यह MongoDB के पढ़ने/लिखने के थ्रूपुट को बढ़ाता है।
iii. साझा करना
किसी भी वेब/मोबाइल एप्लिकेशन के साथ बड़ी समस्या स्केलिंग है। इसे दूर करने के लिए MongoDB ने शार्डिंग फीचर जोड़ा है। यह एक ऐसी विधि है जिसमें, कई मशीनों में डेटा वितरित किया जा रहा है। शार्डिंग के साथ क्षैतिज मापनीयता प्रदान की जा रही है।
यह एक जटिल प्रक्रिया है और इसे कई टुकड़ों की मदद से किया जाता है। प्रत्येक शार्क डेटा का कुछ हिस्सा रखती है और एक अलग डेटाबेस . के रूप में कार्य करती है . सभी शार्ड्स को एक साथ मिलाने से एक ही लॉजिकल डेटाबेस बनता है। यहां पर संचालन क्वेरी राउटर द्वारा किया जा रहा है।
iv. तदर्थ क्वेरी
MongoDB रेंज क्वेरी, रेगुलर एक्सप्रेशन और कई प्रकार की खोजों का समर्थन करता है। क्वेरी में उपयोगकर्ता द्वारा परिभाषित जावास्क्रिप्ट फ़ंक्शन शामिल हैं और यह दस्तावेज़ों से विशिष्ट फ़ील्ड भी वापस कर सकता है। MongoDB एक अद्वितीय क्वेरी भाषा का उपयोग करके या BSON दस्तावेज़ों को अनुक्रमित करके तदर्थ प्रश्नों का समर्थन कर सकता है।
आइए SQL SELECT क्वेरी और सदृश क्वेरी के बीच अंतर देखें:
उदा. एबीसी जैसे छात्र के नाम के साथ छात्र तालिका के सभी रिकॉर्ड लाई जा रही है।
- एसक्यूएल स्टेटमेंट – * उन छात्रों में से चुनें, जहां '% एबीसी%' जैसा स्टड_नाम है;
- MongoDB क्वेरी – db.Students.find({stud_name:/ABC/});
वी. स्कीमा-कम
चूंकि यह एक स्कीमा-रहित डेटाबेस है (C++ में लिखा हुआ), यह पारंपरिक डेटाबेस की तुलना में बहुत अधिक लचीला है। इसके कारण, डेटा को स्वयं के लिए स्थापित करने और OOP के साथ घर्षण कम करने के लिए अधिक आवश्यकता नहीं होती है। यदि आप किसी वस्तु को सहेजना चाहते हैं, तो बस उसे JSON पर क्रमबद्ध करें और उसे MongoDB पर भेजें।
vi. कैप्ड संग्रह
MongoDB कैप्ड संग्रह का समर्थन करता है, क्योंकि इसमें संग्रहों का आकार निश्चित होता है इस में। यह सम्मिलन आदेश बनाए रखता है। एक बार सीमा तक पहुंचने के बाद यह एक गोलाकार कतार की तरह व्यवहार करना शुरू कर देता है।
उदाहरण - हमारे सीमित संग्रह को 2MB तक सीमित करना
- db.createCollection('logs', {capped:true, size:2097152})
viii. अनुक्रमण
खोजों के प्रदर्शन को बेहतर बनाने के लिए अनुक्रमणिकाएं बनाई जा रही हैं . हम MongoDB दस्तावेज़ में प्राथमिक या द्वितीयक किसी भी फ़ील्ड को अनुक्रमित कर सकते हैं।
इस कारण से, डेटाबेस इंजन कुशलतापूर्वक प्रश्नों को हल कर सकता है।
अनुक्रमण
viii. फ़ाइल संग्रहण
MongoDB का उपयोग फ़ाइल भंडारण प्रणाली के रूप में भी किया जा सकता है, जो लोड असंतुलन और डेटा प्रतिकृति से बचा जाता है। यह फ़ंक्शन ग्रिड फ़ाइल सिस्टम . की सहायता से निष्पादित किया गया , यह उन ड्राइवरों में शामिल है जो फ़ाइलों को संग्रहीत करते हैं।
MongoDB में फ़ाइल संग्रहण
ix. प्रतिकृति
विभिन्न मशीनों में डेटा वितरित करके प्रतिकृति प्रदान की जा रही है। इसमें एक प्राथमिक नोड और एक से अधिक द्वितीयक नोड हो सकते हैं (प्रतिकृति सेट)।
यह सेट मास्टर-गुलाम की तरह काम करता है। यहां, एक मास्टर पढ़ने और लिखने का प्रदर्शन कर सकता है और एक गुलाम मास्टर से डेटा को केवल एक रीड ऑपरेशन के लिए बैकअप के रूप में कॉपी करता है।
प्रतिकृति
<एच4>एक्स. MongoDB प्रबंधन सेवा (MMS)MongoDB में MMS की एक बहुत ही शक्तिशाली विशेषता है, जिसके कारण हम अपने डेटाबेस या मशीनों को ट्रैक कर सकते हैं और यदि आवश्यक हो तो अपने डेटा का बैकअप ले सकते हैं। यह परिनियोजन के प्रबंधन के लिए हार्डवेयर मेट्रिक्स को भी ट्रैक करता है।
यह कस्टम अलर्ट की एक सुविधा प्रदान करता है, जिसके कारण हम अपने MongoDB इंस्टेंस के प्रभावित होने से पहले समस्याओं का पता लगा सकते हैं।
MongoDB प्रबंधन सेवा (MMS)
MongoDB के लाभ
यह क्यों MongoDB, फायदे का दूसरा चरण है।
मैं. लोड संतुलन
यदि आपके पास डेटा का एक बड़ा सेट है जिसे आपको संसाधित करने की आवश्यकता है तो आप लोड संतुलन की सहायता से ट्रैफ़िक को विभिन्न मशीनों के बीच वितरित कर सकते हैं।
यह उपयोगकर्ता को इस तरह से मदद करता है कि आप अपना काम जारी रख सकते हैं, भले ही किसी एक नोड/मशीन ने किसी कारण से काम करना बंद कर दिया हो। अन्य नोड काम को जारी रखेंगे और आपकी प्रोसेसिंग बंद नहीं होगी।
लोड संतुलन
ii. साझा करना
शार्पनिंग की मदद से हम हॉरिजॉन्टल स्केलिंग कर सकते हैं। जो एक रिलेशनल डेटाबेस की मदद से संभव नहीं है। इस पद्धति का उपयोग करके, हम विभिन्न मशीनों में डेटा वितरित कर सकते हैं।
हम अपने पास मौजूद डेटा को शार्प बनाते हैं और फिर हम प्रोसेसिंग कार्य को थोड़ा आसान बनाने की कोशिश करते हैं।
MongoDB में साझा करना
iii. लचीलापन
इसे डेटा संरचनाओं की आवश्यकता नहीं होती है, जो कि उपयोग की जा रही सभी वस्तुओं में प्रकृति में एकीकृत होती हैं। इससे MongoDB का उपयोग करना आसान हो जाता है। डायनेमिक स्कीमा की मदद से MongoDB का उपयोग करना बहुत आसान है।
लचीलापन
iv. गति
MongoDB डेटा को तेज़ और आसान प्रोसेस कर सकता है। लेकिन यह आपके डेटा तक मान्य है दस्तावेज़ प्रारूप में है। हम कह सकते हैं कि इसकी गति अपने आप बढ़ जाती है क्योंकि यह सेकंड के भीतर बड़ी मात्रा में असंरचित डेटा को संभालता है जो जादू की तरह लगता है।
MongoDB के फायदे और नुकसान
MongoDB की कमियां/सीमाएं
यह क्यों MongoDB का तीसरा चरण है , सीमाएं।
मैं. मेमोरी का उपयोग
जैसा कि हम जानते हैं कि MongoDB प्रत्येक दस्तावेज़ के साथ कुंजी नाम संग्रहीत करता है, इसलिए यह स्पष्ट है कि यह बड़ी मात्रा में मेमोरी का उपभोग करेगा। और चूंकि जुड़ना भी संभव नहीं है इसलिए डुप्लिकेट डेटा के साथ काम करना बहुत मुश्किल हो जाता है।
मेमोरी का उपयोग
ii. कोई जॉइन नहीं
चूंकि हम रिलेशनल डेटाबेस में बहुत आसानी से जॉइन लागू करते हैं, इसलिए MongoDB में जॉइन लागू करना संभव नहीं है। इसलिए अगर आप इसमें जॉइन अप्लाई करना चाहते हैं, तो आपको यहां जॉइन ऑपरेशन करने के लिए कई जटिल क्वेश्चन लिखने होंगे।
iii. अभी भी विकास में है
एसक्यूएल विकसित किया गया था 1980 के दशक में, और MongoDB 2009 में ही उभरा। इसलिए इस कारण से, MongoDB अभी तक पूरी तरह से प्रलेखित या परीक्षण नहीं किया गया है और इसके विशेषज्ञों का पूर्ण समर्थन नहीं है।
सारांश
तो, इसे पढ़ने के बाद, आप समझ सकते हैं कि हमें इसका उपयोग क्यों करना चाहिए, इसके फायदे और नुकसान क्या हैं। इसके अलावा, यदि आपके कोई प्रश्न हैं, तो नीचे टिप्पणी अनुभाग में बेझिझक पूछें, हम आपकी मदद करना पसंद करेंगे।