O que é streaming de dados?

Fotografia aérea de vários rios em um cenário

Autores

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

O que é streaming de dados?

O streaming de dados corresponde ao fluxo contínuo de dados de várias fontes em tempo real. Ao contrário do processamento em lote, que processa conjuntos de dados em intervalos programados, os dados em streaming são processados logo após sua chegada para proporcionar insights imediatos e em tempo real.

Atualmente as organizações geram grandes volumes de dados em praticamente tudo, desde dispositivos da Internet das coisas (IoT) até transações de comércio eletrônico. O streaming de dados, também conhecido como “fluxo de dados” ou “fluxo de dados em tempo real”, ajuda as organizações a processar esses fluxos contínuos de dados à medida que eles chegam.

Veja alguns exemplos streaming de dados:

  • Dados do mercado financeiro que monitoram os preços de ações e atividades de negociação
  • Leituras de sensores de IoT monitorando o desempenho de equipamentos
  • Fluxos de atividades de redes sociais que captam o engajamento dos usuários
  • Dados referentes ao fluxo de cliques de sites mostrando padrões de comportamento dos visitantes

As organizações geralmente usam streaming de dados para respaldar iniciativas de negócios que dependem de dados em tempo real, permitindo uma rápida tomada de decisão baseada em dados, como análise de dados e business intelligence (BI).

O streaming de dados costuma fazer parte dos esforços de coleta e processamento de big data. Por exemplo, as organizações podem analisar fluxos contínuos de dados usando análise de big data para extrair insights sobre eficiência operacional, tendências de consumo e mudanças na dinâmica do mercado.

Como envolve um fluxo contínuo, o streaming de dados requer métodos de processamento diferentes do processamento em lote tradicional. Eles geralmente incluem arquiteturas de streaming escaláveis e processadores de fluxo que gerenciam a ingestão, o processamento e a análise de dados, mantendo o desempenho ideal.

Nos últimos anos, o surgimento da inteligência artificial (IA) e do aprendizado de máquina aumentou ainda mais o foco nos recursos de streaming de dados. Essas tecnologias costumam recorrer ao processamento de dados de streaming para gerar insights e previsões em tempo real.

De acordo com a Gartner, 61% das organizações relatam ter que evoluir ou repensar seu modelo operacional de dados e análise de dados devido ao impacto das tecnologias de IA. 1

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Streaming de dados ou processamento em lote

As organizações podem processar dados de duas maneiras principais: processamento em lote ou streaming de dados.

Embora os dois métodos lidem com grandes volumes de dados, eles atendem a casos de uso diferentes e exigem arquiteturas distintas.

Veja algumas das principais diferenças:

  • Modelo de processamento: o processamento em lote agrega e analisa conjuntos de dados em lotes em intervalos fixos, enquanto o streaming de dados usa ferramentas de processamento de dados em tempo real para processar os dados conforme eles chegam. Isso significa que os sistemas de streaming podem produzir insights e realizar ações de forma imediata, enquanto os sistemas em lote operam em uma programação periódica.

  • Necessidades de infraestrutura: os sistemas em lote geralmente usam ferramentas tradicionais de armazenamento e análise de dados, como data warehouses, enquanto o streaming requer frameworks e plataformas de fluxo de dados criadas para lidar com fluxos de dados em tempo real.

  • Requisitos de desempenho: os sistemas em lote podem otimizar o uso de recursos durante as execuções programadas, enquanto o processamento de streaming precisa de sistemas tolerantes a falhas com baixa latência. Em outras palavras, os sistemas de streaming devem processar dados em tempo real sem atrasos, mesmo quando os volumes de dados são altos ou ocorrem problemas.

As organizações geralmente escolhem entre processamento em lote e em streaming com base em volumes de dados, necessidades de latência e objetivos de negócios. Muitas delas usam ambas as abordagens dentro de uma malha de dados unificada para lidar com diferentes tipos de tarefas de dados.

Por exemplo, uma organização de comércio eletrônico pode usar o processamento em lote para gerar relatórios diários de vendas enquanto usa streaming de dados e sistemas de análise de dados em tempo real para monitorar as principais métricas do site.  

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Como funciona streaming de dados

Em um nível elevado, o streaming de dados funciona capturando, processando e analisando fluxos de dados de forma contínua, de várias fontes e em tempo real. Esse processo consiste em quatro fases principais:

  • Ingestão de dados
  • Processamento de fluxo
  • Análise de dados
  • Armazenamento de dados

Ingestão de dados

A primeira fase envolve a captura de fluxos de dados recebidos de diversas fontes. Ferramentas modernas de ingestão de dados, como o Apache Kafka, armazenam esses fluxos em buffer e os padronizam à medida que eles chegam, o que proporciona escalabilidade e consistência dos dados.

As organizações geralmente integram ferramentas de ingestão de dados com outros componentes para criar fluxos de trabalho unificados. As ferramentas de integração de dados também podem alinhar ainda mais tipos de dados díspares em um formato padronizado de processamento, para que os dados de várias fontes possam ser combinados e analisados de forma eficaz.

Processamento de fluxos

Na fase de processamento, frameworks de processamento de fluxo, como o Apache Flink, analisam e transformam os dados enquanto estão em movimento. Esses frameworks permitem às organizações:

  • Processe eventos complexos em tempo real

  • Faça a agregação de dados em escala, como calcular médias, contar eventos ou somar valores de transações

  • Aplicar transformações, como filtragem, enriquecimento ou formatação de dados, à medida que os dados fluem pelo pipeline

Análise e visualização de dados

Nessa fase, as organizações obtêm insights de negócios praticáveis a partir de streaming de dados por meio de visualização de dados e outras ferramentas analíticas.

As principais aplicações incluem:

  • Dashboards em tempo real que fornecem métricas e KPIs críticos

  • Aplicações operacionais que automatizam fluxos de trabalho e otimizam processos

  • Modelos de aprendizado de máquina que analisam padrões para prever resultados

Armazenamento de dados

Ao armazenar dados de streaming, as organizações devem equilibrar a necessidade de acessar os dados com rapidez para uso em tempo real com o armazenamento de dados de longo prazo , a eficiência de custos e as preocupações com a conformidade dos dados.

Muitas organizações usam data lakes e data lakehouses para armazenar dados de streaming, pois essas soluções oferecem ambientes de armazenamento flexíveis e de baixo custo para grandes volumes de dados. Após os dados de streaming serem capturados, eles podem ser enviados para um data warehouse, onde podem ser limpos e preparados para uso.  

As organizações muitas vezes implementam várias soluções de armazenamento de dados juntas em uma malha de dados unificada. Por exemplo, instituições financeiras podem usar data lakes para armazenar fluxos de transações brutas enquanto usam armazéns para análise de dados e relatórios.

Tipos de streaming de dados

As organizações podem usar vários tipos de streaming de dados para atender à análise em tempo real e à tomada de decisões. Alguns dos fluxos de dados de streaming mais comuns são:

Fluxos de eventos

Event streams capturam ações ou alterações do sistema à medida que ocorrem, como chamadas de interface de programação de aplicativos (API), cliques em sites ou entradas de registro de aplicativos. Event streams são muito usados para rastrear atividades em tempo real nos sistemas, permitindo respostas instantâneas às interações do usuário ou aos eventos do sistema.

Dados de transação em tempo real

Dados de transações em tempo real capturam fluxos contínuos de transações comerciais, como pagamentos digitais ou compras de comércio eletrônico. Esses dados são usados em aplicações, como detecção de fraudes e tomada de decisão instantânea.

Dados de IoT e de sensores

Os dados de IoT e sensores incluem informações sobre condições ambientais, desempenho dos equipamentos e processos físicos. Esses fluxos de dados geralmente ajudam na automação de processos e no monitoramento de equipamentos em tempo real.

Casos de uso de streaming de dados

O streaming de dados permite que as organizações processem grandes volumes de informações em tempo real para extrair insights e ações imediatas.

Veja algumas aplicações comuns:

Serviços financeiros

As instituições financeiras utilizam a análise de dados de streaming com frequência para processar dados de mercado, transações e interações com clientes.

Por exemplo, as empresas de cartão de crédito recorrem ao streaming de dados para detecção de fraudes. As plataformas de streaming de dados permitem que essas empresas analisem milhares de transações por segundo para detectar atividades incomuns e indicar transações suspeitas ou bloqueá-las.

Fabricação

As instalações de fabricação modernas geralmente usam sensores de dispositivos de IoT e processamento de dados em tempo real para melhorar a eficiência operacional. 

Por exemplo, uma fábrica automotiva pode monitorar milhares de sensores da linha de montagem, rastreando métricas como temperatura, vibração e desempenho. Esses dados ajudam os operadores a detectar ineficiências com antecedência e programar a manutenção preventiva para evitar o downtime.

Saúde

Os prestadores de serviços de saúde dependem de aplicações de streaming para processar dados de dispositivos médicos e sistemas de monitoramento de pacientes.

Em unidades de terapia intensiva, por exemplo, monitores de cabeceira transmitem sinais vitais para processadores centrais por meio de pipelines de dados. Assim, esses processadores podem identificar padrões preocupantes e fornecer alertas automáticos à equipe médica quando for necessária uma intervenção.

Varejo e comércio eletrônico

Os varejistas e as empresas de comércio eletrônico utilizam dados de streaming de sistemas de ponto de venda, sensores de estoque e plataformas online para otimizar as operações.

Por exemplo, uma grande plataforma de comércio eletrônico pode usar o Apache Kafka para processar fluxos de cliques de milhões de compradores para avaliar a demanda e personalizar a experiência do cliente.

Transporte e logística

As empresas de transporte costumam usar a análise de dados de streaming para processar dados de GPS e leituras de sensores de IoT para otimização da frota.

Por exemplo, um provedor de logística pode integrar dados em tempo real de milhares de veículos com conjuntos de dados meteorológicos e de tráfego. Com isso, os processadores de fluxo podem permitir a otimização automatizada de rotas com latência mínima para ajudar os motoristas a evitar atrasos. 

Cibersegurança

O streaming de dados ajuda em medidas de cibersegurança, como a detecção automatizada de anomalias. Os sistemas de IA e de aprendizado de máquina podem analisar os fluxos de dados das ferramentas de monitoramento em todo o sistema para identificar padrões incomuns ou comportamentos suspeitos, permitindo respostas imediatas a possíveis problemas. 

IA e aprendizado de máquina

O streaming de dados também tem um papel vital na IA e no aprendizado de máquina. Por exemplo, os frameworks de processamento de fluxo podem viabilizar o treinamento contínuo de modelos de IA para que os algoritmos de aprendizado de máquina se adaptem às mudanças de padrões quase em tempo real.

Os sistemas de aprendizado de máquina também podem aprender de forma gradual com fontes de dados de streaming por meio de um processo chamado aprendizado online, usando algoritmos especializados para melhorar a precisão exigir um novo treinamento completo do modelo.

Ferramentas e tecnologias de streaming de dados

Com a ajuda de soluções de streaming de dados comerciais e de código aberto, as organizações podem criar pipelines de dados escaláveis tolerantes a falhas, o que significa que podem se recuperar de falhas sem perda de dados ou downtime.

Dois tipos principais de tecnologias sustentam a maioria das implementações de streaming de dados: frameworks de processamento de fluxo e plataformas de streaming de dados.

Frameworks de processamento de fluxo

Os frameworks de processamento de fluxo fornecem a base para lidar com fluxos contínuos de dados. Esses frameworks ajudam as organizações a criar pipelines de dados de alto desempenho que processam grandes volumes de dados de forma sistemática, rápida e confiável.

Três frameworks de código aberto dominam o cenário do streaming:

  • Apache Kafka
  • Apache Flink
  • Apache Spark

Apache Kafka

O Kafka é uma grande plataforma de streaming que pode lidar com volumes enormes de dados com latência de milissegundos. As organizações costumam usar o Kafka para criar pipelines para rastreamento de atividades, monitoramento operacional e agregação de registros. 

Apache Flink

O Apache Flink é especializado em processamento de eventos complexos e cálculos com estado. É valioso para análise em tempo real, detecção de fraudes e manutenção preditiva, em que é fundamental entender o contexto dos eventos ao longo do tempo.

Apache Spark

Conhecido por seus recursos de análise de dados unificada, o Spark pode lidar com dados em lote e streaming simultaneamente. Essa capacidade o torna útil em situações em que as organizações precisam analisar dados históricos juntamente com dados em tempo real.

Plataformas e serviços de streaming de dados

As plataformas de streaming de dados oferecem várias ferramentas e funções para atender a todo o ciclo de vida do streaming de dados, desde a ingestão e o processamento até o armazenamento e a integração.

Muitos dos principais provedores de nuvem oferecem soluções gerenciadas de streaming de dados que facilitam para as organizações a configuração de aplicações de alto volume de fluxo de dados. Serviços como Amazon Kinesis da Amazon Web Services (AWS), Microsoft Azure Stream Analytics, Dataflow do Google Cloud e IBM Event Streams fornecem ferramentas prontas para uso. As empresas não precisam construir uma infraestrutura complexa do zero na nuvem.

Esses serviços também podem se integrar a ferramentas de streaming no local para criar arquiteturas híbridas que ajudam a equilibrar as necessidades de desempenho com os requisitos de privacidade de dados

As organizações também podem usar ferramentas como o IBM StreamSets e Confluent para criar pipelines de dados de streaming adaptados aos seus ecossistemas de TI específicos.

Desafios do streaming de dados

Embora o streaming de dados possa trazer muitos benefícios, as organizações podem enfrentar desafios ao criar as arquiteturas de dados necessárias para servir às aplicações de streaming.

Veja alguns desafios comuns:

  • Escalabilidade da arquitetura de dados: o processamento de dados em streaming geralmente envolve o tratamento de grandes volumes de dados de várias fontes. As organizações podem ter dificuldades se suas arquiteturas de streaming não conseguirem escalar com eficiência para processar esses grandes volumes.

  • Manutenção da tolerância a falhas: os sistemas de streaming devem ser tolerantes a falhas ao processar um grande número de eventos por segundo, às vezes até de milhões. Caso contrário, as organizações correm o risco de perder dados devido ao mau funcionamento e comportamentos inadequados do sistema.

  • Monitoramento do desempenho: as aplicações em tempo real exigem monitoramento constante de métricas como latência, rendimento e utilização de recursos para manter o desempenho ideal, uma demanda que pode prejudicar sistemas de processamento já sobrecarregados.

  • Implementação da governança de dados: as organizações devem considerar como armazenar e processar dados de streaming que contenham informações de identificação pessoal (PII) ou outras informações sigilosas que estejam sob a jurisdição do Regulamento Geral sobre a Proteção de Dados (RGPD), da Lei de Privacidade do Consumidor da Califórnia (CCPA) ou outros requisitos de governança de dados.
Soluções relacionadas
Soluções de plataforma de DataOps

Organize seus dados com as soluções da plataforma IBM DataOps para que sejam confiáveis e preparados para a IA.

Explore as soluções de DataOps
IBM Databand

Conheça o IBM Databand, o software de observabilidade para pipelines de dados. Ele coleta metadados automaticamente para criar linhas de base históricas, detectar anomalias e criar fluxos de trabalho para corrigir problemas de qualidade dos dados.

Explore o Databand
Serviços de consultoria de dados e análise de dados

Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.

Conheça os serviços de análise de dados
Dê o próximo passo

Organize seus dados com as soluções da plataforma IBM DataOps para que sejam confiáveis e preparados para os negócios para a IA.

Explore as soluções de DataOps Explore os serviços de análise de dados