मैं एक वेब अनुप्रयोग विकसित कर रहा हूं जो बैकएंड (डीजेंगो-नॉनरल + एपइंजिन) के रूप में गैर-रिलेशनल डेटाबेस का उपयोग करता है। मुझे कुछ पदानुक्रमित डेटा (प्रोजेक्ट/सबप्रोजेक्ट_1/सबप्रोजेक्ट_एन/कार्य) स्टोर करने की आवश्यकता है, और मैं सोच रहा हूं कि मुझे किस पैटर्न का उपयोग करना चाहिए। अभी के लिए मैं के बारे में सोचा:गैर-संबंधपरक डेटाबेस पर पदानुक्रमित डेटा के साथ सिफारिशें?
- संलग्नता सूची (आइटम की पैरेंट आईडी की दुकान)
- नेस्टेड सेट (दुकान छोड़ दिया और सही मूल्यों आइटम के लिए)
मेरे मामले में, घोंसले की गहराई एक सामान्य उपयोगकर्ता के लिए 4-5 स्तर से अधिक नहीं होगा। इसके अलावा, यूआई पर, पहले पृष्ठ लोड पर बहुत अधिक आइटम लोड करने से बचने के लिए, मैं पहले स्तर पर वस्तुओं के लिए एक पेजिनेशन करना चाहता हूं।
जो मैं अब तक समझता हूं उससे, नेस्टेड सेट बहुत अच्छे होते हैं जब पदानुक्रम का प्रदर्शन करने के लिए और अधिक उपयोग किया जाता है। पेड़ पर संपादन करते समय अक्सर अनुकूलता सूचियां बहुत अच्छी होती हैं। मेरे मामले में मुझे लगता है कि मुझे संपादन से अधिक प्रदर्शित करने की आवश्यकता है (नेस्टेड सेट का उपयोग करते समय, भले ही डिस्प्ले बहुत अच्छा काम करेगा, उपर्युक्त पृष्ठांकन संपादन पर चीजों को जटिल कर सकता है)।
क्या आपके पास गैर-संबंधपरक डेटाबेस के साथ आपके अनुभव के आधार पर कोई विचार और सलाह है?