क्योंकि हम उपयोगकर्ता के डाउनटाइम को बर्दाश्त नहीं कर सकते हैं और समाधान दैनिक आधार पर चलाया जाना है (यद्यपि बहुत छोटे पैमाने पर, जैसा कि हम इस पहले रन के साथ पकड़ रहे हैं) मैं साल्वाडोर डाली के समाधान का उपयोग नहीं कर सका। मैंने अपने रिकॉर्ड-टू-डिलीट को 1k के समूहों में समूहीकृत किया और एक delete()
युक्त एक BulkWrite कमांड भेजा। प्रत्येक रिकॉर्ड के लिए ऑपरेशन। समानांतर में मैंने प्रत्येक रिकॉर्ड के संदर्भों को रद्द करने के लिए n BulkWrite कमांड भेजे, जहां n उन संग्रहों की संख्या है जो रिकॉर्ड का संदर्भ देते हैं और जहां प्रत्येक BulkWrite अनुरोध में 1k व्यक्तिगत update()
है। ऑपरेशन, delete()
. के समान . इसने काफी तेजी से प्रदर्शन किया इसलिए मैंने बल्कराइट कमांड में संचालन की संख्या को समायोजित करके और अधिक अनुकूलित करने का प्रयास नहीं किया।