2014-06-23 8 views
8

मेरा प्रश्न डेवलपर की दृष्टि से (विशेष रूप से उपयोगकर्ता के लिए सम्मान नहीं) और बिट गंदा हो सकता है। मुझे पता है कि कैसे नोड्स और रिश्ते की संरचना तार्किक डेटाबेस में संग्रहीत हो जाता है चाहता हूँ। जैसे, जब मैं कहता हूं कि मेरे पास ब्लै ब्ला जानकारी है। कहा पे? - तो जवाब, बुक में, या तो पृष्ठ पर ग्रिड या लाइनों के रूप में है। आरडीबीएमएस के मामले में, डेटा ग्रिड/टैबुलर प्रारूप में संग्रहीत किया जाता है। लेकिन मैं समझने में असमर्थ हूं कि Neo4j/ग्राफ डेटाबेस में ग्राफ़ कैसे संग्रहीत किया जाता है। मैं neo4j ग्राहक 2.1.2 का उपयोग कर रहा हूँ।कैसे Neo4j आंतरिक रूप से डेटा स्टोर करता है?

+1

संदर्भ चेन और रेखांकन सोचें: http://www.slideshare.net/thobe/an-overview-of-neo4j-internals – duffymo

उत्तर

3

http://www.slideshare.net/thobe/an-overview-of-neo4j-internals थोड़ा पुरानी हो चुकी है, लेकिन यह आप Neo4j तार्किक प्रतिनिधित्व का एक अच्छा सिंहावलोकन देता है।

नोड संदर्भ:

  • अपनी पहली लेबल
  • अपनी पहली संपत्ति (गुण एक अकेले लिंक्ड सूची के रूप में आयोजित किया जाता है)
  • (मेरा अनुमान है कि लेबल एक अकेले लिंक्ड सूची के रूप में जमा हो जाती है है) इसके प्रारंभ/अंत संबंध

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

  • अपनी पहली संपत्ति (समान नोड्स के रूप में)
  • अपनी शुरुआत नोड के पूर्ववर्ती और उत्तराधिकारी संबंध
  • अपने अंत नोड के पूर्ववर्ती और उत्तराधिकारी संबंध

इस श्रृंखलन संरचना के कारण, ट्रेवर्सल की धारणा (यानी डेटा क्वेरी करने के रास्ते) आसानी से उभर रहे हैं। यही कारण है कि ग्राफ़ डेटाबेस जैसे Neo4j ग्राफ-संरचित डेटा ट्रैवर्सिंग पर एक्सेल करता है।

मेरा मोटा अनुमान भी होगा, क्योंकि नियो 4 जे संस्करण 2.1 (और its newly introduced dense node management), नोड्स के रिश्तों को प्रकार से अलग किया जाता है। ऐसा करने से, यदि नोड एन उदाहरण के लिए टाइप ए के 5 रिश्तों के लिए एक प्रारंभ नोड है और टाइप बी के 5 मिलियन रिले के लिए, ए के लिए टाइप ए के ट्रैवर्सिंग रि (ओ = एन) रहता है।

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