MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

ग्राफ़ डीबी बनाम दस्तावेज़ डीबी बनाम ट्रिपलस्टोर्स

मुझे यकीन नहीं है कि मैं इस भावना से सहमत होऊंगा कि बहुत से लोग SPARQL को पसंद नहीं करते हैं। SPARQL 1.0 में कुछ कमियां थीं, लेकिन इसने काफी अच्छी तरह से संबोधित किया कि इसे किस लिए डिज़ाइन किया गया था, और नया पुनरावृत्ति, SPARQL 1.1, SQL से कई निर्माणों को जोड़ता है जो लोगों को उप-प्रश्नों, समुच्चय सहित मूल कल्पना में देखने की उम्मीद है। और अद्यतन शब्दार्थ। मुझे लगता है कि यह तथ्य मानक है और आप एसक्यूएल की बोलियों के विपरीत हर ट्रिपल स्टोर में समान पार्सिंग और शब्दार्थ देखने की उम्मीद कर सकते हैं, यह एक अच्छी विशेषता है।

मैं यह भी दावा करूंगा कि सभी ट्रिपल स्टोर ग्राफ़ डेटाबेस हैं; आप आरडीएफ में विशिष्ट किनारों पर गुण डाल सकते हैं, यद्यपि उतनी अच्छी तरह से नहीं जितना आप कर सकते हैं w/Neo4j। लेकिन ट्रिपल स्टोर में वास्तविक क्वेरी भाषा का लाभ होता है, एक w3c मानक डेटा प्रतिनिधित्व जो आपके डेटा को दूसरे ट्रिपलस्टोर में ले जाना आसान बनाता है, और कई ट्रिपल स्टोर के लिए, OWL के आधार पर तर्क करने की क्षमता।

मैं अधिकांश ग्राफ डीबी के लिए स्केलेबिलिटी के बारे में कुछ नहीं जानता, लेकिन आम तौर पर, वाणिज्यिक आरडीएफ डेटाबेस काफी अच्छी तरह से स्केल करते हैं। सभी अरबों ट्रिपल में स्केल कर सकते हैं, जो बहुत सारे उपयोग के मामलों को संभालता है। हालांकि वे स्केल को कैसे हैंडल करते हैं, वेंडर से वेंडर wrt से स्केल अप या स्केल आउट, क्लस्टरिंग इत्यादि में बेतहाशा भिन्न होते हैं। आपको प्रत्येक के लिए कार्यान्वयन से मेल खाने के लिए बहुत अलग मेम और हार्डवेयर आवश्यकताएं भी दिखाई देंगी। मेरे लिए, मैंने बस एक EC2 इंस्टेंस, आमतौर पर एक 2XL या 4XL, एक EBS को इतना बड़ा माउंट करने का प्रयास किया है कि डेटा को होल्ड कर सके, और मैं बहुत अच्छी तरह से तैयार हूं।

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

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

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - .find () में एक सशर्त विवरण सेट करना

  2. नेवले की वस्तु से संपत्ति मिलना नामुमकिन

  3. कठपुतली का उपयोग करके MongoDB प्रतिकृति सेट और शार्क को तैनात करने की मूल बातें

  4. Mongorestore का उपयोग करके MongoDB डेटाबेस को पुनर्स्थापित करें

  5. स्प्रिंग डेटा के MongoTemplate और MongoRepository में क्या अंतर है?