मैंने हाल ही में ग्राफ डेटाबेस और Neo4J की खोज शुरू की है, और मैं अपने डेटा के साथ काम करना चाहता हूं। फिलहाल मुझे कुछ भ्रम हुआ है। मैंने अपनी समस्या को स्पष्ट करने के लिए एक उदाहरण छवि बनाई है। दक्षता के मामले में, मैं सोच रहा हूं कि कौन सा विकल्प बेहतर है (और मैं इसे अभी शुरुआती दिनों में प्राप्त करना चाहता हूं, इससे पहले कि मैं बड़ी मात्रा में काम करना शुरू कर दूं)।

Illustration

विकल्प ए: केवल नीले संबंधों का उपयोग करके, मैं यह पता लगा सकता हूं कि चीजें प्राचीन समूह से संबंधित हैं या इसके अंतर्गत आती हैं। यह प्रक्रिया कई बार की जाएगी, हालांकि इसके ~6 पीढ़ियों से अधिक होने की संभावना नहीं है।

विकल्प बी: मैं लाल संबंधों को लागू करता हूं, ताकि अगर युवा संरचनाएं प्राचीन समूह से संबंधित हों तो यह काम करना बहुत तेज है।

मैं इस परिदृश्य में लेबल का उपयोग नहीं करने की कोशिश कर रहा हूं, क्योंकि मैं अपने जीवन को सरल बनाने के लिए एक विशिष्ट उद्देश्य के लिए लेबल का उपयोग करने की कोशिश कर रहा हूं (अलग-अलग नेटवर्क में संरचनाओं को जोड़ना), और मुझे यकीन नहीं है कि मेरे पास प्रतिनिधित्व करने के लिए एक लेबल होना चाहिए एक नोड जो पहले से मौजूद है।

संक्षेप में, मैं सोच रहा हूं कि क्या रिश्तों का एक नया समूह जोड़ना, जबकि अधिक जगह लेना, इसके लायक है, या क्या सभी रिश्तेदारों को खोजने के लिए इतना आसान/सस्ता काम है कि ऐसा करने के लायक नहीं है। या वैकल्पिक रूप से, दोनों विकल्प व्यवहार्य हैं और यह बिल्कुल भी वास्तविक मुद्दा नहीं है। पढ़ने के लिए धन्यवाद।

0
nickynw 15 पद 2019, 18:39

1 उत्तर

सबसे बढ़िया उत्तर

मैं विकल्प ए के साथ जाऊंगा। Neo4j की ताकत में से एक यह है कि यह रिश्तों को बहुत कुशलता से और जल्दी से पार करता है, और इसलिए, रिश्तों को अमल में लाने की कोई आवश्यकता नहीं है (कभी-कभी, रिश्ते जटिल और/या बहुत बड़े ग्राफ में भौतिक होते हैं, लेकिन यह आपका मामला नहीं है)।

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

0
Luanne 16 पद 2019, 01:08