Estoy tratando de encontrar información sobre este tema, pero la mayoría de los artículos que encuentro tienen más de 3 años. También soy bastante nuevo en este lado de las cosas y no estoy seguro de a quién preguntar.
Para mi caso de uso particular, no soy un experto en bases de datos, pero he usado MongoDB varias veces antes. Solo he usado PostgreSQL una vez para un proyecto pequeño (sin elementos GIS involucrados). Por lo que vale, tengo una pequeña cantidad de datos en este momento que he almacenado en dynamoDB. Hay una biblioteca geográfica para ello, pero solo está disponible en Java y no conozco Java muy bien.
Mi caso de uso es bastante simple: además de los datos del perfil del usuario, quiero poder consultar los marcadores agregados por los usuarios. Marcadores dentro de X millas del latLng actual de un usuario autenticado, etc. Los marcadores tienen otros datos además de latLng asociados con ellos, como el usuario que lo agregó, el título, la descripción, etc.
Mi objetivo es poder devolver resultados al lado del cliente con marcadores dentro de X millas en su ubicación actual desde la más cercana a la más lejana mediante una API web. Para esto, entre Mongo y PostgreSQL, ¿cuál sería mejor para empezar?
PostgreSQL puede brindarle funcionalidades (geo)espaciales completas a través de PostGis , aunque es posible que no necesite tanto en su aplicación.
Si solo necesita encontrar usuarios rápidamente dentro de un cierto radio de un punto (lat, lng), puede usar el módulo de distancia terrestre, junto con los índices GIST .
Consulte ¿Cómo puedo acelerar mi consulta sobre los procesos de geolocalización ? para obtener explicaciones detalladas.
Verifique también Buscar en un radio usando Postgres .
En MongoDB , usaría la funcionalidad geoNear y los índices 2dsphere
Las consultas en PostgreSQL son muy rápidas y muy flexibles, y escalan muy bien. Necesita un poco más de trabajo para configurarlo que con MongoDB.
De todos modos, la funcionalidad básica está disponible en ambos, y debe decidir teniendo en cuenta todos los demás factores:
Compruebe también que Postgres supera a MongoDB y marca el comienzo de la nueva realidad de los desarrolladores y la comparación de propiedades del sistema entre MongoDB y PostgreSQL , entre muchos otros.