Data Mesh, el modelo que transforma la gestión de datos
Cada mañana miles de conductores consultan Waze antes de ir al trabajo. En cuestión de segundos, la aplicación detecta que el tráfico empieza a colapsarse y recalcula la mejor ruta, desviando a los usuarios por calles alternativas para evitar un atasco que acaba de formarse. Lo que para el conductor parece una actualización instantánea es, en realidad, el resultado del stream processing, una tecnología capaz de procesar y analizar grandes volúmenes de datos en tiempo real.
Detrás de esa interfaz limpia y de los iconos de conductores parpadeando, se esconde una de las infraestructuras de datos más complejas. Este es el tipo de arquitecturas avanzadas que se analizan en profundidad en nuestro Máster en Inteligencia Artificial y Analítica, donde se estudia cómo transformar volúmenes masivos de datos en decisiones estratégicas e inmediatas.
En el caso de Waze, el sistema analiza la información en el mismo momento en que se genera, sin esperar a que quede almacenada. Así, millones de coordenadas geográficas se convierten en tiempo real en predicciones sobre el estado del tráfico y en nuevas rutas para los conductores.
Tradicionalmente, el análisis de datos se ha basado en el modelo Batch (procesamiento por lotes). Las empresas recopilan información, la guardan en un almacén de datos (Data Warehouse) y, cada ciertas horas o por la noche, ejecutan algoritmos para extraer conclusiones.
Para gestionar el tráfico urbano, el modelo Batch es insuficiente. Saber que una avenida estuvo colapsada a las 08:15 no ayuda al conductor que está atrapado en ella a las 08:17 y aquí es donde el Stream Processing adquiere valor. En lugar de tratar los datos como lago estático, los trata como un río en constante movimiento. Cada usuario de Waze es un sensor flotante que emite telemetría pasiva continuamente a través de la latitud y longitud exactas, la velocidad actual y dirección o con los cambios bruscos de aceleración (frenazos).
Cada uno de estos puntos de datos es un “evento”. El procesamiento de flujos analiza estos eventos de forma individual y en milisegundos a medida que llegan a los servidores, permitiendo que el mapa reaccione al pulso real de la ciudad.
Para gestionar esta avalancha de información (Waze cuenta con más de 140 millones de usuarios activos mensuales), la arquitectura tecnológica debe ser ultraeficiente y escalable. Aunque los detalles internos varían y evolucionan dentro de la infraestructura de Google, la lógica del procesamiento se apoya en tres pilares fundamentales que dominan el sector del Big Data.
Cuando tu teléfono envía tu posición, esta no va directamente a un algoritmo de enrutamiento. Primero entra en un sistema de mensajería capaz de absorber millones de eventos por segundo sin saturarse. Herramientas como Apache Kafka o Google Cloud Pub/Sub actúan como el gran sistema circulatorio, ordenando y distribuyendo los flujos de datos hacia los motores de procesamiento.
Una vez ingeridos, los datos pasan por motores de streaming como Apache Flink o frameworks como Apache Beam. Estos motores realizan operaciones complejas sobre la marcha. Por un lado, aplican ventanas de tiempo (windowing), donde no se analiza un dato aislado de un coche, sino la agregación de datos de todos los vehículos que han cruzado una calle específica en los últimos 2 minutos.
Por otro lado, ejecutan el enriquecimiento de datos cruzando la coordenada GPS exacta del usuario con el grafo de mapas de Waze para saber en qué carril y sentido exacto se encuentra conduciendo.
De nada sirve procesar el dato a gran velocidad si después se guarda en una base de datos lenta. Con Waze, el resultado del procesamiento se envía a un Sink (destino) de alta velocidad, normalmente bases de datos NoSQL como Google Cloud Bigtable o sistemas en caché como Redis. Estas tecnologías permiten que la aplicación de Waze consulte el estado del tráfico actual con una latencia de milisegundos, actualizando la pantalla al instante.
El verdadero reto técnico no es recibir el dato, sino interpretarlo de forma inteligente. El Stream Processing limpia y transforma la telemetría pasiva a través de varias fases críticas:
Una de las grandes ventajas competitivas de Waze es cómo integra las interacciones explícitas de los usuarios (reportes de accidentes, radares o policía) con la telemetría pasiva.
Cuando un conductor pulsa el botón de “vehículo detenido en el arcén”, ese evento manual se introduce en el mismo flujo de procesamiento. El sistema de streaming prioriza esta alerta y la cruza con la telemetría pasiva de los coches que vienen detrás. Si los vehículos posteriores reducen la velocidad al pasar por ese punto exacto, el sistema valida la veracidad del reporte de forma automática y lo muestra al resto de la comunidad.
Esta simbiosis entre el dato automatizado (GPS) y el dato social (reportes) procesados en la misma ventana de tiempo es lo que otorga al mapa su precisión tan característica.
El caso de Waze es solo la punta del iceberg. El procesamiento de flujos de datos está redefiniendo la infraestructura de las ciudades inteligentes. La transición hacia flujos de telemetría más masivos y estandarizados ya permite gestionar flotas de transporte público de forma dinámica, coordinar los tiempos de los semáforos inteligentes según la densidad del tráfico en tiempo real, y optimizar la logística de última milla.
Hoy, mejorar la movilidad ya no depende solo de construir nuevas infraestructuras, sino de aprovechar mejor la información que generan las existentes. En ese contexto, el stream processing demuestra que el verdadero valor de los datos no está en almacenarlos, sino en analizarlos y actuar sobre ellos en el mismo instante en que se generan.