दृष्टिकोण 1(ए): हर चीज के लिए एक डेटाबेस बनाना। (एकल संग्रह के साथ)
पेशेवर:
- कम रखरखाव:बैकअप, डेटाबेस उपयोगकर्ता बनाना, पुनर्स्थापित करना आदि
विपक्ष:
- आप देख सकते हैं डेटाबेस स्तर लॉक बड़े डेटाबेस पर अनुक्रमणिका बनाने के लिए
- विशिष्ट सेंसर डेटा पर संचालन करने के लिए, आपको केवल सेंसर विशिष्ट संग्रह लाने के लिए अतिरिक्त अनुक्रमणिका जोड़ने की आवश्यकता है
- आप नहीं बनाने के लिए बाध्य हैं 64 से अधिक अनुक्रमणिका एक ही संग्रह पर। हालांकि खराब अनुक्रमण रणनीति लगती है।
दृष्टिकोण 1(बी): हर चीज के लिए एक डेटाबेस बनाना। (प्रत्येक सेंसर के लिए 1 संग्रह के साथ)
पेशेवर:
- कम रखरखाव:बैकअप, डेटाबेस उपयोगकर्ता बनाना, पुनर्स्थापित करना आदि
- संपूर्ण अखंड संग्रह से सेंसर विशिष्ट डेटा की पहचान करने के लिए अनुक्रमणिका बनाने की आवश्यकता को कम करता है
- हर सेंसर विशिष्ट क्वेरी को केवल एक विशिष्ट संग्रह पर लक्षित किया जाएगा। एक बड़े संग्रह की तुलना में बड़े वर्किंग सेट को मेमोरी में खींचने की आवश्यकता नहीं है।
- एकल डीबी में बड़े संग्रह की तुलना में अपेक्षाकृत छोटे संग्रह पर अनुक्रमणिका बनाना अधिक व्यवहार्य है
विपक्ष:
- आप बहुत अधिक अनुक्रमणिका बना सकते हैं। (सभी संग्रहों पर अनुक्रमित की कुल संख्या का योग)।
- बड़ी संख्या में अनुक्रमणिका के लिए अधिक रखरखाव की आवश्यकता है।
- WiredTiger एक संग्रह के लिए 1 फ़ाइल और आंतरिक रूप से अनुक्रमणिका के लिए 1 फ़ाइल बनाता है। यदि आपका उपयोग केस बड़ी संख्या में सेंसर के साथ बढ़ता है। आप 64K खुली फ़ाइल सीमा का उपयोग कर सकते हैं।
प्रदर्शन-वार, क्या यह मायने रखता है कि मैं डेटा को प्रत्येक सेंसर या मीट्रिक द्वारा विभाजित करता हूं?
- यह आपके एनालिटिक्स ऐप से अपेक्षित एक्सेस पैटर्न पर निर्भर करता है।
प्रदर्शन-वार, क्या मुझे केवल सेंसर की जानकारी के लिए संग्रह करना चाहिए और फिर डेटा के लिए संग्रह करना चाहिए या दोनों को एक ही संग्रह में मर्ज करना चाहिए?
-
सेंसर मेटाडेटा और सेंसर डेटा के लिए संग्रह बनाना आवश्यक हो सकता है। यह प्रत्येक एकत्रित सेंसर डेटा में डुप्लिकेटिंग सेंसर मेटाडेटा को कम करेगा।
-
आप पढ़ना पसंद कर सकते हैं विलियम्स ब्लॉग पोस्ट यहाँ इस पैटर्न को डिजाइन करने पर।
हमेशा की तरह, नमूना स्कीमा तैयार करना और अपने परीक्षण परिवेश में अपने प्रश्नों का परीक्षण करना बेहतर है।