MongoDB के प्रदर्शन हम MongoDB एक समस्या हमारे पास हल करने के लिए एक कोशिश देने का फैसला किया बारे में इतने सारे अच्छी बातें सुनने के बाद। मैंने कई mysql डेटाबेस में हमारे सभी रिकॉर्डों को मोंगोडब में एक संग्रह में ले जाकर शुरू किया। यह 29 लाख दस्तावेजों के साथ एक संग्रह में हुई (उनमें से हर एक कम से कम 20 क्षेत्रों है) जिसमें HD अंतरिक्ष के करीब 100 जीबी लेता है। हमने उन्हें सभी को एक संग्रह में रखने का फैसला किया क्योंकि सभी दस्तावेजों में एक ही संरचना है और हम उन सभी दस्तावेजों पर प्रश्न पूछना और एकत्र करना चाहते हैं।एकत्रीकरण पर MongoDB के प्रदर्शन प्रश्नों
मैं अन्यथा तक कि एक साधारण गिनती() उम्र ले जाएगा मेरी क्वेरी से मेल करने के लिए कुछ अनुक्रमित बनाया। हालांकि, अलग() और समूह() जैसे प्रश्न अभी भी बहुत लंबा रास्ता लेते हैं।
उदाहरण:
// creation of a compound index
db.collection.ensureIndex({'metadata.system':1, 'metadata.company':1})
// query to get all the combinations companies and systems
db.collection.group({key: { 'metadata.system':true, 'metadata.company':true }, reduce: function(obj,prev) {}, initial: {} });
मैं mongod लॉग पर एक नज़र लिया और इस तरह की लाइनों की एक बहुत है (जबकि इसके बाद के संस्करण क्वेरी को क्रियान्वित करने):
Thu Apr 8 14:40:05 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {} bytes:1048890 nreturned:417 154ms
Thu Apr 8 14:40:08 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {} bytes:1050205 nreturned:414 430ms
Thu Apr 8 14:40:18 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {} bytes:1049748 nreturned:201 130ms
Thu Apr 8 14:40:27 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {} bytes:1051925 nreturned:221 118ms
Thu Apr 8 14:40:30 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {} bytes:1053096 nreturned:250 164ms
...
Thu Apr 8 15:04:18 query database.$cmd ntoreturn:1 command reslen:4130 1475894ms
इस क्वेरी 1475894ms ले लिया जो जो अपेक्षा करता है उससे अधिक लंबा रास्ता है (परिणाम सूची में लगभग 60 प्रविष्टियां हैं)। सबसे पहले, क्या यह मेरे संग्रह में बड़ी संख्या में दस्तावेजों को देखते हुए उम्मीद है? क्या आम तौर पर एकत्रीकरण प्रश्न मोंगोडब में इतनी धीमी होने की उम्मीद है? मैं प्रदर्शन में सुधार कैसे कर सकता हूं इस पर कोई विचार?
मैं एक सिंगल मशीन में दोहरी कोर और 10 जीबी मेमोरी वाला मोंगोड चला रहा हूं।
धन्यवाद।
वैसे यह प्रश्न बहुत पुराना है और जब भी आप मोंगोडीबी एकत्रीकरण ढांचे की खोज करते हैं तो खोज इंजन पर आता है। मारियो आपने अपने मोंगोडीबी संस्करण का जिक्र नहीं किया, क्योंकि उन्होंने 2.4 में एएफ को बहुत सुधार किया और मैं इसे एक क्रैपी एम 1 पर कर रहा हूं। ECM के साथ संग्रह पर 3.7 जी मेमोरी के साथ ईसी 2 और यह जितना तेज़ होता है उतना तेज़ होता है। क्या आपने नए संस्करण की कोशिश की है या आप एक अलग दृष्टिकोण के साथ गए हैं? निश्चित रूप से एएफ बनाम मैपरेडस के लिए कई मानक हैं लेकिन 10 जीन http://blog.mongodb.org/post/62900213496/qaing-new-code-with-mms-map-reduce-vs से नवीनतम पर एक नज़र डालें -ग्रेलेशन टीएनएक्स – Maziyar
आपकी टिप्पणी के लिए धन्यवाद। यह 2010 में वापस था, मुझे विश्वास है कि हम मोंगोडीबी 1.4.0 जैसे कुछ इस्तेमाल कर रहे थे। यह थोड़ी देर हो गया है, मुझे यकीन है कि मोंगोडब में बहुत सी चीजें बदल गई हैं लेकिन मैं उस परियोजना के बाद से उस परियोजना में काम नहीं कर रहा हूं :) –
उत्तर के लिए धन्यवाद मारियो। मैंने अभी मोंगोडीबी (लगभग एक वर्ष) का उपयोग शुरू किया और बस यह देखने के लिए सोच रहा था कि आपकी परियोजना के साथ क्या हुआ। वैसे भी शुभकामनाएँ :) – Maziyar