MongoDB - अवलोकन

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

डेटाबेस

डेटाबेस संग्रह के लिए एक भौतिक कंटेनर है। प्रत्येक डेटाबेस को फ़ाइल सिस्टम पर फ़ाइलों का अपना सेट मिलता है। एक एकल MongoDB सर्वर में आमतौर पर कई डेटाबेस होते हैं।

संग्रह

संग्रह MongoDB दस्तावेजों का एक समूह है। यह RDBMS तालिका के समतुल्य है। एक डेटाबेस में एक संग्रह मौजूद है। संग्रह एक स्कीमा लागू नहीं करते हैं। एक संग्रह के भीतर दस्तावेजों में विभिन्न क्षेत्र हो सकते हैं। आमतौर पर, एक संग्रह में सभी दस्तावेज समान या संबंधित उद्देश्य के होते हैं।

डाक्यूमेंट

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

निम्न तालिका MongoDB के साथ RDBMS शब्दावली का संबंध दर्शाती है।

आरडीबीएमएस MongoDB
डेटाबेस डेटाबेस
टेबल संग्रह
टपल / पंक्ति डाक्यूमेंट
स्तंभ मैदान
तालिका में शामिल हों एंबेडेड दस्तावेज़
प्राथमिक कुंजी प्राथमिक कुंजी (डिफ़ॉल्ट कुंजी _id MongoDB द्वारा प्रदान की गई)
डेटाबेस सर्वर और ग्राहक
mysqld / ओरेकल mongod
mysql / sqlplus मोंगो

नमूना दस्तावेज़

निम्नलिखित उदाहरण एक ब्लॉग साइट के दस्तावेज़ संरचना को दर्शाता है, जो कि केवल एक अल्पविराम द्वारा अलग किया गया महत्वपूर्ण मान है।

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_idएक 12 बाइट्स हेक्साडेसिमल संख्या है जो हर दस्तावेज की विशिष्टता का आश्वासन देती है। दस्तावेज़ सम्मिलित करते समय आप _id प्रदान कर सकते हैं। यदि आप प्रदान नहीं करते हैं तो MongoDB प्रत्येक दस्तावेज़ के लिए एक अद्वितीय आईडी प्रदान करता है। ये 12 बाइट्स वर्तमान टाइमस्टैम्प के लिए पहले 4 बाइट्स, मशीन आईडी के लिए अगले 3 बाइट्स, मोंगोबीडीई सर्वर की प्रक्रिया आईडी के लिए अगले 2 बाइट्स और शेष 3 बाइट्स साधारण वृद्धिशील मूल्य हैं।