2010-05-08 10 views
13

http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-Parallelismमोंगोडीबी: समांतरता के बिना MapReduce का उपयोग करने का क्या मतलब है?

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

समांतरता के बिना, प्रश्नों और डेटा एकत्रीकरण के लिए सरल या अधिक पारंपरिक तरीकों की तुलना में मैपरेडस के क्या फायदे हैं?

भ्रम से बचने के: सवाल नहीं है "क्या पारंपरिक संबंधपरक DB से अधिक दस्तावेज़ उन्मुख डीबी के क्या लाभ हैं"

उत्तर

11

सरल या अधिक परंपरागत अधिक क्वेरी का MapReduce उपयोग करने के लिए मुख्य कारण यह बस कर सकते हैं वह यह है कि (यानी, एकत्रीकरण) कि सरल प्रश्न नहीं कर सकते हैं।

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

इसके अलावा, समानांतरवाद आ रहा है, तो यह कुछ अभ्यास :)

+0

कौन-सा संस्करण समानांतरवाद मिल जाएगा रोडमैप

यह 1.6 रिलीज (गर्मियों में जारी) में नहीं होगा

पर है? – nilskp

+0

mongodb mapReduce के लिए जेएस इंजन पर कोई अपडेट? क्या यह अब समांतरता प्रदान करता है? –

4

एम/आर पहले से ही MongoDB में समानांतर है आप एक sharded क्लस्टर चला रहे हैं के लिए अच्छा है। किसी भी नोड पर गणना के रूप में गणना करने के लिए यह एम/आर का मुख्य बिंदु है।

+3

क्या मैं यह मानने में सही हूं कि एक बहु-कोर कंप्यूटर का लाभ लेने का वर्तमान तरीका एक ही मशीन पर कई मोंगोडीबी उदाहरण चला रहा है? –

1

सुपर तेजी से नक्शा/कम करता है ताकि इस साल देर से होने की संभावना