sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan implementerer MongoDB dets rumlige indekser?

Denne præsentation fra Greg Studer (10gen) diskuterer de geospatiale indekser i nogle detaljer:Geospatial Indeksering med MongoDB .

Den geospatiale standardimplementering som i MongoDB 2.2 bruger en 2-D GeoHash tilgang, med variable bits af præcision:

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-tilgangen har kanttilfælde, hvor nogle punkter kan være rumligt tæt på, men har forskellige hashes. MongoDB inkluderer også et Geospatial Haystack Index som er specifikt indstillet til "nær" lang/lat søgninger i små områder med et ekstra indekseret kriterium (f.eks.:"find alle restauranter inden for 25 miles med navnet "foo").

En anden interessant præsentation fra Nicholas Knize (Thermopylae) kontrasterer den nuværende B-tree / GeoHash-tilgang med R- træer . Hvis du springer videre til slide 8, er der en visuel forklaring, der kan være nyttig:RTree Spatial Indexing med MongoDB - MongoDC .




  1. Sådan afkortes et tal til 3 decimaler

  2. Flask MongoEngine sideinddelte dokumenter med billedfelt

  3. errmsg :Ingen vært beskrevet i ny konfiguration 1 for replika sæt rs0 maps til denne node. Hvorfor får jeg denne besked?

  4. Mongodb Java-forespørgsel til datointerval