MongoDB को पहली बार 2007 में ड्वाइट मेरिमैन और एलियट होरोविट्ज़ द्वारा विकसित किया गया था, जब उन्होंने अपनी कंपनी में एंटरप्राइज़ वेब एप्लिकेशन विकसित करते समय रिलेशनल डेटाबेस के साथ स्केलेबिलिटी मुद्दों का अनुभव किया, जिसे डबलक्लिक के रूप में जाना जाता है। एक डेवलपर के अनुसार, इसका नाम humongous . शब्द से लिया गया है बड़ी मात्रा में डेटा संसाधित करने के विचार का समर्थन करने के लिए।
2009 में डेटाबेस एक ओपन-सोर्स प्रोजेक्ट बन गया, जबकि कंपनी ने व्यावसायिक सहायता सेवाओं की पेशकश की। कई कंपनियों ने अपनी अनूठी विशेषताओं के कारण MongoDB को अपनाया। इनमें से एक कंपनी द न्यू यॉर्क टाइम्स अखबार थी, और उन्होंने इस डेटाबेस का इस्तेमाल फोटो जमा करने के लिए एक वेब-आधारित एप्लिकेशन बनाने के लिए किया था। वर्ष 2013 में, DoubleClick ने आधिकारिक तौर पर MongoDB Inc. का नाम बदल दिया है।
MongoDB घटक
मुख्य MongoDB घटक और उनके उपयोग में शामिल हैं:
- संग्रह – उनके आरडीबीएमएस समकक्ष टेबल हैं। वे MongoDB दस्तावेज़ों का एक सेट हैं
- दस्तावेज़ – इसका आरडीबीएमएस समकक्ष रो है। यह बीएसओएन प्रारूप में संग्रहीत डेटा का संग्रह है
- फ़ील्ड – यह MongoDB दस्तावेज़ में एक एकल तत्व है जिसमें फ़ील्ड और मान जोड़े के रूप में मान शामिल हैं।
दस्तावेज़-आधारित संग्रहण
एक दस्तावेज़ JSON जैसे नाम-मूल्य जोड़े के साथ एक डेटा संरचना है, और किसी भी प्रोग्रामिंग भाषा के किसी भी कस्टम ऑब्जेक्ट को MongoDB दस्तावेज़ के साथ मैप करना आसान है। उदाहरण के लिए, एक विद्यार्थी ऑब्जेक्ट में नाम, छात्र आईडी, . जैसी विशेषताएं हैं और विषय जहां विषय एक सूची हैं। MongoDB में छात्रों के लिए एक दस्तावेज़ इस तरह दिखेगा:
{
Name: "Michael",
Studentid: 1
Subjects: ["Mathematics, English, Geography"]}
आप देखेंगे कि दस्तावेज़ उपरोक्त प्रतिनिधित्व से कस्टम ऑब्जेक्ट्स के JSON प्रतिनिधित्व हैं। साथ ही, दस्तावेज़ के अंदर Arrays और दस्तावेज़ (एम्बेडेड) के रूप में डेटा सहेज कर अत्यधिक JOINS से बचा जाता है।
MongoDB में दस्तावेज़ अपडेट करना
MongoDB एक अपडेट () . प्रदान करता है संग्रह के दस्तावेज़ों को अद्यतन करने के लिए उपयोग किया जाने वाला आदेश। कमांड में मूल पैरामीटर एक शर्त है जिसके लिए एक दस्तावेज़ को अद्यतन करने की आवश्यकता होती है और संशोधन जिसे करने की आवश्यकता होती है। उपयोगकर्ता केवल चयनित दस्तावेज़ों को अद्यतन करने के लिए अद्यतन विवरण में मानदंड जोड़ सकता है। नीचे दिया गया उदाहरण दिखाता है कि किसी दस्तावेज़ में एकल मान को कैसे अपडेट किया जाता है:
- इनपुट अपडेटवन आदेश।
- यह तय करने के लिए उपयोग की जाने वाली शर्त चुनें कि कौन सा दस्तावेज़ अपडेट किया गया है। उदाहरण के लिए, हम लेखक और लेख के साथ एक दस्तावेज़ को अपडेट करेंगे।
- सेट का उपयोग करें फ़ील्ड नाम को संशोधित करने के लिए कमांड, चुनें कि आप किस फ़ील्ड का नाम बदलना चाहते हैं, फिर नीचे दिखाए अनुसार नया मान दर्ज करें:
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)
आउटपुट:
नोट: "उपयोग" कमांड का उपयोग करके सही डेटाबेस का चयन करना सुनिश्चित करें। उदाहरण के लिए, मैं "fossdb" का उपयोग कर रहा हूं; इसलिए, उचित डेटाबेस चुनने के लिए, मैं नीचे दिए गए कमांड को निष्पादित करूंगा:
use fossdb
आउटपुट:
आउटपुट दिखाएगा कि एक रिकॉर्ड शर्त से मेल खाता है, और इसलिए दस्तावेज़ में प्रासंगिक फ़ील्ड मान संशोधित किया गया है।
MongoDB में एक साथ बल्क दस्तावेज़ों को अपडेट करने के लिए, उपयोगकर्ता को एक बहु-विकल्प का उपयोग करने की आवश्यकता होगी, क्योंकि डिफ़ॉल्ट रूप से, एक समय में केवल एक दस्तावेज़ को संशोधित किया जाता है। नीचे दिया गया कोड दिखाता है कि एक उपयोगकर्ता एक ही समय में कई दस्तावेज़ कैसे अपडेट कर सकता है:
- हम पहले उस दस्तावेज़ को खोजेंगे जिसमें लेखक "अब्राहम" है और लेखक का नाम "अब्राहम" से "मसाई" में बदल दें। फिर हम अद्यतन अनेक . जारी करेंगे आदेश।
- फिर यह तय करने के लिए शर्त चुनें कि किस दस्तावेज़ को संशोधित किया जाना है। जैसा कि पहले उल्लेख किया गया है, हम "लेखक" नाम के साथ दस्तावेज़ का उपयोग करेंगे।
- उन फ़ील्ड नामों को चुनें जिन्हें आप अपडेट करना चाहते हैं, फिर उनके अनुसार उनके नए मान दर्ज करें।
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)
आउटपुट:
इस कमांड को सफलतापूर्वक चलाने के बाद, आउटपुट दिखाता है कि एक रिकॉर्ड स्थिति से मेल खाता है, और इसलिए, संबंधित फ़ील्ड को संशोधित किया गया था।
उपयोगकर्ताओं को MongoDB क्यों चुनना चाहिए
उपयोगकर्ताओं को MongoDB का उपयोग क्यों शुरू करना चाहिए, इसके निम्नलिखित कारण हैं:
दस्तावेज़ उन्मुख
चूंकि यह डेटाबेस एक NoSQL प्रकार का डेटाबेस है, डेटा को रिलेशनल टाइप फॉर्मेट में डेटा रखने के बजाय दस्तावेज़ों में संग्रहीत किया जाता है। यह इस डेटाबेस को वास्तविक दुनिया की स्थितियों और आवश्यकताओं के लिए बहुत लचीला और अनुकूलनीय बनाता है।
तदर्थ क्वेरी
MongoDB में फ़ील्ड, क्वेरीज़ और रेगुलर एक्सप्रेशन खोजों द्वारा खोज समर्थित हैं; इसलिए दस्तावेजों के भीतर विशिष्ट क्षेत्रों को वापस लाने के लिए पूछताछ की जा सकती है।
अनुक्रमण
MongoDB में इंडेक्स डेटाबेस के भीतर खोजों के प्रदर्शन को बेहतर बनाने के लिए बनाए जाते हैं।
लोड संतुलन
MongoDB कई MongoDB उदाहरणों में डेटा को विभाजित करके क्षैतिज रूप से स्केल करने के लिए शार्किंग का उपयोग करता है।
प्रतिकृति
यह डेटाबेस प्रतिकृति सेट के साथ उच्च उपलब्धता प्रदान करता है। प्रत्येक प्रतिकृति सेट में दो या अधिक MongoDB उदाहरण होते हैं। एक प्रतिकृति सेट सदस्य किसी भी समय प्राथमिक या द्वितीयक प्रतिकृति की भूमिका में कार्य कर सकता है। प्राथमिक प्रतिकृति केंद्रीय सर्वर है जो क्लाइंट के साथ इंटरैक्ट करता है और सभी पढ़ने/लिखने के संचालन करता है। इसके विपरीत, द्वितीयक प्रतिकृति अंतर्निहित प्रतिकृति डेटा का उपयोग करके प्राथमिक प्रतिकृति की एक प्रति बनाए रखती है।
MongoDB में डेटा मॉडलिंग
उपरोक्त चर्चा से, मोंगो डीबी में डेटा में एक लचीली स्कीमा है। MongoDB का संग्रह SQL डेटाबेस के विपरीत दस्तावेज़ संरचना को लागू नहीं करता है, जहाँ उपयोगकर्ता को डेटा डालने से पहले तालिका के स्कीमा की घोषणा करनी चाहिए। इस प्रकार का लचीलापन ही MongoDB को इतना शक्तिशाली बनाता है।
MongoDB में डेटा मॉडलिंग करते समय, उपयोगकर्ताओं को निम्नलिखित बातों को ध्यान में रखना चाहिए:
- डेटा पुनर्प्राप्ति पैटर्न - भारी क्वेरी उपयोग के मामले में, उपयोगकर्ताओं को क्वेरी दक्षता में सुधार के लिए अपने डेटा मॉडल में इंडेक्स का उपयोग करने पर विचार करना चाहिए।
- आवेदन की जरूरत है - उपयोगकर्ता को एप्लिकेशन की व्यावसायिक आवश्यकताओं को देखना चाहिए और देखना चाहिए कि एप्लिकेशन के लिए किस प्रकार के डेटा और डेटा की आवश्यकता है।
- क्या डेटाबेस को बार-बार संशोधित किया जा रहा है? - उपयोगकर्ताओं को अपने समग्र MongoDB वातावरण की दक्षता में सुधार करने के लिए इंडेक्स के उपयोग पर पुनर्विचार करना होगा या यदि आवश्यक हो तो उनके डेटा मॉडलिंग डिज़ाइन में शार्डिंग को शामिल करना होगा।
निष्कर्ष
इस लेख में आज बाजार में एक वायरल डेटाबेस MongoDB का संक्षिप्त विश्लेषण दिया गया है। इसके अलावा, यह बताया गया है कि MongoDB में मौजूदा दस्तावेज़ों को कैसे अपडेट किया जाए। हमें उम्मीद है कि यह लेख आपको MongoDB को बेहतर ढंग से समझने में मदद करेगा। किसी भी समस्या के मामले में, टिप्पणी अनुभाग के माध्यम से हमसे संपर्क करें, और हम आपसे सीधे संपर्क करेंगे।