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

MongoDB प्रदर्शन - कितने डेटाबेस, संग्रह?

दृष्टिकोण 1(ए): हर चीज के लिए एक डेटाबेस बनाना। (एकल संग्रह के साथ)

पेशेवर:

  • कम रखरखाव:बैकअप, डेटाबेस उपयोगकर्ता बनाना, पुनर्स्थापित करना आदि

विपक्ष:

दृष्टिकोण 1(बी): हर चीज के लिए एक डेटाबेस बनाना। (प्रत्येक सेंसर के लिए 1 संग्रह के साथ)

पेशेवर:

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

विपक्ष:

  • आप बहुत अधिक अनुक्रमणिका बना सकते हैं। (सभी संग्रहों पर अनुक्रमित की कुल संख्या का योग)।
  • बड़ी संख्या में अनुक्रमणिका के लिए अधिक रखरखाव की आवश्यकता है।
  • WiredTiger एक संग्रह के लिए 1 फ़ाइल और आंतरिक रूप से अनुक्रमणिका के लिए 1 फ़ाइल बनाता है। यदि आपका उपयोग केस बड़ी संख्या में सेंसर के साथ बढ़ता है। आप 64K खुली फ़ाइल सीमा का उपयोग कर सकते हैं।

प्रदर्शन-वार, क्या यह मायने रखता है कि मैं डेटा को प्रत्येक सेंसर या मीट्रिक द्वारा विभाजित करता हूं?

  • यह आपके एनालिटिक्स ऐप से अपेक्षित एक्सेस पैटर्न पर निर्भर करता है।

प्रदर्शन-वार, क्या मुझे केवल सेंसर की जानकारी के लिए संग्रह करना चाहिए और फिर डेटा के लिए संग्रह करना चाहिए या दोनों को एक ही संग्रह में मर्ज करना चाहिए?

  • सेंसर मेटाडेटा और सेंसर डेटा के लिए संग्रह बनाना आवश्यक हो सकता है। यह प्रत्येक एकत्रित सेंसर डेटा में डुप्लिकेटिंग सेंसर मेटाडेटा को कम करेगा।

  • आप पढ़ना पसंद कर सकते हैं विलियम्स ब्लॉग पोस्ट यहाँ इस पैटर्न को डिजाइन करने पर।

हमेशा की तरह, नमूना स्कीमा तैयार करना और अपने परीक्षण परिवेश में अपने प्रश्नों का परीक्षण करना बेहतर है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक-से-अनेक संबंध के साथ नेवला दस्तावेज़ संदर्भ

  2. Node.js और पासपोर्ट ऑब्जेक्ट की कोई विधि मान्यपासवर्ड नहीं है

  3. Junit/Fongo:NotNull . की जांच के लिए यूनिट टेस्ट में फोंगो का उपयोग कैसे करें

  4. नेवला क्वेरी अलग-अलग मानों के साथ एक ही फ़ील्ड

  5. नेवला बिना स्कीमा के केवल पढ़ने के लिए