2011-12-20 15 views
5

मैं व्यक्तिगत परियोजना के लिए मोंगो डीबी का मूल्यांकन करने की प्रक्रिया में हूं। मैं एक ऐसी साइट को एक साथ रख रहा हूं जो उपयोगकर्ताओं को मेरे सर्वर पर जानकारी पंजीकृत और स्टोर करने की अनुमति देगा।मोंगोडीबी + वेब ऐप: डाटाबेस प्रति उपयोगकर्ता

मोंगोडीबी का मूल्यांकन करते समय मैंने देखा कि यह फ्लाई पर डेटाबेस बना सकता है, पहली बार एक रिकॉर्ड डाला जाता है। मुझे यह सोचने लगा कि मैं प्रत्येक उपयोगकर्ता के लिए डेटा को अपने डेटाबेस में अलग कर सकता हूं। डेटाबेस का नाम उपयोगकर्ता की अद्वितीय आईडी से लिया जाएगा। उपयोगकर्ता रजिस्टरों के बाद, पहली बार जब वे जानकारी संग्रहीत करते हैं तो उनका डेटाबेस बनाया जाएगा।

क्या किसी को पता है कि यह मोंगोडीबी के साथ एक व्यवहार्य डिजाइन है या नहीं? क्या एक उपयोगकर्ता में सभी उपयोगकर्ता के डेटा को बस स्टोर करना बेहतर होगा?

+0

अगले निचले स्तर, संग्रह का उपयोग क्यों नहीं करते? प्रति उपयोगकर्ता एकल डेटाबेस मेरे लिए थोड़ा सा उपहास लगता है। और क्यों- सामान्य- विभिन्न दुकानों में उपयोगकर्ता डेटा को तोड़ना? ज्यादातर मामलों में आप स्वामित्व के अनुसार टाइप करके डेटा अलग करते हैं, है ना? – asaaki

+0

MongoDB 2.2.0 डेटाबेस-स्तर लॉकिंग प्रस्तुत करता है। यदि आप प्रति उपयोगकर्ता के विभिन्न प्रकार के दस्तावेज़ संग्रहीत कर रहे हैं (जिसमें उनके स्वयं के संग्रह होंगे), डेटाबेस-प्रति-उपयोगकर्ता अभी भी व्यवहार्य हो सकता है। यदि आप कई डेटाबेस का उपयोग कर रहे हैं, तो इसे न भूलें: http://www.mongodb.org/display/DOCS/Too+Many+Open+Files#TooManyOpenFiles-Estimatingulimitsetting –

उत्तर

4

हां, एक संग्रह बेहतर है, इस तरह आप अपने लाभ के लिए अनुक्रमण का उपयोग कर सकते हैं।

डेटाबेस या संग्रह की सूची में इटरेट करना हमेशा ओ (एन) समय लेगा जबकि आप इंडेक्स का उपयोग करके व्यक्तिगत दस्तावेजों को खोजने के लिए ओ (लॉग एन) समय प्राप्त कर सकते हैं।

संबंधित मुद्दे