¿Qué es la "Geo Library" de DynamoDB?
DynamoDB nos ofrece la posibilidad de crear y consultar información con datos geográficos, lo anterior abre un mundo de posibilidades para cualquier negocio, permitiéndonos utilizar herramientas de big data para analizar la información que poseemos y determinar, por ejemplo, las mejores zonas para abrir un nuevo local, colocar nuestros productos o incluso ubicar a nuestros mejores clientes para ofrecerles un servicio especializado .
Inicialmente la geo library de DynamoDB fue creada en Java y C++ pero actualmente también se encuentra disponible para Python y Javascript

¿Cómo se usa la "Geo Library" de DynamoDB?
DynamoDB crea geohash indexes a partir de puntos de interés basados en sistemas coordenados, con la geo library podemos hacer consultas de estos puntos basadas en la ubicación, por ejemplo obteniendo conjuntos específicos de puntos que comparten coordenadas cercanas. Este tipo de estructura nos permite consultar bases de datos masivas en cuestión de milisegundos.
¿Por qué usar la "Geo Library" de DynamoDB?
Utilizar la geo library de DynamoDB es recomendable cuando te interesa una plataforma con las siguientes características:
Escala masiva
Tecnología Serverless
Costo en función del consumo
¿Cómo crear una tabla con información geoespacial en DynamoDB?
Para utilizar correctamente la geo library de DynamoDB es necesario hacer uso de Geohash , puede parecer algo complicado pero a muy grandes rasgos se puede definir coomo un id para identificar un cuadrado ubicado en una malla generada al subdividir el mundo en pequeños cuadrados, este tipo de solución tiene las siguientes caracteristicas:
El id tiene hasta 12 caracteres de longitud, que dependiendo de la longitud determina el tamaño del cuadrado al que hace referencia.
El primer caracter que compone el geohash determina una de 32 celdas en la malla, sobre el planeta, de aproximadamente 5000km x 5000km.
EL segundo caracter identifica uno de las 32 celdas dentro de la primera celda, dando como resultado una celda de aproximadamente 1250km x 1250km.
Así sucesivamente podemos determinar ubicaciones con un alto nivel de precisión utilizando únicamente un id.

Dependiendo de las características de nuestros datos es necesario definir la longitud de nuestra Geohash , por ejemplo si nuestra información tiene varios kilómetros de distancia entre cada registro se vuelve innecesario tener una Geohash demasiado larga puesto que no necesitamos consultas de alta precisión, en el caso contrario si nuestros datos se encuentran muy cerca entre ellos, utilizar una Geohash muy corta podria provocar respuestas demasiado amplias y considerablemente más lentas.
Al definir la longitud de nuestra Geohash es necesario preparar nuestra información para cargarla en la base de datos, comumnente a partir de un GeoJSON podremos realizar la carga de información.
Esperamos que esta información te resulte útil para comenzar a utilizar información georreferenciada, te invitamos a visitar nuestro blog ya que seguiremos hablando del manejo de DynamoDB y otros servicios que ofrece AWS, si tienes alguna pregunta o sugerencia no dudes en hacérnosla llegar por medio de nuestras redes sociales.
DynamoDB búsquedas geoespaciales