Introdução - Soluções de streaming de dados na AWS com o Amazon Kinesis

Introdução

Atualmente, as empresas recebem dados em grande escala e velocidade devido ao crescimento explosivo das origens de dados que geram fluxos de dados continuamente. Quer se trate de dados de log de servidores de aplicações, dados de fluxo de cliques de sites e aplicativos móveis ou dados de telemetria de dispositivos de Internet das Coisas (IoT), tudo contém informações que podem ajudar você a aprender sobre o que seus clientes, aplicações e produtos estão fazendo agora.

Ter a capacidade de processar e analisar esses dados em tempo real é essencial para monitorar continuamente suas aplicações a fim de garantir alto tempo de atividade do serviço, bem como para personalizar ofertas promocionais e recomendações de produtos. O processamento em tempo real e quase em tempo real também pode tornar outros casos de uso comuns, como análise de sites e machine learning, mais precisos e acionáveis, disponibilizando dados para essas aplicações em segundos ou minutos, em vez de horas ou dias.

Cenários de aplicações em tempo real e quase em tempo real

Você pode usar serviços de dados de streaming para aplicações em tempo real e quase em tempo real, como monitoramento de aplicações, detecção de fraudes e tabelas de classificação ao vivo. Casos de uso em tempo real exigem latências de ponta a ponta em milissegundos, desde a ingestão até o processamento, até a emissão dos resultados para armazenamentos de dados de destino e outros sistemas. Por exemplo, a Netflix usa o Amazon Kinesis Data Streams para monitorar as comunicações entre todas as suas aplicações, detectando e corrigindo problemas com rapidez e garantindo um serviço com alto tempo de atividade e disponibilidade aos seus clientes. Embora o caso de uso mais comumente aplicável seja o monitoramento de performance de aplicações, há um número crescente de aplicações em tempo real em tecnologia de anúncios, jogos e IoT que se enquadram nessa categoria.

Casos de uso comuns quase em tempo real incluem análises em armazenamentos de dados para ciência de dados e machine learning (ML). Você pode usar soluções de streaming de dados para carregar continuamente dados em tempo real em seus data lakes. Além disso, é possível atualizar modelos de ML com maior frequência assim que novos dados são disponibilizados, garantindo a precisão e a confiabilidade dos resultados. Por exemplo, a Zillow usa o Kinesis Data Streams para coletar dados de registros públicos e listagens de serviços de listagem múltipla (MLS) e, depois, fornecer aos compradores e vendedores de imóveis as estimativas de valor residencial mais atualizadas quase em tempo real. A ZipRecruiter usa o Amazon MSK para os pipelines de registro em log de eventos, que são os componentes essenciais de infraestrutura responsáveis por coletar, armazenar e processar continuamente mais de seis bilhões de eventos por dia no marketplace de ofertas de trabalho ZipRecruiter.

Diferença entre processamento em lote e de fluxos

É necessário ter ferramentas para coletar, preparar e processar dados de streaming em tempo real diferentes daquelas usadas tradicionalmente para análise em lote. Com a análise tradicional, você coleta os dados, carrega-os periodicamente em um banco de dados e os analisa horas, dias ou semanas depois. A análise de dados em tempo real exige uma abordagem diferente. As aplicações de processamento de fluxos processam dados continuamente em tempo real, mesmo antes de serem armazenados. Os dados de streaming podem chegar em um ritmo acelerado, e os volumes de dados podem aumentar e diminuir a qualquer momento. As plataformas de processamento de dados de streaming precisam ser capazes de lidar com a velocidade e a variabilidade dos dados recebidos e processá-los à medida que chegam, geralmente milhões a centenas de milhões de eventos por hora.