मेरे पास एक सामान्य डेटाबेस संरचना प्रश्न है। मेरे परिदृश्य में मैं mongodb का उपयोग कर रहा हूँ।मोंगोडीबी संरचना: एकल संग्रह बनाम एकाधिक छोटे संग्रह
मैं एक ऐसा एप्लिकेशन बना रहा हूं जहां उपयोगकर्ता गानों (शीर्षक, कलाकार इत्यादि) की एक सूची अपलोड कर सके, लेकिन मुझे यकीन नहीं है कि मेरे पास एक गीत होना चाहिए या सभी उपयोगकर्ताओं के लिए लिस्ट संग्रह या अलग गीत List.user # संग्रह प्रत्येक व्यक्तिगत उपयोगकर्ता। उपयोगकर्ता केवल उनसे जुड़े गीतों को ही पूछ सकते हैं ताकि उपयोगकर्ता ए को उपयोगकर्ता बी के गीतों के बारे में कभी पता न हो।
कोड उदाहरण:
उपयोगकर्ता
db.songList.userA.find()
{"title": "Some song of user A", "artist": "Some artist of user A"}
db.songList.userB.find()
{"title": "Some song of user B", "artist": "Some artist of user B"}
- पेशेवरों
- छोटे संग्रह आकार प्रति एकाधिक संग्रह क्वेरी करने के लिए
- विपक्ष
- अनुरक्षणीयता
- 1,000 उपयोगकर्ताओं 1,000 संग्रह
- अनुरक्षणीयता
बनाम एक मालिक के साथ एक संग्रह 'उपयोगकर्ता' फ़ील्ड का मतलब
db.songList.find({"user":"A"})
{"title": "Some song of user A", "artist": "Some artist of user A", "user": "A"}
- पेशेवरों
- लचीलापन उपयोगकर्ताओं भर में क्वेरी करने के लिए करता है, तो कभी जरूरत arised
- विपक्ष
- प्रदर्शन
मैं एक समर्थक का निर्माण करने की कोशिश कर रहा हूँ/कंस सूची लेकिन बाड़ पर अभी भी। यह देखते हुए कि प्रत्येक उपयोगकर्ता के गाने एक दूसरे से अलग होने जा रहे हैं, जो दृष्टिकोण बेहतर है? मेरी मुख्य चिंता रखरखाव और क्वेरी प्रदर्शन है।
अग्रिम धन्यवाद।
इस तरह की चीजों के बारे में चिंता करने के बजाय, * कुछ * बनाएं। विवरणों के बारे में चिंता करने की बजाय, आपको शायद यह पता चल जाएगा कि इसे बनाने से सबसे अच्छा क्या होगा। – SomeKittens
@ सोमकिट्टन के साथ सहमत हैं। उस ने कहा, मैं प्रति उपयोगकर्ता इसे करूँगा क्योंकि गलती करना आसान है और बी के लिए ए के गाने दिखाएं। वैसे भी, अगर मेरे पास पर्याप्त उपयोगकर्ता थे तो मैं अनुकूलन के बारे में चिंता करूंगा। –
सुरक्षा के अनुसार, प्रति उपयोगकर्ता एक संग्रह होने से मोंगोड के संग्रह-स्तर पहुंच नियंत्रण तंत्र का उपयोग करना संभव हो जाता है। इस तरह, यह डेटाबेस स्तर पर सुनिश्चित किया जा सकता है कि एक उपयोगकर्ता कभी किसी अन्य डेटा तक नहीं पहुंचता है। –