PostGIS फ़ंक्शन बफ़र्स और बाह्य संग्रहण को कैसे संभालते हैं?


17

मैं PostGIS में नए कार्यों की एक बढ़ती हुई सूची देखता हूं, जिनमें से कुछ शामिल हैं GEOS(उदाहरण के लिए ST_ClusterKMeans)। कुछ कार्य (उदाहरण के लिए pgrouting) अन्य पुस्तकालयों (जैसे BGL) पर निर्भर करते हैं ।

मेरी धारणा यह है कि इनमें से कई अंतर्निहित लाइब्रेरी (अक्सर C / C ++ में) मेमोरी और सेकेंडरी मेमोरी / स्टोरेज / डिस्क के बीच बफ़र्स मैनेजमेंट को हैंडल नहीं करती हैं।

तो क्या बड़े डेटा सेट पर पोस्टजीआईएस फ़ंक्शन उन बड़े डेटा सेटों पर काम करते हैं जिन्हें भौतिक (या आभासी) मेमोरी में संग्रहीत नहीं किया जा सकता है?

यदि हां, तो ये बफर प्रबंधन क्षमताएं कहां से (कार्यान्वयन के दृष्टिकोण से) आती हैं?

जवाबों:


11

नहीं, इनमें से अधिकांश "उच्च क्रम विश्लेषण" कार्यों में डेटा सेट के लिए कोई विशेष हैंडलिंग नहीं है जो मेमोरी में फिट हो सकते हैं। यदि आप उन्हें ऐसे डेटा सेट पर चलाते हैं, तो आप बैकएंड को छोड़ देंगे।

थोड़ी देर के लिए हम इस तरह के कार्य करने से बचते हैं, लेकिन जैसे-जैसे रैम डिफ़ॉल्ट रूप से बड़ा होता गया और लोग अधिक विश्लेषण चाहते थे और उनमें से कुछ ने कभी-कभी मेमोरी सीमा को मारा, लाभ / कमियां समीकरण "बस करो" के पक्ष में स्थानांतरित हो गए।

इन कार्यों में से सबसे पुराना, ST_Union () मूल रूप से मेमोरी बाउंड नहीं किया गया था , प्रदर्शन में (बहुत अधिक) खर्च पर। आप अभी भी मूल फ़ंक्शन, ST_MemUnion () का उपयोग कर सकते हैं, जो (भ्रामक) वास्तव में कम मेमोरी का उपयोग करता है , क्योंकि "मेम" का अर्थ "मेमोरी सेफ" है।

अन्य कार्य, जैसे ST_Buffer (), विभिन्न क्लस्टर, OOM होगा यदि आप उन्हें पर्याप्त डेटा खिलाते हैं।


1
"मेमोरी ऑफ़ आउट (OOM) कंप्यूटर ऑपरेशन की एक अक्सर अवांछित स्थिति है, जहाँ प्रोग्राम या ऑपरेटिंग सिस्टम द्वारा उपयोग के लिए कोई अतिरिक्त मेमोरी आवंटित नहीं की जा सकती है।" - विकिपीडिया
मार्टिन एफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.