sql >> Database >  >> NoSQL >> MongoDB

Hoe implementeert MongoDB zijn ruimtelijke indexen?

Deze presentatie van Greg Studer (10gen) bespreekt de geospatiale indexen in enig detail:Geospatial Indexeren met MongoDB .

De standaard geospatiale implementatie zoals bij MongoDB 2.2 maakt gebruik van een 2-D GeoHash benadering, met variabele bits van precisie:

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.

De GeoHash-benadering heeft randgevallen waarbij sommige punten ruimtelijk dicht bij elkaar liggen, maar verschillende hashes hebben. MongoDB bevat ook een Geospatial Haystack Index die specifiek is afgestemd op "near" long/lat-zoekopdrachten in kleine regio's met één extra geïndexeerd criterium (bijvoorbeeld:"vind alle restaurants binnen 25 mijl met de naam 'foo'").

Een andere interessante presentatie van Nicholas Knize (Thermopylae) contrasteert de huidige B-tree / GeoHash-aanpak met R- bomen . Als u doorgaat naar dia 8, is er een visuele uitleg die nuttig kan zijn:RTree Spatial Indexing met MongoDB - MongoDC .




  1. Hoe de cursor te sluiten in MongoKit

  2. MongoDB $addField en $indexOfArray in Spring Data

  3. MongoDB ontspant meerdere arrays

  4. mangoest (mongodb) Alias ​​_id veld