¿DynamoDB admite consultas geoespaciales?

No de forma nativa. DynamoDB no tiene un tipo de datos geoespacial ni operadores de distancia o de caja delimitadora. Las consultas geoespaciales son, en su lugar, un patrón de modelado: almacena un geohash o un ID de celda S2 en la clave para que los puntos cercanos se ordenen juntos, consulta las celdas que cubren tu área de búsqueda y luego refina por distancia exacta en tu aplicación.

El patrón geohash

Un geohash (o un ID de celda S2, como usa la Geo Library de AWS para DynamoDB) codifica la latitud/longitud en una cadena o número cuyo prefijo identifica una celda de la cuadrícula —y, lo que es crucial, los puntos cercanos comparten prefijos—. Almacenado como clave de partición o de ordenación, eso convierte los "puntos cerca de mí" en consultas ordinarias de rango de claves:

  • Consulta por caja — calcula las celdas que cubren un rectángulo, haz Query de cada celda y fusiona los resultados.
  • Consulta por radio — igual, sobre las celdas que cubren un círculo, y luego filtra por distancia exacta en el lado del cliente.

La resolución importa: elige un tamaño de celda en el que la mayoría de las búsquedas toquen solo la celda objetivo y sus vecinas.

Bibliotecas y herramientas

AWS publicó la Geo Library para Amazon DynamoDB (Java) que demuestra el patrón basado en S2, y existen ports de la comunidad para otros lenguajes (como dynamodb-geo para Node.js). Comprueba el estado de mantenimiento antes de adoptar uno —el patrón en sí es lo bastante simple como para implementarlo directamente—.

Cuándo usar un motor de búsqueda en su lugar

Para predicados geo ricos (polígonos, ordenación por distancia, combinar geo con texto completo), replica la tabla en un índice especializado —la misma integración zero-ETL con OpenSearch que gestiona la búsqueda de texto completo también te da un motor de búsqueda con consultas geoespaciales nativas—. DynamoDB vs Elasticsearch sopesa por completo esa separación de base de datos más índice.

Profundiza más

El patrón es, en el fondo, un truco de clave de ordenación —la guía de estrategias de clave de ordenación cubre las herramientas, el expression builder genera las condiciones begins_with/BETWEEN que usan las consultas de celda, y DynoTable te permite inspeccionar las claves codificadas en tus Items reales—.

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

DynoTable es un cliente de escritorio rápido para DynamoDB: explora tablas, ejecuta consultas estilo SQL y edita Items localmente.