2016-09-19 6 views
5

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

तो मेरा सवाल यह है कि xdmp: संग्रह-संग्रह कैसे काम करता है?

क्या यह दस्तावेज़ों पर पुन: प्रयास करता है और उन्हें हटा देता है?

या

यह एसक्यूएल में ड्रॉप टेबल की तरह कुछ करना है और अपने "तात्कालिक"?

मैं जानना चाहता हूं कि xdmp: collection-delete के लिए पृष्ठभूमि प्रक्रिया क्या है। मुझे आश्चर्य है कि कोई भी इस फंक्शन को हटा सकता है कि यह फ़ंक्शन हटाए जाने के लिए दस्तावेज़ को कैसे संभालता है क्योंकि मैं इस प्रक्रिया को और अधिक गहराई से समझना चाहता हूं कि यह क्या करता है।

+0

ध्यान रखें कि तालिका छोड़ना दस्तावेजों के संग्रह को हटाने के समान ही नहीं है .. – grtjn

+0

क्या आप विस्तारित कर सकते हैं कि आप वास्तव में क्या कर रहे हैं? यह अनिवार्य रूप से एक लेनदेन में दस्तावेज़ों को पुन: स्थापित करने, उन्हें लॉक करने और उन्हें हटाने के लिए नीचे आता है। कुछ परिस्थितियों में यह कुछ शॉर्ट-कट ले सकता है, लेकिन इसे अभी भी नीचे वर्णित करने की आवश्यकता है, जैसा कि नीचे वर्णित है .. – grtjn

+0

हम सर्वर को अधिभारित किए बिना हमारे डेटाबेस में लाखों दस्तावेज़ों को हटाना चाहते हैं क्योंकि अन्य प्रक्रियाएं चल रही हैं यह भी है और हमारे पास सीमित सीपीयू और मेमोरी है, यही कारण है कि हमने अपना खुद का शुद्ध बनाया है जो बैच आकार लेता है और छोटे टुकड़ों में शुद्ध करता है। मैं सोच रहा था कि यह कार्य हमारे कस्टम purger पर एक बेहतर दृष्टिकोण था। –

उत्तर

8

xdmp:collection-delete() संग्रह में सभी दस्तावेज़ों को एक ही लेनदेन में हटा देगा। हालांकि यह तात्कालिक नहीं है, यह तेज़ होना चाहिए, क्योंकि इसे प्रत्येक दस्तावेज़ के हटाने का समय निर्धारित करने की आवश्यकता है।

+0

नामक एक संग्रह में तेज़ माध्यम सेकंड होता है? क्या यह लंबे समय तक दस्तावेज़ों पर ताले रखेगा? (जो मूल रूप से हम से बचने की कोशिश कर रहे हैं।) –

+1

xdmp से पहले मिलने के लिए कुछ मानदंड हैं: संग्रह-हटाए जाने वाले तेज़ मोड में निष्पादित किया जाएगा, लेकिन तेज मोड में भी इसे हटाए जाने के लिए ताले लगाएंगे एसीआईडी ​​शिकायत के लिए। – grtjn

+0

मैं वास्तव में इसे लाइव सर्वर पर चलाने के लिए जा रहा हूं, इसलिए मैं जानना चाहता हूं कि xdmp: collection-delete के लिए पृष्ठभूमि प्रक्रिया क्या है। मुझे आश्चर्य है कि कोई भी इस फंक्शन को हटा सकता है कि यह फ़ंक्शन हटाए जाने के लिए दस्तावेज़ को कैसे संभालता है क्योंकि मैं इस प्रक्रिया को और अधिक गहराई से समझना चाहता हूं कि यह क्या करता है। –

1

आप दस्तावेज़ों को एक-एक करके हटाने के लिए corb का उपयोग करने का प्रयास कर सकते हैं। समानांतर प्रसंस्करण के लिए आप थ्रेड बढ़ा सकते हैं।

संबंधित मुद्दे