2013-08-28 11 views
22

ट्रिपलस्टोर (अर्थात् डेटाबेस) हैं, और सामान्य उद्देश्य ग्राफ डेटाबेस हैं।triplestores और ग्राफ डेटाबेस के बीच क्या अंतर है?

दोनों एक "आइटम" को किसी रिश्ते के माध्यम से जोड़ने की समान अवधारणाओं पर आधारित होते हैं। Triplestores आरडीएफ का समर्थन करते हैं और SPARQL द्वारा पूछे जाते हैं, लेकिन ऐसे ऐड-ऑन सामान्य उद्देश्यों के ग्राफ डेटाबेस के रूप में भी लागू हो सकते हैं (और हैं)।

मौलिक अंतर क्या है जो आपको एक सामान्य उद्देश्य ग्राफ डेटाबेस जैसे neo4j के लिए एक अर्थपूर्ण डीबी/triplestore पसंद करेंगे?

उत्तर

6

मेरा 2 सेंट।

नियो 4j संपत्ति ग्राफ की श्रेणी में आता है। वे निर्देशित संबंधों का समर्थन करते हैं और प्रत्येक संबंध में केवल दो नोड होते हैं; प्रारंभ नोड और अंत नोड। नोड्स और रिश्ते कुंजी-मूल्य जोड़े के रूप में मनमानी डेटा स्टोर कर सकते हैं। हालांकि वे 3-आर्य संबंधों का समर्थन नहीं कर सकते हैं। यानी आप दो किनारे से अधिक कनेक्टिंग नहीं कर सकते हैं i.e a kind of hyperdege। हालांकि आप नोड्स को जोड़कर संपत्ति ग्राफ में 3-आर्य संबंधों का अनुकरण कर सकते हैं। You can see how to implement this in neo4j here

ट्रिपलस्टोरों में SPARQL के रूप में मानक क्वेरी भाषा है लेकिन अन्य ग्राफ डेटाबेस क्वेरी करने के लिए अभी तक कोई मानक मौजूद नहीं है। आरडीएफ triplestores से आयात/निर्यात के लिए मानक है।

11

ट्रिपल स्टोर ग्राफ़ डेटाबेस हैं। आरडीएफ एक ग्राफ है। अनुमोदित, ट्रिपल स्टोर्स आंतरिक रूप से ग्राफ के रूप में जानकारी संग्रहीत नहीं करते हैं; यह क्वेरी उत्तर देने के लिए उप-इष्टतम है, लेकिन वे अभी भी ग्राफ डेटाबेस हैं।

यदि आप W3C मानकों के आधार पर पारिस्थितिकी तंत्र में रुचि रखते हैं तो आप उन्हें neo4j जैसे कुछ पसंद करेंगे। अन्य आरडीएफ-आधारित प्रणालियों के साथ इंटरऑप बनाता है, और यह सब कुछ उठाता है और एक अलग ट्रिपल स्टोर में काफी दर्द रहित बनाता है।

10

प्रारंभ करने के लिए, मूल रूप से सभी डेटा-संरचनाओं को किसी भी अंतर्निहित स्टोरेज इंजन (या यहां तक ​​कि आपकी फ़ाइल सिस्टम और टेक्स्ट फ़ाइलों) में कम या ज्यादा दर्दनाक अनुमान लगाया जा सकता है। कारण एक निश्चित डेटा मॉडल और भंडारण बैकएंड चुनने के लिए IMHO हैं:

  • अपने विकास और मॉडलिंग वरीयताओं
  • अपने उम्मीद, डालने के भंडारण के लिए क्रम प्रदर्शन, और अपने मॉडल की क्वेरी।

जैसा कि पहले उल्लेख किया है, दोनों RDBMSes और TripleStores में कार्यावधि में उपयोगी हो जाते हैं "उथले" के शामिल हों या SPARQL traversals, और कैश में ज्यादा काम करते हैं या तैयार विचारों आदि ग्राफ़ डेटाबेस (विशिष्ट Neo4j) डाल traversing ग्राफ संरचना वास्तव में भंडारण परत तक नीचे है और नोड-रिकॉर्ड स्तर पर पॉइंटर पीछा (कई अनुकूलन के साथ) करते हैं। इस प्रकार, ग्राफ को घुमाने पर, आपको स्टोरेज परत पर अपने वर्तमान सबग्राफ से अधिक स्पर्श करने की आवश्यकता नहीं होती है, इस प्रकार पूरे ग्राफ को छूए बिना डेटा के हिस्सों को पार करने में सक्षम होता है, जिसके परिणामस्वरूप कई रोचक परिदृश्यों के लिए लगातार प्रदर्शन होता है ।

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