Quando voce paga com cartao de credito, o sistema precisa decidir em menos de um segundo se a transacao e fraudulenta. Esperar ate a noite para analisar os dados do dia seria tarde demais. E por isso que o processamento de dados em tempo real existe.
Processamento em lotes vs Streaming — qual e a diferenca?
Pense em um centro de logistica.
O processamento em lotes e como acumular os pacotes do dia em um deposito e classifica-los todos juntos as 18h. E eficiente, mas um pacote que chegou as 10h precisa esperar ate a noite. Nao e possivel responder de forma imediata.
O processamento em streaming e como classificar cada pacote no momento em que chega na esteira. A decisao e tomada imediatamente. E mais complexo, mas permite respostas instantaneas.
| Aspecto | Em lotes | Streaming | |---------|---------|-----------| | Quando processa | Horario programado | Ao chegar os dados | | Latencia | Minutos a horas | Segundos a milissegundos | | Casos de uso | Faturamento mensal, relatorios noturnos | Deteccao de fraude, dashboards ao vivo, IoT |
Por que o tempo real importa? A deteccao de fraude deve ocorrer em menos de um segundo. Um sensor de temperatura em uma fabrica deve disparar um alarme imediatamente. Um dashboard ao vivo deve mostrar o que acontece agora. O processamento em lotes nao atende esses requisitos.
Azure Event Hubs — o funil gigante para milhoes de eventos
Imagine a entrada de um estadio antes de um jogo importante. Milhares de pessoas chegam ao mesmo tempo. Se so houver uma porta, todos precisam esperar. O Event Hubs e como ter centenas de portas — pode receber milhoes de eventos por segundo.
Que tipo de dados pode receber? Dados de sensores IoT Logs de cliques de usuarios em apps web Dados de comportamento de apps moveis Logs de transacoes
O Event Hubs tem particoes (raias paralelas para maior velocidade) e grupos de consumidores (varios servicos podem ler o mesmo fluxo ao mesmo tempo). A retencao de dados e de 1 a 7 dias.
O Event Hubs e unidirecional: recebe dados mas nao envia comandos aos dispositivos.
Azure IoT Hub — o radio bidirecional para dispositivos IoT
Se o Event Hubs e a entrada do estadio, o IoT Hub e um radio bidirecional. Nao so recebe dados dos dispositivos, mas tambem pode enviar comandos de volta a eles.
Exemplo: em uma fabrica inteligente, um sensor de temperatura envia leituras ao IoT Hub. Se a temperatura subir demais, o IoT Hub envia o comando "ativar resfriamento" ao sistema de refrigeracao.
O IoT Hub tambem oferece: registro e autenticacao de dispositivos, device twin (acompanhamento do estado do dispositivo na nuvem), metodos diretos (comandar acoes especificas) e atualizacoes de firmware remotas.
Event Hubs vs IoT Hub
| Comparacao | Event Hubs | IoT Hub | |-----------|-----------|---------| | Direcao | Unidirecional (dispositivo para nuvem) | Bidirecional | | Gestao de dispositivos | Nao | Sim | | Melhor para | Logs e eventos massivos | Gestao de dispositivos IoT |
Regra simples: apenas coletar dados = Event Hubs. Tambem gerenciar dispositivos = IoT Hub.
!Event Hubs vs IoT Hub
Azure Stream Analytics — o filtro SQL em tempo real
O Stream Analytics e como uma rede em um rio — os dados fluem continuamente e o Stream Analytics captura apenas os que atendem suas condicoes, usando consultas similares a SQL.
Entradas: Event Hubs, IoT Hub, Blob Storage. Saidas: Power BI, Azure SQL Database, Blob Storage, Event Hubs.
Funcoes de janela
Como os dados fluem sem parar, precisamos de janelas de tempo para analisa-los.
Janela Tumbling: intervalos fixos sem sobreposicao. Como um elevador que para a cada 5 andares. Exemplo: "contar pedidos a cada 5 minutos."
Janela Sliding: janela que se move com cada novo evento. "Os ultimos 5 minutos" se desloca continuamente. Exemplo: "alertar se houver mais de 10 erros em qualquer periodo de 5 minutos."
Janela Hopping: tamanho da janela (10 min) e intervalo de salto (5 min) diferentes. Os intervalos podem se sobrepor. Exemplo: "a cada 5 minutos, agregar os ultimos 10 minutos de dados."
| Tipo | Tamanho | Salto | Sobreposicao | |------|---------|-------|-------------| | Tumbling | Fixo | = tamanho | Nao | | Sliding | Fixo | Por evento | Sim | | Hopping | Fixo | Menor que o tamanho | Sim |
Pontos-chave para o exame
"Milhoes de eventos por segundo, unidirecional" -- Azure Event Hubs "Comunicacao IoT bidirecional + gestao de dispositivos" -- Azure IoT Hub "Analisar dados em tempo real com SQL" -- Azure Stream Analytics "Processar ao chegar, latencia de segundos" -- Streaming "Processar em bloco em horario fixo" -- Em lotes "Intervalos fixos sem sobreposicao" -- Janela Tumbling "Janela movel que se atualiza com cada evento" -- Janela Sliding "Tamanho da janela e intervalo de salto diferentes" -- Janela Hopping Event Hubs = apenas coletar | IoT Hub = tambem gerenciar dispositivos