Necesito poder mostrar la distancia a n ciudades/pueblos desde una ubicación particular elegida por el usuario. Es como hacer clic en un mapa y obtener todos los destinos dentro de las 100 millas, solo que no será un mapa sino un enlace en la página web.Cómo almacenar la distancia entre ciudades en BD de manera eficiente
Necesito elegir una solución que amplíe desde un estado a un país a nivel mundial potencialmente, lo que significa de mil a cientos de miles de ubicaciones.
Pensé en almacenar CITY1_ID, CITY2_ID & DISTANCE en una tabla de DB relacional, pero dudo si se escalara bien para una aplicación web (millones de filas).
¿Se podría hacer esto de manera más eficiente usando una base de datos NoSQL o una base de datos gráfica? ¿O es RDBMS lo suficientemente bueno para este problema con un diseño adecuado?
Agregado: Si no almaceno en DB, entonces ¿cómo obtendré algo así como: Conseguirme todas las ciudades dentro de las 100 millas de San Jose?
... Sí esto. Aunque ese segundo paso "luego calcular" es un poco complicado: D Definitivamente es una mala idea almacenar las distancias entre la ciudad y la ciudad (cada vez que sumas uno tienes que hacer 'n' cálculos /' inserciones '). El tipo de base de datos (RDBMS o NoSQL) no hace diferencia. – Rudu
Si no almaceno en DB, ¿cómo obtendré algo así como: llévame a todas las ciudades dentro de las 100 millas de San José? –
compruebe la fórmula GREAT CIRCLE DISTANCE o HAVERSINE DISTANCE. – Randy