Análisis de datos en tiempo real

Entiende la diferencia entre procesamiento por lotes y streaming con analogias cotidianas, y descubre Azure Event Hubs, IoT Hub, Stream Analytics y funciones de ventana.

Cuando pagas con tarjeta de credito, el sistema necesita decidir en menos de un segundo si la transaccion es fraudulenta. Esperar hasta la noche para analizar los datos del dia seria demasiado tarde. Por eso existe el procesamiento de datos en tiempo real.

 

Procesamiento por lotes vs Streaming — cual es la diferencia?

Piensa en un centro de logistica.

El procesamiento por lotes es como acumular los paquetes del dia en un deposito y clasificarlos todos juntos a las 6 de la tarde. Es eficiente, pero un paquete que llego a las 10 de la manana tiene que esperar hasta la noche. No se puede responder de forma inmediata.

El procesamiento en streaming es como clasificar cada paquete en el momento en que llega a la cinta transportadora. La decision se toma de inmediato. Es mas complejo, pero permite respuestas instantaneas.

| Aspecto | Por lotes | Streaming | |---------|-----------|-----------| | Cuando se procesa | Horario programado | Al llegar los datos | | Latencia | Minutos a horas | Segundos a milisegundos | | Casos de uso | Facturacion mensual, informes nocturnos | Deteccion de fraude, dashboards en vivo, IoT |

Por que importa el tiempo real? La deteccion de fraude debe ocurrir en menos de un segundo. Un sensor de temperatura en una fabrica debe disparar una alarma al instante. Un dashboard en vivo debe mostrar lo que pasa ahora mismo. El procesamiento por lotes no puede cumplir estos requisitos.

 

Azure Event Hubs — el embudo gigante para millones de eventos

Imagina la entrada de un estadio justo antes de un partido. Miles de personas llegan al mismo tiempo. Si solo hay una puerta, todos tienen que esperar. Event Hubs es como tener cientos de puertas — puede recibir millones de eventos por segundo.

Que tipo de datos puede recibir? Datos de sensores IoT Registros de clics de usuarios en apps web Datos de comportamiento de apps moviles Registros de transacciones

Event Hubs tiene particiones (carriles paralelos para mayor velocidad) y grupos de consumidores (varios servicios pueden leer el mismo flujo al mismo tiempo). La retencion de datos es de 1 a 7 dias.

Event Hubs es unidireccional: recibe datos pero no envia comandos a los dispositivos.

 

Azure IoT Hub — la radio bidireccional para dispositivos IoT

Si Event Hubs es la entrada del estadio, IoT Hub es una radio bidireccional. No solo recibe datos de los dispositivos, sino que tambien puede enviarles comandos.

Ejemplo: en una fabrica inteligente, un sensor de temperatura envia lecturas a IoT Hub. Si la temperatura sube demasiado, IoT Hub envia el comando "activar enfriamiento" al sistema de refrigeracion.

IoT Hub tambien ofrece: registro y autenticacion de dispositivos, device twin (seguimiento del estado del dispositivo en la nube), metodos directos (comandar acciones especificas) y actualizaciones de firmware remotas.

Event Hubs vs IoT Hub

| Comparacion | Event Hubs | IoT Hub | |------------|-----------|---------| | Direccion | Unidireccional (dispositivo a nube) | Bidireccional | | Gestion de dispositivos | No | Si | | Mejor para | Logs y eventos masivos | Gestion de dispositivos IoT |

Regla simple: solo recolectar datos = Event Hubs. Tambien gestionar dispositivos = IoT Hub.

!Event Hubs vs IoT Hub

Azure Stream Analytics — el filtro SQL en tiempo real

Stream Analytics es como una red en un rio — los datos fluyen continuamente y Stream Analytics captura solo los que cumplen tus condiciones, usando consultas similares a SQL.

Entradas: Event Hubs, IoT Hub, Blob Storage. Salidas: Power BI, Azure SQL Database, Blob Storage, Event Hubs.

Funciones de ventana

Como los datos fluyen sin parar, se necesitan ventanas de tiempo para analizarlos.

Ventana Tumbling: intervalos fijos sin solapamiento. Como un elevador que para cada 5 pisos. Ejemplo: "contar pedidos cada 5 minutos."

Ventana Sliding: ventana que se mueve con cada nuevo evento. "Los ultimos 5 minutos" se desplaza continuamente. Ejemplo: "alertar si hay mas de 10 errores en cualquier periodo de 5 minutos."

Ventana Hopping: tamano de ventana (10 min) e intervalo de salto (5 min) diferentes. Los intervalos pueden solaparse. Ejemplo: "cada 5 minutos, agregar los ultimos 10 minutos de datos."

| Tipo | Tamano | Salto | Solapamiento | |------|--------|-------|--------------| | Tumbling | Fijo | = tamano | No | | Sliding | Fijo | Por evento | Si | | Hopping | Fijo | Menor al tamano | Si |

 

Puntos clave para el examen

"Millones de eventos por segundo, unidireccional" -- Azure Event Hubs "Comunicacion IoT bidireccional + gestion de dispositivos" -- Azure IoT Hub "Analizar datos en tiempo real con SQL" -- Azure Stream Analytics "Procesar al llegar, latencia de segundos" -- Streaming "Procesar en bloque en horario fijo" -- Por lotes "Intervalos fijos sin solapamiento" -- Ventana Tumbling "Ventana movil que se actualiza con cada evento" -- Ventana Sliding "Tamano de ventana e intervalo de salto diferentes" -- Ventana Hopping Event Hubs = solo recolectar | IoT Hub = tambien gestionar dispositivos

Volver a la lista del blog