¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
dev
Javier Almodóvar y J. Víctor Marcos 02/06/2016 Cargando comentarios…
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.
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.
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:
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.
Estos son los módulos funcionales que componen GeoDB:
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.
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.
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.
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:
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.
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.
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.
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:
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.
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.
Estamos comprometidos.
Tecnología, personas e impacto positivo.
Cuéntanos qué te parece.