मैं NoSQL KVP या दस्तावेज़ डेटाबेस में विदेशी कुंजियों और अनुक्रमित के बराबर का पता लगाने की कोशिश कर रहा हूं। चूंकि कोई पिवट टेबल नहीं हैं (दो वस्तुओं के बीच एक संबंध को चिह्नित करने वाली कुंजी जोड़ने के लिए) मैं वास्तव में इस बात पर अडिग हूं कि आप डेटा को इस तरह से कैसे पुनः प्राप्त कर पाएंगे जो सामान्य वेब पेजों के लिए उपयोगी होगा।
मान लें कि मेरे पास एक उपयोगकर्ता है, और यह उपयोगकर्ता पूरी साइट पर कई टिप्पणियां छोड़ता है। जिस तरह से मैं उस उपयोगकर्ता की टिप्पणियों का ट्रैक रखने के बारे में सोच सकता हूं
- उन्हें उपयोगकर्ता ऑब्जेक्ट में एम्बेड करें (जो काफी बेकार लगता है)
- एक
user_id:comments
मूल्य बनाएं और बनाए रखें जिसमें प्रत्येक टिप्पणी की कुंजी की एक सूची हो [टिप्पणी: 34, टिप्पणी: 197, आदि ...] ताकि मैं उन्हें आवश्यकतानुसार ला सकूं।
हालाँकि, दूसरा उदाहरण लेते हुए आप जल्द ही एक ईंट की दीवार से टकराएंगे, जब आप इसे "active_comments" नामक एक कुंजी की तरह अन्य चीजों पर नज़र रखने के लिए उपयोग करते हैं, जिसमें 30 मिलियन आईडी हो सकते हैं, जिससे इसे प्रत्येक पृष्ठ को क्वेरी करने के लिए सिर्फ एक TON खर्च करना पड़ता है। सक्रिय टिप्पणियां। यह भी दौड़-परिस्थितियों के लिए बहुत ही खतरा होगा क्योंकि कई पेज एक ही समय में इसे अपडेट करने का प्रयास कर सकते हैं।
मैं NoSQL डेटाबेस में निम्नलिखित जैसे संबंधों को कैसे ट्रैक कर सकता हूं?
- उपयोगकर्ता की सभी टिप्पणियाँ
- सभी सक्रिय टिप्पणियां
- सभी पोस्ट [कीवर्ड] के साथ टैग किए गए
- एक क्लब में सभी छात्र - या सभी क्लब एक छात्र है
या मैं इस बारे में गलत सोच रहा हूं?