क्या अच्छा डेटाबेस डिज़ाइन स्थानिक डेटाबेस के लिए कम महत्वपूर्ण है?


15

मुझे एक मजबूत भावना है कि स्थानिक डेटा से निपटने के दौरान डेटाबेस डिजाइन और सामान्यीकरण अक्सर दूसरे हाथ में आता है।

सॉफ्टवेयर के साथ एक सौभाग्य और डेटाबेस के साथ 100 से अधिक क्षेत्रों की तालिकाएँ मुझे पूछनी हैं:

क्या स्थानिक डेटाबेस डिजाइन करते समय सामान्यीकरण की तुलना में अन्य विचार करने के लिए अच्छे कारण हैं?

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

तर्क क्या हैं?


आर्कजीआईएस के मामले में, संदर्भात्मक अखंडता के साथ एक सामान्यीकृत डेटाबेस को पूरा करना मुश्किल है, क्योंकि आप केवल आपके सामने आने वाले डेटाबेस सुविधाओं तक ही सीमित हैं और आर्कजीआईएस द्वारा समर्थित हैं। यह एक रिलेशनल डेटाबेस आदमी के रूप में बहुत निराशाजनक है ... टेलीफोन का एक गेम खेल रहा है, बीच में आर्कस्डी।
nw1

जवाबों:


16

मुझे लगता है कि स्थानिक डेटाबेस को पारंपरिक डेटाबेस से अलग नहीं माना जाना चाहिए। वे अनिवार्य रूप से एक ही काम कर रहे हैं, तेजी से पुनर्प्राप्ति के लिए बड़ी मात्रा में डेटा संग्रहीत करते हैं। एक उदाहरण के रूप में, PostgreSQL / PostGIS में, ज्यामिति सिर्फ एक और डेटाटाइप है। जैसे पाठ, या पूर्णांक। SQL Server 2008 में ही। Oracle में भी ऐसा ही है। यदि डेटाबेस में "स्थानिक" भाग सिर्फ एक अन्य फ़ील्ड प्रकार है, तो क्या यह वास्तव में मूल डेटाबेस से अलग है? क्या इसका मतलब है कि हमें पारंपरिक डेटाबेस डिजाइन के सभी नियमों को छोड़ देना चाहिए?

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

यदि आप 100 स्तंभों की तालिकाओं के साथ एक अत्यधिक डी-सामान्यीकृत संरचना बनाने की योजना बना रहे हैं, तो आपको खुद से पूछना होगा कि भविष्य में क्या परिवर्तन होने की संभावना है? पंक्तियों में भारी वृद्धि के साथ, क्या यह क्वेरी प्रदर्शन को प्रभावित करने वाला है? क्या यह भविष्य में स्थिरता को प्रभावित करने वाला है?

एक सामान्यीकृत संरचना के साथ क्या गलत है और डेटाबेस क्लाइंट को सभी डेटा को उजागर करने के लिए विचारों का उपयोग करते हुए, क्या यह जीआईएस, या कोई अन्य क्लाइंट है?

ये सभी प्रश्न पारंपरिक डेटाबेस और स्थानिक डेटाबेस दोनों पर लागू होते हैं। यदि आप http://en.wikipedia.org/wiki/Database_normalization से गुज़रते हैं तो आप पाएंगे कि यह स्थानिक डेटाबेस पर भी लागू होता है।

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

इसलिए मुझे लगता है, संक्षिप्त उत्तर (मेरी राय में) डेटाबेस डिजाइन सिर्फ स्थानिक डेटाबेस के साथ पारंपरिक डेटाबेस के साथ के रूप में महत्वपूर्ण है।


1
डेटा की प्रकृति के लिए "सर्वोत्तम" डिज़ाइन बनाम डीबी-संरचना को निर्धारित करने वाले सॉफ़्टवेयर के बीच अंतर करने के लिए महत्वपूर्ण बिंदु +1।
मैट विल्की

हां, इस उत्तर और मैट की टिप्पणी दोनों से मैं सहमत हूं। लेकिन मुझे आशा है कि कोई यह समझा सकता है कि ऐसा अक्सर क्यों नहीं किया जाता है। मैं प्रश्न को थोड़ा संपादित करूँगा।
निकलैस एवन

मैं सहमत हूँ। एक अतिरिक्त बात जो मुझे मिली वह यह है कि डेटाबेस प्रदर्शन आपके निर्णय को सामान्य करने या न करने के लिए प्रभावित कर सकता है। कुछ मामलों में मैं देखता हूं कि दो डेटाबेस का उपयोग किया जाता है, एक 'मास्टर' डेटाबेस जिसमें सामान्यीकृत डेटा होता है, और एक सेकेंडरी डेटाबेस जो केवल प्रदर्शन उद्देश्यों के लिए उपयोग किया जाता है। यह केवल वही होता है जो (जीआईएस) डेटा प्रदर्शित करने के लिए आवश्यक होता है, आमतौर पर एक ही तालिका में।
बेरेंड

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

6

मैं इसे बहुत देखता हूं। मुझे लगता है कि यह इस तथ्य से उपजा है कि परंपरागत रूप से जीआईएस लोग पृष्ठभूमि का सर्वेक्षण करने से आते हैं, और डेटाबेस की पृष्ठभूमि / समझ नहीं है। मैं इस बदलाव को देख रहा हूं, क्योंकि ज्यादा से ज्यादा संगठन जीआईएस इन्फ्रास्ट्रक्चर को आईटी फोल्ड में स्थानांतरित कर रहे हैं।


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

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

5

जीआईएस सॉफ्टवेयर लिगेसी

आर्कएसडीई की पिछली उच्च लागत और एसक्यूएल सर्वर (2008 तक) में एक स्थानिक डेटाटाइप की कमी और संस्करण 10 तक ओरेकल का मतलब था कि कई संगठनों के लिए (और निविदाकर्ताओं द्वारा बोली नीचे रखने के लिए) डेटा को स्टोर करने के लिए बहुत कम विकल्प थे। ।

SQL सर्वर में देशी स्थानिक प्रकारों की शुरूआत का अर्थ लगभग यह था कि ArcSDE एक विशाल निवेश से, ArcGIS में मुफ्त में शामिल होने के लिए गया था, और संगठनों में स्थानिक डेटा की "तह में लाना"।

पहले आर्कगिस और एसक्यूएल सर्वर का उपयोग करने वाले संगठनों के पास तीन विकल्प थे:

  1. ArcSDE खरीदने और "उचित" SQL सर्वर डेटाबेस में स्थानिक डेटा संग्रहीत करने के लिए 20k + शुल्क का भुगतान करें।
  2. आकृति डेटा / व्यक्तिगत GDBs में स्थानिक डेटा संग्रहीत करें, और डेटाबेस में संगठनात्मक डेटा के शेष से लिंक करें (या DBFs को इन विशेषताओं को निर्यात करें)
  3. जीआईएस विक्रेताओं को स्विच करें और एक डेटाबेस में स्थानिक डेटा को स्टोर करें लेकिन नए जीआईएस सॉफ्टवेयर द्वारा केवल सुलभ प्रारूप में

एक बार जब SQL सर्वर में एक देशी स्थानिक प्रकार होता था, तो अधिकांश विक्रेता अपने मालिकाना प्रारूप के बजाय इसका उपयोग करते थे, जिसका अर्थ है कि स्थानिक डेटा को अचानक अन्य अनुप्रयोगों तक पहुँचा जा सकता था। ESRI को या तो ArcSDE की लागत को कम करना था (जो उन्होंने इसे ArcGIS में एकीकृत करके किया था) और / या स्थानिक डेटा को मूल डेटाबेस प्रारूप में संग्रहीत करने की अनुमति दी।

इसके अलावा आर्कफ्स में शेपफाइल्स पर किए गए सवालों का मतलब है कि डीबीएफ से जुड़े सभी आवश्यक क्षेत्रों और दोहराव को शामिल करना था क्योंकि स्थानिक विचार बनाने के लिए कोई विकल्प नहीं था, या आसानी से बैक एंड डेटाबेस के साथ सुविधाओं को जोड़ना था।

संगठनात्मक कारण

मैं अन्य लोगों से सहमत हूं कि हाल ही में जब तक स्थानिक डेटा एक देशी डेटाबेस प्रकार बन गया, जिसे लंबे समय से अनदेखा किया गया है या संगठनों में डेटाबेस प्रशासकों द्वारा अलग रखा गया है, और एक जीआईएस प्रबंधक की प्रायोजन बन गया है। डेटाबेस डिजाइन, सामान्यीकरण, प्रतिकृति, सुरक्षा और एसक्यूएल विचारों की अवधारणाओं को अक्सर एक बहुत अलग और विशेष कौशल की आवश्यकता होती है और आसानी से सीखा नहीं जा सकता है जैसा कि आप साथ चलते हैं।

लागत कारण

एक निविदा में एक बड़ी मात्रा में समय और डेटा मॉडल पर खर्च किए जाने की आवश्यकता, और इस मॉडल में डेटा की सफाई / आयात करना अक्सर असंभव होता है। अक्सर परियोजना खरीदार जीआईएस के एक विश्लेषणात्मक दृष्टिकोण से आ रहे हैं और संरचित डेटा के महत्व की अनदेखी करते हैं।


मैं समझता हूं और आप जो लिखते हैं उससे सबसे अधिक सहमत हूं। लेकिन आर्कईआईएस सर्वर का नाम बदलने के बाद एसडीई का हिस्सा मुफ्त में दिया जाता है, यह कहने जैसा नहीं है: यदि आप इस कार के बॉउटल रंग को 100000 डॉलर में खरीदते हैं तो आपको बाकी की कार मुफ्त में मिल जाएगी। मुझे नहीं पता कि आर्कजीआईएस अच्छी तरह से लेकिन एसडीजी भाग के बिना आर्कगिस सर्वर क्या है? और मैंने कभी किसी को यह कहते नहीं सुना कि आर्कगिस सर्वर सस्ता है। मैं वास्तव में नहीं देखता कि SQL सर्वर स्थानिक प्रकारों ने ArcGIS को कैसे प्रभावित किया है। लेकिन जब से आर्क उत्पादों का व्यापक रूप से प्रसार हुआ है, मैं सहमत हूं कि आर्क रोड पर एक बड़ा अशुभ प्रभाव है कि लोग अपने स्थानिक डेटा के बारे में कैसे सोचते हैं।
निकलैस एवन

ArcGIS सर्वर से पहले, ArcSDE ArcMap और ArcIMS से पूरी तरह से अलग हुआ करता था और इसे अलग से खरीदा और लाइसेंस दिया जाना था। चूंकि SQL सर्वर में स्थानिक डेटा संग्रहीत करने का एकमात्र तरीका ArcSDE था (या उस समय Oracle) इसका मतलब था कि स्थानिक डेटा कहीं और संग्रहीत किया गया था।
geographika

ठीक है, SDE के साथ पैकेज में ArcIMS नई अवधारणा है। प्रति उपयोगकर्ता या फ़्लोटिंग के लिए अलग-अलग लाइसेंस की जरूरत है? अपमानजनक, लेकिन मैं थोड़ा उत्सुक हूं।
निकलस एवेन

बड़ी मात्रा में अतिरिक्त पैसे का भुगतान किए बिना एक रिलेशनल डेटाबेस में स्थानिक डेटा को एक्सेस करना / संग्रहीत करना नई अवधारणा नहीं थी। esri.com/software/arcgis/arcsde/index.html
geographika

ArcGIS सर्वर बड़ी राशि नहीं है? जहाँ तक मुझे पता है कि आप बिना किसी वर्ग के सेमीकैप में sqlserver fomat या postgis format (ziggis के बिना) का उपयोग नहीं कर सकते, इसके बीच में क्षमा करें ArcGIS सर्वर।
निकलैस एवन

4

100-कॉलम-तालिकाओं द्वारा, मेरा मानना ​​है कि कई इनपुट्स के "मास्टर कवरेज" ओवरले के निर्माण से आपको प्राप्त होने वाले आउटपुट के प्रकार का मतलब है। हाँ, ये आर्क / इन्फो वर्कफ़्लो की कलाकृतियाँ हैं। लेकिन, रक्षा में, आप उन्हें OLAP के लिए जानबूझकर डी-सामान्यीकृत तालिकाओं के रूप में भी सोच सकते हैं । चूंकि वे बड़े पैमाने पर क्वेरी प्रोसेसिंग के लिए उपयोग किए जा रहे हैं, डेटा अपडेट के लिए नहीं, डी-सामान्यीकृत रूप कुछ समझ में आता है। एक स्टार स्कीमा की तरह , लेकिन बिना, एर, अंक। ठीक है, कमजोर चाय, लेकिन फिर भी मुझे लगता है कि वहां कुछ है।


1
हाँ, पॉल। मुझे पता था कि वहाँ कुछ स्पष्टीकरण होगा जिसमें मैं वास्तव में समझ में नहीं आता :-) भी शामिल है। बहुत दिलचस्प है कि इसके पीछे एक जानबूझकर इतिहास है। महान!
निकलैस एवेन

3

हां, यदि एक नया जीआई प्रोजेक्ट डिजाइन शुरू करना महत्वपूर्ण है और भविष्य में समय = धन बचा सकता है। http://www.amazon.com/Spatial-Database-Systems-I कार्यान्वयन - प्रबंधन / dp/ 1402053916 यह महत्वपूर्ण क्यों है के लिए एक अच्छा अवलोकन है।


मैपरज़, सवाल उपेक्षित है, अगर यह कम महत्वपूर्ण है। आपका मतलब है कि यह कम महत्वपूर्ण नहीं है, है ना?
निकोलस एवेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.