graph - क्या ग्राफ़ डेटाबेस नोड्स में डेटा कुशलतापूर्वक वितरित कर सकता है?




neo4j graph-databases (2)

अच्छा प्रश्न। मुझे लगता है कि यह सब कैलिबरिंग के बारे में है। ट्विटर (जो कैसंड्रा का इस्तेमाल करता है) एक ग्राफ़ डेटाबेस का वास्तव में विशिष्ट तरीका (उनके पास "गहराई" के दो स्तर हैं) का उपयोग करता है, ताकि प्रश्नों को लंबे ग्राफ़ (और वे पूरे डाटासेट को दोहराने के लिए मजबूर नहीं किए गए) को पार करने की आवश्यकता नहीं है। मुझे लगता है कि टाइटन और नेओ 4j दोनों सही हैं, Neo4j सामान्य प्रयोजन के लिए एक ग्राफ डाटाबेस प्रदान करने का प्रयास करता है, इसलिए आपके पास इसका उपयोग करने के आधार पर कई समाधान होते हैं और वे यह नहीं जान सकते कि लोग इसका उपयोग कैसे करेंगे ताकि वे अधिक सामान्य समाधान लागू कर सकें: संपूर्ण डेटासेट का नकल करना

वास्तव में यदि आप संपूर्ण डेटासेट को दोहराने नहीं करते हैं और आप अपने ग्राफ में एक लंबा रास्ता तय करना चाहते हैं तो यह धीमा होगा।

तो, आपका उपयोग क्या होगा? मैंने कभी टाइटन का इस्तेमाल नहीं किया लेकिन एक अच्छी परीक्षा होगी कि इसके प्रदर्शन को Neo4j के साथ तुलना करने के लिए क्वेरी के "गहराई" के आधार पर किया जाएगा।

यदि कोई अन्य डेटाबेस के शीर्ष पर एक डेटाबेस बनाता है, जैसे कि ट्विटर ने किया है, तो क्या यह डेटाबेस अंतर्निहित डेटाबेस की सीमाओं और अक्षमताओं का उत्तराधिकारी है?

मैं टाइटन डीबी ( http://thinkaurelius.com ) में विशेष रूप से दिलचस्पी ले रहा हूं क्योंकि डेटासेट को बिल्टिंग को नोड्स में कुशलता से समर्थन करने के उनके दावे के कारण

वे कासांद्रा की दक्षता के कारण, नोड्स में डेटा को वितरण के समर्थन का दावा करते हैं। हालांकि, neo4j दावा करता है कि वे नोड्स के बीच डेटा वितरित नहीं कर रहे हैं, बल्कि हर नोड पर पूरे डाटासेट का दोहरायन कर रहे हैं, क्योंकि किसी भी ग्राफ ट्रवर्सल जो एक नोड को छोड़ देता है, और इसके लिए एक ईथरनेट नेटवर्क पर जाना है, यह बहुत धीमा है व्यावहारिक होना

चूंकि कैसन्द्रा को ग्राफ का कोई ज्ञान नहीं है, इसलिए यह एक नोड पर ग्राफ ट्रैवर्सेल रखने के लिए अनुकूलित नहीं कर सकता। इसके लिए, अधिकांश ग्राफ़ ट्रैवर्सल नोड सीमाओं के पार होंगे।

क्या टाइटन्स का दावा है कि वह नोड्स में कुशलतापूर्वक पैमाने पर है?


टाइटन अंतर्निहित स्टोरेज बैकएंड (सीएएसएंडआर के लिए बीओपी, एचबीज़ के लिए डिफॉल्ट) के मुख्य सॉर्ट क्रम को निर्धारित करता है और फिर एइड्स को एरेन्स को असाइन करता है जैसे कि समान विभाजन ब्लॉक को आवंटित किए गए शोर एक ही भौतिक मशीन के लिए नियुक्त एड्स हैं दूसरे शब्दों में, टाइटन "समझता है" कि कैसे अंतर्निहित स्टोरेज बैकेंड डेटा वितरित करता है और ग्राफ विभाजन तकनीक का उपयोग करता है जो इस जागरूकता का फायदा उठाते हैं टाइटन अर्ध-स्वचालित विभाजन का उपयोग करता है जिसमें डोमेन ज्ञान शामिल है

पीयरसन बेंचमार्क ( http://arli.us/edu-planet-scale ) में ग्राफ को इस विशेष डाटासेट के निकट निकटतम विभाजन मानदंड वाले विश्वविद्यालयों के अनुसार विभाजन किया गया था। विभाजन के बिना, 120 अरब किनारों को स्केल करना असंभव के पास होगा

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