आर्कजीआईएस इंजन का प्रदर्शन एक के विपरीत कई फाइल जियोडैट डेटाबेस का उपयोग कर रहा है?


11

मैं आर्कगिस इंजन एप्लिकेशन के लिए अपने डेटा को व्यवस्थित करने का सबसे अच्छा तरीका तय करने की कोशिश कर रहा हूं। मैं मानचित्र प्रदर्शन और क्वेरी गति में विशेष रूप से दिलचस्पी रखता हूं। वर्तमान में मेरे पास थीम के आधार पर मेरे सभी डेटा अलग फाइल जियोडैट डेटाबेस में अलग हो गए हैं। इसलिए मेरे पास Transport.gdb, Utilities.gdb इत्यादि हैं। डेटा को आवश्यक रूप से थीम के आधार पर व्यवस्थित करने की आवश्यकता नहीं है, और मैं यह सब एक फाइल जियोडेटाबेस में डालने पर विचार कर रहा हूं।

मैं अपना परीक्षण स्वयं करूंगा, लेकिन मैं इस प्रश्न को समुदाय तक पहुंचाना चाहता था।

सामान्य तौर पर, एकाधिक (लगभग 7) छोटे वाले का उपयोग करने की तुलना में तेजी से एक एकल फ़ाइल जियोडैटाबेस का उपयोग कर रहा है? मैं किसी भी अन्य पेशेवरों / विपक्ष में रुचि रखता हूं।

नोट: सॉफ्टवेयर और सारा डेटा ग्राहक की स्थानीय मशीन पर होगा। वेब पर या किसी नेटवर्क पर कोई डेटा नहीं दिया गया है, और डेटा की मात्रा काफी कम है (लगभग 100,000 सुविधाएँ)।

जवाबों:


5

मैं दूसरे रास्ते पर जा रहा हूं और वास्तव में कहता हूं कि नहीं, आपके द्वारा वर्णित इस विशेष उपयोग-मामले के लिए जियोडेटा को अलग करने के लिए यह एक अच्छा प्रदर्शन सुधार नहीं है

आपको यह याद रखना होगा कि एक डीबी के कनेक्शन से जुड़ी लागत है। जियोडाटाबेस के मामले में, यह सभी संबंधित मेटाडेटा तालिकाओं को लोड कर रहा है। इसलिए जब भी आप अपने डेटा को कई GDB में अलग करते हैं, तो आप केवल उस लागत को बढ़ा रहे हैं, क्योंकि अब आपको इन तालिकाओं के कई संस्करण (प्रत्येक DB के लिए एक) खोलना होगा। आमतौर पर अलग डीबीएस क्वेरी करने के लिए बहुसंकेतन सकता है भी मतलब आई / ओ के साथ कैश कि अवैध हो जाता है।

फिर भी, कई मामले ऐसे होते हैं जब कई डीबी बेहतर काम कर सकते हैं। उदाहरण के लिए। एक व्यक्तिगत gdb (फ़ाइलगार्ड नहीं) के मामले पर विचार करें जो कि 700MB बनाम दो है जो 350MB का एक टुकड़ा है। MS Jet ड्राइवर (.mdb फ़ाइलों के साथ इंटरेक्ट करने के लिए किसका उपयोग किया जाता है) 500MB से छोटी मेमोरी फ़ाइलों को मेमोरी करेगा - इसलिए यदि मशीन में पर्याप्त मेमोरी है, तो आप DB के साथ मेमोरी बनाम किसी भी डिस्क i / o में पूरी तरह से इंटरैक्ट करेंगे। बहुत तेज। 700MB की फाइल मैमोरी मैप नहीं होगी।

इस मामले को समीकरण से बाहर ले जाने, तो यह अलग dbs करने का कोई मतलब नहीं है। ArcMap, क्योंकि यह परतों के माध्यम से लूपिंग है, प्रत्येक परत को क्रमिक रूप से क्वेरी करेगा, इसलिए आपके पास कोई समानता नहीं है।

आप इसके बजाय अपने FileGDB अनुक्रमित के पुनर्निर्माण से बेहतर हैं।

और हाँ, एक SSD निश्चित रूप से मदद करेगा।


1
ओह। <500mb .mdb की मेमोरी मैपिंग दिलचस्प है। मैंने व्यक्तिगत जीडीबी के रूप में लिखा था कि आर्कगिस में आवश्यक दर्दनाक ऐड-ए-कॉपी-एंड-डिलीट प्रक्रिया के बजाय एमएस-एक्सेस में री-ऑर्डर और री-नेमिंग फ़ील्ड के अलावा कुछ भी अच्छा नहीं है। शायद अब मेरे पास समय-समय पर उनका उपयोग करने का एक और कारण है। डिस्क आकार पर 500mb टिपिंग बिंदु फ़ाइल है या कुछ और? (उदाहरण के लिए एक jpeg डिस्क पर 30kb हो सकता है, फिर भी खुले होने पर बहु ​​मेगाबाइट की खपत करता है)।
मैट विल्की

1
जहाँ तक मुझे याद है, यह जेट इंजन का ही व्यवहार था, न कि ईएसआरआई का ट्रिगर। साथ ही, यह 500MB से थोड़ा छोटा था। फ़ाइल आकार बनाम मेमोरी के बारे में अच्छा सवाल। मुझे लगता है कि यह फ़ाइल का आकार था - लेकिन मुझे ठीक से याद नहीं है, आपके साथ ईमानदार होने के लिए
रागी यासर बुरहुम

4

वास्तव में यह सामान्य रूप से चारों ओर का रास्ता है; छोटे डेटाबेस तेजी से क्वेरी करते हैं। यह पूछने की तरह है कि क्या आप सामान को तेजी से पा सकते हैं यदि आप सब कुछ तहखाने में एक बड़े ढेर में फेंकते हैं, बजाय इसे व्यक्तिगत फाइलिंग कैबिनेट में छांटे। जब आपके पास अलग-अलग डेटाबेस होते हैं, तो यह 6 फाइलिंग कैबिनेट्स की तरह होता है, जिसे आप सीधे शुरू से ही अवहेलना कर सकते हैं, और देखने की जरूरत नहीं है। बेशक यह माना जाता है कि आपको पता है कि किस डेटाबेस को क्वेरी की आवश्यकता है - यदि आपको वैसे भी उन सभी को देखने की आवश्यकता है, तो एक बड़ा एक वास्तव में तेज हो सकता है (क्योंकि यह संपूर्ण के रूप में डेटासेट को अनुकूलित कर सकता है)।


3

एक समय में, मेरे पास आर्करीडर के साथ एक समान सेटअप था, जो जीआईएस के लिए बहुत अच्छी तरह से कल्पना नहीं कर रहे थे और जीआईएस सर्वर के लिए एक स्थिर नेटवर्क कनेक्शन बनाए रखने के लिए भाग्यशाली थे ( हम अस्थिर वायर्ड कनेक्शन की बात कर रहे हैं ... वायरलेस नहीं )।

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

यदि आप ऐसे वातावरण में हैं, जहाँ आपके पास मजबूत जियोडैटबेस प्रतिकृति क्षमता नहीं है या आप केवल वितरण के लिए फाइल जियोडैटेबेस प्राप्त कर रहे हैं, तो इस तरह से अपने डेटा स्टोरेज को तोड़कर प्रबंधन करना आसान हो सकता है।

आपके प्रदर्शन प्रश्न का उत्तर देने के लिए: मैंने कभी नहीं देखा कि मेरे डेटा स्टोर को अलग फ़ाइल जियोडैट डेटाबेस में तोड़कर कोई गति कम हो जाती है। इसका मतलब यह नहीं है कि वहाँ कोई नहीं था, लेकिन अगर वहाँ था, यह मानव-बोधगम्य नहीं था। यह ध्यान देने योग्य है कि इन कॉन्फ़िगरेशनों में 1 हार्ड डिस्क पर सभी फ़ाइल जियोडेट डेटाबेस थे - यदि आप उन्हें SCSI / SSD उपकरणों में फैला चुके थे, तो आपको प्रदर्शन लाभ मिल सकता है।


2

मेरे पास एक बार लगभग पांच आर्कजीस सर्वर वेबएडीएफ वेब अनुप्रयोग थे जो प्रत्येक एक अलग भौगोलिक क्षेत्र को कवर करते थे, लेकिन वे सभी साझा डेटासेट थे। हत्यारा यह था कि ऐप्स सभी गतिशील थे (कुछ भी नहीं कैश किया गया था) और हमारे पास उनमें तेल और गैस के कुएं थे जो सैकड़ों (हजारों की संख्या में वास्तव में पूरे अमेरिका के लिए) संख्या में हो सकते थे। संपूर्ण डेटासेट पर प्रश्न करना दर्दनाक था - वास्तव में वे आमतौर पर सिर्फ टाइमआउट करते थे। प्रत्येक क्षेत्र के लिए डेटा को अलग करना और एक अलग डेटास्टोर में रखना हमारे प्रदर्शन और हमारे ग्राहकों को खुश रखता है। आप की तरह, हमने सर्वर पर HDD पर संग्रहीत फ़ाइल जियोडैट डेटाबेस भी रखा, जिसने ALOT की भी मदद की। हमारे पास एक स्वचालित प्रक्रिया थी जो डेटा को प्रत्येक रात प्रत्येक फ़ाइल जियोडेटाबेस से बाहर कर देती थी।

वास्तव में इसका उत्तर नहीं है, लेकिन जैसा आप कर रहे हैं, उसके बारे में कुछ इसी तरह का एक केस स्टडी है। अगर हमारे पास सौदा करने के लिए इतनी गतिशील सुविधाएँ नहीं होतीं, तो हमें ऐसा नहीं करना पड़ता। कभी-कभी सामान्य से थोड़ा हटकर काम करना आवश्यक होता है।


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

4
मुझे नहीं लगा कि आप वेब पर काम कर रहे हैं, लेकिन यहां तक ​​कि नेटवर्क शेयर पर FGDBs होने से पाइप के ऊपर से डेटा धीमा हो सकता है। यदि आप विशाल डेटासेट के साथ काम नहीं कर रहे हैं, तो मुझे नहीं लगता कि अलग-अलग एफजीडीबी आपको बहुत अच्छा करेंगे - यह एक दर्द की तुलना में अधिक हो सकता है क्योंकि यह इसके लायक होगा।
चाड कूपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.