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

मोंगोडीबी + लोचदार खोज या केवल लोचदार खोज?

तर्कों के बारे में बात करना उपयोग करने के लिए ES के साथ/साथ में Mongo:

  1. उपयोगकर्ता/भूमिका प्रबंधन।

    • मोंगोडीबी में अंतर्निहित। हो सकता है कि आपकी सभी आवश्यकताओं के अनुरूप न हो, कहीं अनाड़ी हो, लेकिन यह मौजूद है और इसे बहुत पहले लागू किया गया था।
    • ES में सुरक्षा के लिए केवल एक चीज है shield . लेकिन यह उत्पादन के उपयोग के लिए केवल गोल्ड/प्लैटिनम सदस्यता के लिए शिप करता है।
  2. स्कीमा

    • ES स्कीमा रहित है, लेकिन यह Lucene . के शीर्ष पर बनाया गया है और Java . में लिखा हुआ है . इस उपकरण का मूल विचार - अनुक्रमणिका और खोज दस्तावेज़, और इस तरह से काम करने के लिए अनुक्रमणिका स्थिरता की आवश्यकता होती है। बैक एंड पर, सभी दस्तावेजों को फ्लैट lucene . में फिट किया जाना चाहिए सूचकांक, जिसके बारे में कुछ समझ की आवश्यकता है कि ES को आपके नेस्टेड दस्तावेज़ों और मूल्यों से कैसे निपटना चाहिए, और गति और डेटा पूर्णता/संगति के बीच संतुलन बनाए रखने के लिए आपको अपनी अनुक्रमणिका कैसे व्यवस्थित करनी चाहिए। ES के साथ काम करने के लिए आपको स्कीमा के बारे में कुछ बातों को लगातार ध्यान में रखना होगा। यानी:जैसा कि आप पहले से संबंधित मैपिंग डाले बिना ईएस को लगभग कुछ भी इंडेक्स कर सकते हैं, ईएस फ्लाई पर मैपिंग "अनुमान" कर सकता है लेकिन कभी-कभी इसे गलत करता है और कभी-कभी निहित मैपिंग बुरा होता है, क्योंकि एक बार इसे डालने के बाद इसे बदला नहीं जा सकता है /o संपूर्ण अनुक्रमणिका को पुन:अनुक्रमणित करना। इसलिए, बेहतर होगा कि ES को बिना योजना के स्टोर न माना जाए, क्योंकि आप कुछ समय के लिए रेक पर कदम रख सकते हैं (और यह दर्द होगा) :)), बल्कि इसे स्कीमा-गहन के रूप में मानें, कम से कम जब आप दस्तावेज़ों के साथ काम करते हैं, जिसे ठोस क्षेत्रों में काटा जा सकता है।
    • दूसरी ओर, मोंगो आपके द्वारा डाली गई लगभग किसी भी चीज़ में से "चबा सकता है और कोई चूरा नहीं छोड़ सकता"। और आपके अधिकांश प्रश्न ठीक काम करेंगे, 'जब तक आपको याद न हो कि मोंगो जावास्क्रिप्ट परिप्रेक्ष्य से आपके डेटा से कैसे निपटेगा। और जैसा कि जेएस कमजोर टाइप किया गया है, आप वास्तव में स्कीमालेस वर्कफ़्लो के साथ काम कर सकते हैं (निश्चित रूप से, यदि आपको इसकी आवश्यकता है)
  3. गैर-टेबल जैसे डेटा को संभालना।

    • ES डेटा को सर्च इंडेक्स में डाले बिना हैंडल करने तक सीमित है। और यह समाधान काफी अच्छा है, जब आपको कुछ अतिरिक्त डेटा को संग्रहीत और पुनर्प्राप्त करने की आवश्यकता होती है (उस डेटा की तुलना में जिसे आप खोजना चाहते हैं)।
    • MongoDB gridFS को सपोर्ट करता है . यह आपको एक ही इंटरफ़ेस के पीछे डेटा के बड़े हिस्से को संभालने की क्षमता देता है। यानी, आप Mongo में बाइनरी डेटा स्टोर कर सकते हैं और अपने कोड के नजरिए से उसी इंटरफ़ेस में इसे पुनः प्राप्त कर सकते हैं।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दस्तावेज़ से एकल संपत्ति पुनर्प्राप्त करें

  2. स्प्रिंग डेटा मोंगो समय वाले क्षेत्र को वापस क्यों नहीं कर रहा है?

  3. नेवला में एम्बेडेड योजना दस्तावेज़ कैसे निकालें?

  4. मैं mongodb का उपयोग करके खोज फ़िल्टर क्वेरी को कैसे कार्यान्वित करूं?

  5. मिलान करने वाले ऐरे तत्व का चयन करें और चयनित फ़ील्ड लौटाएं