2012-09-19 10 views
5

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

क्या इसका मतलब है कि मोंगोड ने पृथ्वी को कई ग्रिड में विभाजित किया है?

उत्तर

6

ग्रेग स्टूडर (10gen) से यह प्रस्तुति कुछ विस्तार से भू-स्थानिक सूचकांक पर चर्चा करती है: Geospatial Indexing with MongoDB

MongoDB 2.2 पर के रूप में मानक भू-स्थानिक कार्यान्वयन 2-डी GeoHash दृष्टिकोण का उपयोग करता, परिशुद्धता के चर बिट के साथ:

By default, precision is set to 26 bits which is equivalent to approximately 
2 feet given (longitude, latitude) location values and default (-180, 180) 
bounds. 

GeoHash दृष्टिकोण किनारे मामलों में जहां कुछ बिंदुओं स्थानिक करीब हो लेकिन अलग अलग हो सकता है है हैश। मोंगोडीबी में Geospatial Haystack Index भी शामिल है जो विशेष रूप से छोटे क्षेत्र "पास" लंबी/लेट सर्च के लिए एक अतिरिक्त अनुक्रमित मानदंड के साथ ट्यून किया गया है (उदाहरण के लिए: "25 मील के भीतर सभी रेस्तरां को 'foo' 'के साथ ढूंढें)।

निकोलस नाइज (थर्मामोला) से एक और दिलचस्प प्रस्तुति वर्तमान बी-पेड़/जियोहाश दृष्टिकोण R-trees के साथ विरोधाभास करती है। यदि आप स्लाइड 8 पर आगे बढ़ते हैं, तो एक दृश्य स्पष्टीकरण है जो उपयोगी हो सकता है: RTree Spatial Indexing with MongoDB - MongoDC

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