2012-01-15 10 views
9

"एक ग्राफ़ डाटाबेस -transforms a-> आरडीबीएमएस"आरडीबीएमएस क्या करता है जो Neo4j (और ग्राफ डेटाबेस) नहीं कर सकता है?

Neo4j साइट सूचित करते हैं कि जो कुछ भी आप आरडीबीएमएस में कर सकते हैं, तो आप Neo4j में कर सकते हैं लगता है।

एक आरडीबीएमएस के लिए प्रतिस्थापन के रूप में Neo4j चुनने से पहले, मुझे कुछ संदेहों की आवश्यकता है।


मैं के लिए जो करने के लिए सुराग जल्दी से ऐसा करने के लिए डेटा "स्कीमा" संशोधित

  • संबंधों स्वाभाविक रूप से करने के बजाय संस्थाओं और normalizations
  • व्यक्त करने की क्षमता

    • की क्षमता ... Neo4j में दिलचस्पी है अत्यधिक अभिव्यक्ति कोड (ओआरएम से बेहतर)

    यह एक नोएसक्यूएल समाधान है जिसमें मुझे रूचि है यह विशेषताएं हैं, उच्च प्रदर्शन नहीं।


    प्रश्न: किसी भी मुद्दे है कि यह अनुपयुक्त एक आरडीबीएमएस स्थानापन्न के रूप में कर सकते हैं पेश Neo4j करता है?

    मैं इन के बारे में विशेष रूप से चिंतित हूँ:

    • कोई डीबी सुविधा मैं आवेदन तर्क में लागू करना चाहिए है? (उदाहरण के लिए, आपको कुछ नोएसक्यूएल डीबी के लिए एप्लिकेशन लेयर में जॉइन लागू करना होगा)
    • क्या फ़ील्ड "अनुक्रमित" ओ (एन) से अधिक लुकअप की अनुमति देने के लिए हैं?
    • मैं गर्म बैकअप और प्रतिकृति को कैसे संभाल सकता हूं?
    • स्कीमा को बदलने या स्कीमा के विभिन्न संस्करणों के साथ इकाइयों को एक साथ रहने वाले किसी भी मुद्दे को एक साथ रहने के साथ?
  • +2

    यदि आप इस विषय के बारे में जानकारी चाहते हैं, तो अपनी पोस्ट को neo4j google group http://neo4j.org/forums पर कॉपी करें, वहां आपको जवाब मिलेंगे। –

    +0

    @ माइकल हंगर, करेंगे :-) हां, यह एसओ के लिए बहुत विशिष्ट था। – aitchnyu

    +0

    मुझे नहीं पता कि यह कैसे रचनात्मक नहीं है। – smartcaveman

    उत्तर

    0

    ओरेकल जैसे एंटरप्राइज़ डीबी का उपयोग करके आपको कई सुविधाएं मिलेंगी जो कई नव हो सकती हैं या नहीं। इनमें शामिल हैं:

    • एसिड लेनदेन
    • उच्च उपलब्धता/बैकअप/अतिरिक्त
    • एसक्यूएल का उपयोग करने के लिए सबसे कारगर तरीका लागत आधारित अनुकूलक का उपयोग करने में डेटा प्राप्त करने की क्षमता - डाटाबेस को पुनः प्राप्त करने का सबसे अच्छा तरीका निर्धारित करता है डेटा अपने नवीनतम आंकड़ों
    • अनुमापकता, विभाजन
    • समर्थन
    • सुरक्षा
    के आधार पर

    यदि आप अपने आवेदन की अधिकांश कार्यक्षमता को स्वयं कोड में लागू करने जा रहे हैं और किसी rdbms द्वारा प्रदान की गई संरचना और उन्नत सुविधाओं की आवश्यकता नहीं है या यदि आपके डेटा संरचनाएं ग्राफ आधारित डीबी के लिए बेहतर हैं तो सभी मतलब परीक्षण नियो।एक कारण है कि अधिकांश कॉर्पोरेट ऐप्स पारंपरिक rdbms सर्वरों में से एक का उपयोग करते हैं लेकिन यह भविष्य में हमेशा

    2

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

    हर कोई सोचता है कि उनका नया डेटाबेस प्रतिमान संबंधपरक डेटाबेस के लिए एक प्रतिस्थापन है। तो, उन दावों को नमक के अनाज के साथ लें।

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

    जहां तक ​​उत्पादन की गुणवत्ता है, प्रत्येक श्रेणी में ठोस विकल्प हैं। रिलेशनल में एक गुच्छा है। दस्तावेज़ डेटाबेस के लिए मैं मोंगोडीबी या अपाचे जैकब्रिबिट जैसे उच्च स्तर की जेसीआर प्रणाली पर जाऊंगा। ग्राफिंग के लिए, मुझे केवल Neo4j के साथ अनुभव है और यह मेरे लिए ठोस रॉक है।

    जो भी आप करते हैं, इस प्रचार में खरीद न करें कि "हमारे पास एक ऐसी तकनीक है जो आपकी सभी समस्याओं को हल करती है।" यह वहां नहीं है और यह आपकी सोच को संकुचित करता है।

    1

    मुझे विश्वास है कि नियो 4j अब रिलेशनल डेटाबेस के लिए एक अच्छा प्रतिस्थापन है। (और नई विज्ञप्ति जहां में

    • यह एसिड अनुरूप
    • समुदाय संस्करण का अभाव है हालांकि हॉट बैकअप जैसी कुछ सुविधाओं, उद्यम संस्करण के लिए यह
    • समर्थन
    • आप प्राप्त कर सकते हैं पहली नजर में है यदि आप एक स्टार्ट खंड की जरूरत नहीं है) ने अपनी क्वेरी भाषा बीजलेख लगभग कुछ भी कर सकते एसक्यूएल कर सकते हैं

    लेकिन

    • यह एक एसक्यूएल एक
    • की तुलना में एक बीजलेख डेवलपर ढूंढ कठिन है और यह एक बराबर अनुकूलक नहीं है: हालांकि यह स्पष्ट रूप से प्रतिकृति और नियो का समर्थन करता है यह SQL के साथ की तुलना में अधिक मायने रखती है कि कैसे आप क्वेरी लिखने

    इसे एक बड़े डेटा उत्पाद के रूप में बाजारित करता है, मैं पुष्टि नहीं कर सकता कि यह काफी स्केलेबल है और मैंने सुरक्षा पहलुओं का अध्ययन नहीं किया।

    हालिया रिलीज (ऊपर सवाल जो छोटा है) में, कोई लेबल पर इंडेक्स को परिभाषित कर सकता है, जो एक रिलेशनल डीबी में टेबल पर इंडेक्स की तरह काम करता है, ओ (लॉग (एन)) लुकअप के लिए अनुमति देता है।

    (fyi: Neo4j में कोई सारणी नहीं है, लेकिन प्रत्येक नोड (~ = पंक्ति) में जीमेल लेबल के मुकाबले अलग-अलग लेबल हो सकते हैं। यह अधिक लचीला है: आपको यह चुनना नहीं है कि आप कारों और साइकिलों को एक में रखते हैं या नहीं वाहनों के लिए टेबल या नहीं: एक साइकिल में दोनों वाहन और एक: साइकिल लेबल होंगे।)

    मूल प्रश्न का उत्तर देने के लिए: नियो 4j स्कीमा प्रवर्तन के लिए शायद ही समर्थन करता है।नियो आपके डेटाबेस पर स्वचालित स्थिरता परीक्षण लागू करने की सलाह देता है, जिसे आप अपने रिलीज चक्र के हिस्से के रूप में अपने स्वीकृति परीक्षण उदाहरण पर चलाते हैं।

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