मैं कुछ वर्षों के लिए PostGIS का उपयोग कर रहा हूं और केवल हाल ही में यह जांचना शुरू किया है कि मैं कुछ उपयोग-मामलों से निपटने के लिए MongoDB का उपयोग कैसे कर सकता हूं। मैं उस बिंदु डेटा के साथ काम कर रहा था जिसमें विरल क्षेत्र थे - जैसे OSM डेटा प्रति रिकॉर्ड टैग की एक अलग संख्या के साथ, और चूंकि MongoDB के पास कोई स्कीमा नहीं है, इसलिए यह खुद को अच्छी तरह से उधार देता है। मैंने प्रत्येक डीबी के उदाहरण में इस डेटा का एक नमूना लोड किया और यही मैंने पाया।
यह मुझे प्रतीत होता है कि बिंदु डेटा के सरल भंडारण और पुनर्प्राप्ति के लिए मोंगो ठीक काम करता है। बाउंडिंग बॉक्स जियोस्पेशियल क्वेश्चन अच्छी तरह से काम करने लगते हैं, और मुझे लगता है कि समग्र प्रदर्शन बहुत अच्छा है। सेटअप करना और जाना बहुत आसान है, हालांकि मैंने पाया है कि मोंगोइमपोर्ट टूल मुझे टीएसवी या सीएसवी फ़ाइल में एक कंपाउंड 2 डी कोर्ड फील्ड को परिभाषित करने की अनुमति नहीं देता है। चूँकि JSON बनाने वाली स्क्रिप्ट लिखना बहुत आसान है, इसलिए यह एक समस्या नहीं है। इस समय इसकी बड़ी कमी यह है कि भू-स्थानिक क्षेत्र में लगभग कुछ भी नहीं है, इससे मूल रूप से डेटा पढ़ सकते हैं। Https://github.com/springmeyer/mapnik-mongo पर एक प्रायोगिक मैपिक डेटासोर्स प्लगइन प्रतीत होता है , लेकिन यह सब मुझे मिल सकता है।
दूसरी ओर पोस्टजीआईएस को स्थापित करने में थोड़ा समय लगता है (कम से कम मेरे लिए), लेकिन जैसा कि ऊपर उल्लेख किया गया था, यह बॉक्स के ठीक बाहर अधिक सुविधाएँ प्रदान करता है। बहुत अधिक परिष्कृत स्थानिक विश्लेषणात्मक क्षमता प्रदान करने के अलावा, यह मूल रूप से अन्य अनुप्रयोगों और पुस्तकालयों के एक टन द्वारा समर्थित है; Mapserver, Mapnik, QGis, GDAL, इत्यादि, आदि, मेरे लिए, PostGIS एक साधारण भंडारण और पुनर्प्राप्ति प्रणाली के बजाय एक वास्तविक GIS प्रणाली है।
जहां तक प्रदर्शन जाता है, मैंने पाया कि मैं दोनों प्रणालियों से बहुत जल्दी डेटा पुनर्प्राप्त कर सकता हूं। हालांकि, ऐसा लग रहा था कि PostGIS इंडेक्स की उपस्थिति से अधिक लाभान्वित हुआ। MongoDB एक बार में मुझे (2 मिलियन रिकॉर्ड) सेट किए गए पूरे डेटा को वापस करने में थोड़ा तेज था, और एक इंडेक्स का उपयोग करने वाली क्वेरी पर थोड़ा धीमा - पहली बार। मैं उस तंत्र के बारे में बिल्कुल निश्चित नहीं हूं जो यह कैशिंग के लिए उपयोग करता है, लेकिन मैं देख सकता हूं कि अगर मैं MongoDB में एक क्वेरी दोहराता हूं, तो परिणाम 2 बार के आसपास बहुत जल्दी वापस आते हैं। मैं PostGIS में कुछ समान देखता हूं, लेकिन समान डिग्री के लिए नहीं। मैंने यह भी ध्यान दिया है कि मेरी मशीन पर मेमोरी का उपयोग मोंगोबीडी के साथ चलने के मुकाबले कहीं अधिक है क्योंकि यह पोस्टजीआईएस के साथ है।
इसलिए, मेरा निष्कर्ष यह है कि मैं अपने डिफ़ॉल्ट भू-स्थानिक भंडारण और विश्लेषण प्रणाली के रूप में PostGIS से छुटकारा पाने के लिए नहीं जा रहा हूं, लेकिन कुछ प्रकार की परियोजनाओं के लिए (अर्थात वेब मानचित्र जो छवि टाइल और / या बिंदु डेटा प्रदर्शित करते हैं) मैं MongoDB का उपयोग करने पर विचार कर सकता हूं मेरे डेटा स्टोर के रूप में।
आरे