postgresql elasticsearch geospatial postgis

PostgreSQL PostGIS vs ElasticSearch Búsqueda espacial



geospatial (1)

Estoy trabajando en una consulta de búsqueda que necesita hacer un filtro geoespacial (es decir, filtrar todos los elementos fuera de un radio determinado). Tenemos PostgreSQL y ElasticSearch como parte de nuestra infraestructura y estoy evaluando cuál de los dos usar.

No estoy pidiendo "que es mejor", pero una lista objetiva de ventajas y desventajas sería útil, en términos de facilidad de implementación, rendimiento, escalabilidad, etc.


El postgis se escala de la misma manera que las escalas postgresql. El índice postgis funcionará de manera similar a otros relacionales, puedes consultarlo aquí .

Si echa un vistazo al enlace, explica que indexa usando algún algoritmo geométrico que se realiza en cada operación de inserción, por lo que puede no ser lo suficientemente sensible en las aplicaciones en tiempo real.

Mientras que elasticsearch tiene una indexación en tiempo real, basada en el índice de Lucene.

Para las aplicaciones en tiempo real, el modelo ACID que utiliza cualquier base de datos relacional puede ser un desperdicio y la tarea puede no necesitar este tipo de seguridad.

Postgresql usa el modelo ACID, que puede ser una desventaja en aplicaciones pesadas en tiempo real .

Mientras

Elasticsearch es una especie de motor de búsqueda que está hecho para la búsqueda en tiempo real .

¿Debe decidir qué tipo de búsqueda necesita según determinada tarea?

Ejemplo : el modelo ACID no es práctico en mi tarea particular, así que no me gusta perder tiempo para sincronizar y otras cosas, hice back-end para la aplicación de citas según la ubicación de los usuarios (obteniendo todos los usuarios en un radio de 1 km).