Me gustaría conocer su opinión. Creé una aplicación, donde los usuarios crean rutas y rastreamos esta ruta y guardamos puntos de la base de datos. Luego, la aplicación hace comparaciones de los puntos de paso de los usuarios.¿La manera más eficiente de guardar puntos de paso y hacer comparaciones?
Actualmente, utilizo un servidor MSSQL
, usando dos tablas, una para Rutas y la otra para almacenar puntos de ruta (con tipo de datos espaciales). Las comparaciones se realizan en un procedimiento almacenado utilizando las funciones geográficas de SQL Server, como st_distance ...
He investigado otras opciones. Uno que implementé es con Oracle 11g usando objetos. Guardo todos los datos en una sola Tabla de objetos y los puntos de ruta se almacenan en una variedad de un tipo con atributos de latitud y longitud. De esta manera es muy eficiente guardar y recuperar datos, pero se complica un poco al comparar.
Estoy buscando una solución NoSQL
, algún algoritmo o método para hacerlo de manera eficiente. ¿Qué piensas?
¿Te ha respondido mi pregunta? –
Sí, ayudó, ¡gracias! Creo que la solución no está en la forma en que almaceno la información, sino en el algoritmo para comparar puntos de referencia. Para hacer esto, primero tengo que reducir la cantidad de puntos de referencia a los más relevantes y uniformes que pueden coincidir con otras rutas y luego hacer una comparación (como dice tu respuesta). Realmente no lo he probado, si resulta con un mejor rendimiento, publicaré mi solución. –