एकत्रीकरण ढांचे के साथ होने वाली प्रसंस्करण की मात्रा आपकी स्कीमा पर निर्भर करती है।
एकत्रीकरण ढांचे केवल उत्पादन इस समय एक दस्तावेज़ के रिश्तेदार (बड़ा उत्पादन के लिए आप देखना चाहते हैं जाएगा: https://jira.mongodb.org/browse/SERVER-3253) कर सकते हैं और यह के रूप में उत्पादन होगा:
{
result: { //the result },
ok: 1/0
}
तो तुम करने के लिए है सुनिश्चित करें कि आप अपने $group
/$project
से वापस क्या प्राप्त करते हैं, इतना बड़ा नहीं है कि आप अपने इच्छित परिणामों को वापस न लें। अधिकांश समय यह मामला नहीं होगा और लाखों पंक्तियों पर भी एक साधारण $group
का परिणाम 16 मेग से कम की प्रतिक्रिया हो सकता है।
हमें आपके दस्तावेज़ों के आकार या समेकित प्रश्नों के बारे में कोई जानकारी नहीं है, जैसे कि हम नाउट की सलाह नहीं दे सकते।
यदि कोई एकल एकत्रीकरण ऑपरेशन सिस्टम रैम के 10 प्रतिशत से अधिक उपभोग करता है तो ऑपरेशन एक त्रुटि उत्पन्न करेगा।
यह वास्तव में सुंदर आत्म व्याख्यात्मक है। यदि एक ऑपरेशन के लिए कामकाजी सेट इतना बड़ा है कि यह गणना या समूह वाले क्षेत्रों पर 10 प्रतिशत से अधिक RAM ($group
/संगणित फ़ील्ड/$sort
) लेता है तो यह काम नहीं करेगा।
जब तक आप अपने ऐप तर्क को करने के लिए एकत्रीकरण ढांचे का प्रयास और दुरुपयोग नहीं करते हैं तो आपको वास्तव में इस समस्या में कभी भी भाग नहीं लेना चाहिए।
समेकन प्रणाली वर्तमान में स्मृति में $ समूह संचालन संग्रहीत करती है, जो बड़ी संख्या में समूहों को संसाधित करते समय समस्याएं पैदा कर सकती है। (यह "groupes" क्षेत्र)
$group
के बाद से वास्तव में कड़ी मेहनत करने के लिए स्मृति में ऐसा नहीं है इसका मतलब है कि उस समूह पर कार्रवाई की स्मृति में भी कर रहे हैं, यानी $sort
इस जगह है जहाँ आप कि 10% का उपयोग शुरू कर सकते हैं अगर आप सावधान नहीं हैं।
+1 देखें। – trashgod