NoSQL(MongoDB) बनाम लुसेन(या सोलर) आपके डेटाबेस के रूप में




solr lucene (7)

@ मॉरीसिओ-स्कीफर ने सोलर 4 का उल्लेख किया - इसमें रुचि रखने वालों के लिए, लुसीडवर्क्स सोलर 4 को "नोएसक्यूएल सर्च सर्वर" के रूप में वर्णित कर रहा है और http://www.lucidworks.com/webinar-solr-4-the-nosql-search-server/ पर एक वीडियो है http://www.lucidworks.com/webinar-solr-4-the-nosql-search-server/ जहां वे नोएसक्यूएल (आईएसएच) सुविधाओं पर विस्तार से जाते हैं। (दिश अपने स्कीमलेस के संस्करण के लिए वास्तव में एक गतिशील स्कीमा है।)

दस्तावेज़-आधारित डेटाबेस के आधार पर नोएसक्यूएल आंदोलन बढ़ने के साथ, मैंने हाल ही में मोंगोडीबी को देखा है। मैंने लुसीन (और सोलर के उपयोगकर्ताओं) की तरह, "दस्तावेज़" के रूप में वस्तुओं का इलाज करने के तरीके के साथ एक हड़ताली समानता देखी है।

तो, सवाल: आप अपने "डेटाबेस" के रूप में लुसीन (या सोलर) पर नोएसक्यूएल (मोंगोडीबी, कैसंड्रा, कॉच डीबी, आदि) का उपयोग क्यों करना चाहते हैं?

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

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

मोंगोडीबी के समान डेटा भंडारण और स्केलेबिलिटी के बारे में बात करते समय आप Velocity या MemCached जैसे आउट-ऑफ-प्रो कैश प्रदाताओं की तुलना में भी फेंक सकते हैं।

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

मोंगोडीबी (और अन्य) के कुछ फायदे हैं, जैसे कि उनके एपीआई के उपयोग की आसानी। एक दस्तावेज़ नया बनाएं, एक आईडी बनाएं, और इसे स्टोर करें। किया हुआ। अच्छा और आसान।


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


कृपया ध्यान दें कि कुछ लोगों ने सोलर में सोलर / ल्यूसीन को एकीकृत किया है, जिसमें सभी इंडेक्स सोलर में संग्रहीत किए जा रहे हैं और ओप्लोग ऑपरेशंस की निगरानी भी कर रहे हैं और सोलर में प्रासंगिक अपडेट को कैस्केड कर रहे हैं।

इस हाइब्रिड दृष्टिकोण के साथ आप वास्तव में पूर्ण पाठ खोज जैसे क्षमताओं दोनों के साथ सर्वश्रेष्ठ हो सकते हैं और एक विश्वसनीय डेटास्टोर के साथ तेज़ी से पढ़ सकते हैं जिसमें चमकदार लेखन गति भी हो सकती है।

यह सेटअप करने के लिए थोड़ा सा तकनीकी है लेकिन बहुत सारे ओप्लॉग टेलर हैं जो सोलर में एकीकृत हो सकते हैं। देखें कि इस आलेख में किस श्रेणी में किया गया था।

http://denormalised.com/home/mongodb-pub-sub-using-the-replication-oplog.html


चूंकि किसी और ने इसका उल्लेख नहीं किया है, इसलिए मुझे यह कहना चाहिए कि मोंगोडीबी स्कीमा-कम है, जबकि सोलर स्कीमा को लागू करता है। इसलिए, यदि आपके दस्तावेज़ों के क्षेत्र बदलने की संभावना है, तो यह Solo पर MongoDB चुनने का एक कारण है।


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

और यहां जहां लुसीन / सोलर बड़े समय पर रहता है, खासकर फ़िल्टरक्वियर कैशिंग के साथ, प्रदर्शन बकाया है।


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


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

[...] हालांकि हम देखते हैं कि सूचकांक आकार बढ़ने पर सोलर का क्वेरी प्रदर्शन घटता है। हमने महसूस किया कि सोलर और मोंगो डीबी दोनों का एक साथ उपयोग करने का सबसे अच्छा समाधान है। फिर, हम मोंगोडीबी में सामग्रियों को संग्रहीत करके और पूर्ण-पाठ खोज के लिए सोलर का उपयोग करके इंडेक्स बनाकर मोंगोडीबी के साथ सोलर को एकीकृत करते हैं। हम केवल सोलर इंडेक्स में प्रत्येक दस्तावेज़ के लिए अद्वितीय आईडी स्टोर करते हैं और सौर पर खोज के बाद मोंगोडीबी से वास्तविक सामग्री पुनर्प्राप्त करते हैं। मोंगोडीबी से दस्तावेज प्राप्त करना सौर से तेज है क्योंकि कोई विश्लेषक नहीं है, स्कोरिंग इत्यादि। [...]





nosql