¿Qué es GeoDB?

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.

communication

¿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:

  • Un sistema altamente escalable para cubrir las necesidades de una nueva generación de servicios geoespaciales basados en la abundancia de datos procedentes de GPS, sensores, Open Data, etc.
  • Una mejora cualitativa del almacenamiento, análisis y visualización de la información en tiempo real.
  • Una solución con reducciones muy apreciables de costes para las empresas, con impacto especial en las pymes.

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)

 

  • Real-Time

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

 

  • Historical Data

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)

 

  • Report

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)

 

  • Forecast

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:

  • Herramienta altamente usable para el manejo de datos de tráfico. Como resultado del trabajo de UX, se ha implementado  una interfaz amigable para el usuario para facilitar una experiencia satisfactoria con GeoDB. Así, la interfaz desarrollada permite mostrar una gran cantidad de información de forma rápida y sencilla. Además, la interfaz permite observar y comparar datos de diferentes días, dando la posibilidad de cambiar colores y obtener informes personalizados.
  • Diferentes modos de funcionamiento. Hasta ahora estábamos acostumbrados a aplicaciones similares en las que sólo podíamos ver datos referentes a periodos de tiempo recientes. En cambio, GeoDB ofrece distintos modos de funcionamiento, ya que podemos ver los sucesos que están teniendo lugar en tiempo real. Por otra parte, el modo de históricos de GeoDB contiene información relativa a cualquier día pasado. Además, los datos de esa jornada pueden ser comparados con los de otras, posibilitando la generación de informes personalizados que ofrezcan conclusiones de interés. Por último, GeoDB incluye un modo de funcionamiento para la obtención de predicciones sobre el futuro. En el mismo, se muestran la probabilidad de que haya accidente según las condiciones climatológicas, así como el pronóstico de retraso acumulado.
  • Uno de los principales valores añadidos de GeoDB es la implementación de modelos predictivos mediante técnicas Machine Learning. Para cada celda se realizan dos tipos de predicciones: la probabilidad de accidente y los metros de retraso acumulado para el día siguiente. Esta funcionalidad no es implementada por ninguna de las herramientas en el mercado.
  • Manejo de grandes volúmenes. Con GeoDB procesamos grandes volúmenes de datos gracias a la arquitectura big data diseñada. Hasta ahora, las aplicaciones de este tipo utilizaban bases de datos relacionales, procesando volúmenes reducidos de información. Con GeoDB rompemos con estos paradigmas y, utilizando Spark, podemos manejar grandes volúmenes de datos y llevar a cabo cálculos complejos. Asimismo, el uso de bases de datos NoSQL dota al sistema de la escalabilidad necesaria.

J. Víctor Marcos es Doctor Ingeniero de Telecomunicación por la Universidad de Valladolid. Sus intereses son el modelado y análisis de datos para la obtención de valor a partir de los mismos, así como la implementación de sistemas predictivos. Actualmente participa en el desarrollo de proyectos I+D+i para la definición de nuevas soluciones big data.

Ver toda la actividad de J. Víctor Marcos

Recibe más artículos como este

Recibirás un email por cada nuevo artículo.. Acepto los términos legales

Posts relacionados

Escribe un comentario