2012-03-26 7 views
5

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

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

बड़ी टेबल और मानचित्र कम होने के बाद कैसे hbase/hadoop का मॉडल किया गया है, मुझे संदेह है कि ऐसा करने का कोई तरीका है लेकिन यह सुनिश्चित नहीं है कि कैसे। कोई सुझाव?

इसके अलावा, क्या यह समझ में आता है कि मैं क्या करने की कोशिश कर रहा हूं? या क्या यह बड़े डेटा ग्राफ के लिए बेहतर समाधान है?

+0

बिंदु पर - आप हब्स में ग्राफ स्टोर कर सकते हैं। लेकिन यह लिंक किए गए डेटा को संभालने का सबसे अच्छा समाधान नहीं है। ट्रैवर्सिंग समस्या प्रवण होगी। नोडिड (src node) को पंक्ति कुंजी के रूप में उपयोग करने के मामले में आपको मूल्यों (संपत्ति मानों) के आधार पर पुनर्प्राप्ति के लिए फ़िल्टर का उपयोग करने की आवश्यकता होगी। BigData का समर्थन करने वाले उपलब्ध ग्राफ़ डेटाबेस का उपयोग करने का बेहतर तरीका होगा। यह सिर्फ एक सुझाव है, जवाब नहीं, इसलिए मैं इसे टिप्पणी ब्लॉक में जोड़ रहा हूं। –

उत्तर

6

तुम एक में HBase/Accumulo में एक निकटता सूची स्टोर कर सकते हैं को कम कॉलम उन्मुख फैशन। मैं Accumulo (HBase शब्दावली थोड़ा अलग हो सकता है) से अधिक परिचित हूँ ताकि आप एक स्कीमा के लिए इसी तरह इस्तेमाल कर सकते हैं:

SrcNode(RowKey) EdgeType(CF):DestNode(CFQ) Edge/Node Properties(Value) 

कहाँ सीएफ = ColumnFamily और CFQ = ColumnFamilyQualifier

तुम भी दुकान नोड/शिखर हो सकता है की तरह कुछ का उपयोग कर अलग-अलग पंक्तियों के रूप में गुण:

Node(RowKey) PropertyType(CF):PropertyValue(CFQ) PropertyValue(Value) 

PropertyValue या तो CFQ या मूल्य

एक ग्राफ प्रक्रिया से में हो सकता है @ एरॉन रोटेम-गैल-ओज़ द्वारा वर्णित परिप्रेक्ष्य में आप Apache Giraph देख सकते हैं जो Google प्रीगेल का कार्यान्वयन है। प्रीगेल विधि है जो Google बड़े ग्राफ प्रसंस्करण के लिए उपयोग करता है।

HBase/Accumulo का प्रयोग के रूप में giraph के लिए इनपुट Giraph करने के लिए एक नई सुविधा अनुरोध के रूप में हाल ही में सबमिट किया गया है (7 मार्च 2012): HBase/Accumulo Input and Output formats (GIRAPH-153)

2

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

से प्राप्त कर सकते हैं (apache Giraph पर एक नजर डालें, जबकि इस HBase बारे में नहीं है तो आप भी यह here) के बारे में थोड़ा और अधिक पढ़ सकते हैं यह से निपटने के बारे में है हडोप में ग्राफ। इसके अलावा, आप (उर्फ नक्शा/reduce2) यार्न इंजन के रूप में Hadoop 0.23 (और ऊपर) को देखने के लिए चाहते हो सकता है गैर-मैप में और अधिक खुला है/एल्गोरिदम

1

मैं रास्ते में HBase प्रयोग नहीं करेंगे "बाइनरी बेवकूफ "इसे as HBase does not perform very well when handling multiple column families अनुशंसित किया गया।

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

+0

आपको एकाधिक कॉलम परिवारों का उपयोग करने की आवश्यकता नहीं है। एक एकल, पर्याप्त होगा। एज के लिए एक दूसरा विशेष रूप से ठीक से प्रदर्शन करेगा। सिफारिश दो तक है। फिर भी, आप एक कॉलम परिवार के तहत एक समर्पित कॉलम के तहत किनारों को स्टोर कर सकते हैं। – gextra

1

एचबीएएस के शीर्ष पर ग्राफ़ डेटाबेस बनाते हैं जो आप कोशिश कर सकते हैं और/या अध्ययन कर सकते हैं।

Apache S2Graph किनारे और शिखर के प्रतिनिधित्व वाले ग्राफ डेटा को क्वेरी करने के लिए आरईएसटी एपीआई प्रदान करता है।वहां आप एक प्रेजेंटेशन पा सकते हैं, जहां पंक्ति/कॉलम कुंजियों का निर्माण समझाया गया है। डिज़ाइन द्वारा प्रभावित या प्रभावित होने वाले संचालन के प्रदर्शन का विश्लेषण भी दिया जाता है।

Titan एचबीएस के अलावा अन्य स्टोरेज बैकएंड का उपयोग कर सकते हैं, और विश्लेषिकी ढांचे के साथ एकीकरण है। यह दिमाग में बड़े डेटा सेट के साथ भी डिज़ाइन किया गया है।

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

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