sql >> Databáze >  >> NoSQL >> MongoDB

Jak MongoDB implementuje své prostorové indexy?

Tato prezentace od Grega Studera (10gen) podrobně pojednává o geoprostorových indexech:Geospatial Indexování pomocí MongoDB .

Standardní geoprostorová implementace jako v MongoDB 2.2 používá 2-D GeoHash přiblížení s proměnnými bity přesnosti:

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.

Přístup GeoHash má okrajové případy, kdy některé body mohou být prostorově blízko, ale mají různé hashe. MongoDB také obsahuje Geospatial Haystack Index který je speciálně vyladěn pro vyhledávání v malé oblasti "blízko" long/lat s jedním dalším indexovaným kritériem (například:"najít všechny restaurace v okruhu 25 mil s názvem 'foo'").

Další zajímavá prezentace Nicholase Knize (Thermopylae) staví do kontrastu současný přístup B-stromu / GeoHash s R- stromy . Pokud přeskočíte na snímek 8, je zde vizuální vysvětlení, které může být užitečné:Prostorové indexování RTree s MongoDB - MongoDC .




  1. Jak se připojit k MongoDB pomocí PhantomJS

  2. Chyba:Nelze se připojit k Redis na redis:6379:Název nebo služba nejsou známy

  3. MongoDb:Jak vložit další objekt do kolekce objektů v golangu?

  4. MongoDB $konvertovat