GeoDB es una solución avanzada de Big Data para el diseño de servicios de almacenamiento, análisis y visualización de eventos geotemporales para superar las limitaciones de eficiencia y escalabilidad actuales. De esta forma, desarrollar una solución que permita a las empresas incorporar y utilizar estas tecnologías de forma sencilla con fuentes heterogéneas de datos.

¿Por qué GeoDB?

Los recientes avances en instrumentación (aumento de resolución espacial y temporal) han hecho que los datos geoespaciales crezcan mucho en volumen: el 90% de los datos que hay en el mundo se han originado en los últimos dos años; y variedad,sensores, dispositivos móviles, servicios de localización, señales GPS, /GNSS, etc. Esto supone un reto adicional a las capacidades de eficiencia y escalabilidad actuales de análisis de grandes volúmenes de datos a la hora de superar las limitaciones de los modelos relacionales de almacenamiento de información geográfica y los algoritmos utilizados actualmente para el análisis de estos datos.

La visión del proyecto GeoDB era incorporar el paradigma Big Data al tratamiento, análisis y visualización de eventos geoespaciales para superar sus limitaciones de eficiencia y escalabilidad actuales y desarrollar una solución que permita a las empresas añadir y utilizar estas tecnologías de forma sencilla con fuentes heterogéneas de datos.

¿Cuáles son sus aspectos más innovadores?

Quizá uno de los más destacados que se propone es la implementación de una plataforma big data capaz de llevar a cabo el tratamiento y la visualización de datos geotemporales (procedentes de múltiples fuentes) en tiempo real. Para ello, en el proyecto se ha propuesto un modelo de datos válido para sistemas de almacenamiento no relacional de información geotemporal.

Las ventajas innovadoras de este enfoque son:

Características técnicas y funcionales

GeoDB se compone de diferentes módulos, como se puede ver en el siguiente gráfico. Primeramente, en la plataforma entra el flujo de datos de fuentes heterogéneas y estos se ingestan en la aplicación. Por una parte, se procesan en tiempo real y, además, se guardan los datos en crudo. Posteriormente se lleva a cabo un análisis de los datos en modo batch con la finalidad de obtener resultados estadísticos de interés para el usuario y poder realizar predicciones futuras. Finalmente, podemos ver la parte de visualización de todos los procesos. En nuestro caso, para empezar a funcionar con GeoDB utilizamos 2 fuentes de datos geoespaciales una con eventos de tráfico y otra de tiempo climático.

GeoDB (9)

Estos son los módulos funcionales que componen GeoDB:

Ingestión de datos

El módulo de ingestión de datos es el encargado de tomar los datos geoespaciales desde las distintas fuentes disponibles. En GeoDB se toman datos relativos al tráfico, así como información meteorológica. La tecnología usada para la ingestión de datos en tiempo real ha sido Apache Flume, pues proporciona alta disponibilidad, así como la posibilidad de agregar y mover grandes cantidades de datos desde distintas fuentes.

Almacenamiento

El módulo de almacenamiento es el encargado de albergar la información generada por la plataforma. En GeoDB, al tener dos modos de trabajo, como son batch y real time, se almacenarán los datos en crudo para poder realizar agregados y otras operaciones, para tener una mayor variedad de datos estadísticos e históricos. Para el módulo de almacenamiento se ha utilizado Cassandra, ya que ofrece alta disponibilidad y es tolerante a fallos.

Análisis

El módulo de análisis es el encargado de proporcionar las capacidades de procesado de la información de la plataforma, tanto en modo batch como en tiempo real. Este procesado estará enfocado a la extracción de estadísticas y, sobre todo, a añadir valor a los datos con previsiones. En GeoDB se incluye la lógica necesaria para estimar tanto la probabilidad de accidente en un determinado lugar, como la distancia de retraso en metros que habrá en la zona.

Para el módulo de análisis utilizamos Apache Spark que es un motor de procesado distribuido empleado como núcleo fundamental en la implementación de arquitecturas big data. Así, GeoDB proporciona al usuario la posibilidad de implementar estos modelos predictivos a partir de grandes volúmenes de datos. Concretamente sendos modelos se basan en el modelado de la tarea de predicción como un problema de clasificación, en el caso de la estimación de la probabilidad de accidente en una determinada zona, o como un problema de regresión para la aproximación del retraso acumulado.

Visualización

Finalmente, el módulo de visualización se encarga de la representación gráfica de los datos gestionados por GeoDB. La plataforma tiene una aplicación web, que gestiona y visualiza estos datos. La aplicación web tiene las siguientes opciones de visualización:

GeoDB (10)

Se muestran los eventos que están sucediendo en este mismo momento. Además hay distintas formas de visualizar estos datos: mediante puntos, gráfico de barras o mapa de calor.

geodb-incidents

En la pantalla de datos históricos se puede ver la información referida a un día concreto, con diferentes gráficos y opciones de agregados que calculamos diariamente a las 00:00 para poder tener la información actualizada y agregada día a día.

GeoDB (4)

En la pantalla de reportes, se hace uso de las estadísticas calculadas para poder hacer comparativas entre días y además poder ofrecer la posibilidad de generar un documento PDF con las distintas comparativas.

GeoDB (3)
GeoDB (2)

Por último, la pantalla de previsiones proporciona un valor añadido relevante en el proyecto. Como se ha comentado previamente, GeoDB realiza dos tipos de previsiones para una zona determinada: el retraso acumulado, expresado en metros y la probabilidad de accidente para días futuros. Estas previsiones se obtienen cruzando los datos históricos, previamente calculados para cada día con la previsión meteorológica. A partir de ambas fuentes de datos, se entrenan sendos modelos predictivos mediante el uso de Spark. Los modelos son guardados en el sistema de almacenamiento de la plataforma, de forma que puedan ser levantados y puestos en funcionamiento cuando se desee. Cabe destacar que, en principio, las previsiones se realizan día a día, por lo que estos modelos son activados para el cómputo de predicciones una vez cada 24 horas. El resultado es un mapa de calor que muestra al usuario las zonas con mayor riesgo de accidente/retraso para el día siguiente, tal y como vemos a continuación:

GeoDB (8)

Contribuciones y valor añadido

La contribución y el valor añadido que muestra la herramienta es claro:

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.