IGTI Blog
4 etapas essenciais para o processamento de fluxos contínuos de dados

4 etapas essenciais para o processamento de fluxos contínuos de dados

Esteja preparado para a  nova forma de tratar os dados em tempo real

Há alguns anos era comum que as análises dos dados fossem realizadas algumas horas ou dias após a geração das informações, principalmente em jobs agendados para execução durante as madrugadas. Atualmente a necessidade de entregar análises, insights e predições em tempo real é cada dia maior. Agora temos diferentes fontes de geração de dados, como exemplo dispositivos de Internet das Coisas, sistemas de gestão mais integrados, aplicativos móveis, redes sociais, etc. Para possibilitar a análise em tempo real das informações, novas técnicas e ferramentas são necessárias.

Nesse novo contexto, conhecimentos que são aplicados nas aplicações batch tradicionais (que não são em tempo real) continuam válidos (técnicas de BI, projetos de Data Warehouse). Mas agora é necessário que os profissionais de processamento de fluxos contínuos de dados entendam de bancos de dados NoSQL, ferramentas de mensageria, streaming e aprendizado de máquina (Machine Learning).

O profissional responsável pela arquitetura de processamento de fluxo contínuos de dados precisa entender das diferentes etapas do fluxo  – também é conhecido como pipeline. As atividades envolvidas em processamento de fluxos contínuos de dados normalmente são divididas em:

  1. Coleta de dados: Nesse momento deverão ser definidos quais os formatos de dados serão utilizados para transmissão entre a fonte de dados e ferramenta de stream processing que será utilizada. Para que uma arquitetura mais robusta seja provida é recomendado a utilização dos chamados barramentos de mensagens (Brokers) que tem como propósito desacoplar o recebimento das mensagens do processamento. A escolha do broker deverá levar em consideração alguns aspectos que serão definidos pelo profissional responsável pela arquitetura, sendo eles persistência de dados, alta disponibilidade e tolerância a falhas.
  2. Armazenamento de dados: Ao receber os dados para processamento pela ferramenta de streaming é importante que o dados possa ser analisado e armazenado para futuras análises, um dados que talvez hoje não seja atrativo para uma análise pode ser muito importante em um segundo momento, sendo assim é muito importante não descartar informações que possam gerar valor para os negócios pois como disse o matemático inglês Clive Humby “Dados são o novo petróleo”
  3. Definição de pipelines: A partir do momento que os dados são recebidos pelas ferramentas de Stream processing uma série de transformações, filtros, enriquecimento são executados em cima dos dados para deixá-los prontos para análises estatísticas, séries temporais e ainda utilizados para treinar ou fazer predições utilizando algoritmos de machine learning/deep learning
  4. Visualização dos dados: É de extrema importância que as análises dos dados sejam exibidas de forma eficiente e agradável ao seu público alvo, nesse ponto entra uma técnica que está ganhando as atenções que é conhecida como Storytelling.

Atualmente temos disponíveis diversas ferramentas tanto open source como proprietárias para implementação de processamento de fluxo contínuos de dados. A importância das análises em tempo real é tão grande que a IBM através da ferramenta Apache Spark para execução nos famosos e controversos Mainframes.



Podemos concluir que para um profissional interessado em Big Data é essencial que o conhecimento de processamento contínuos de fluxo de dados esteja em sua lista de aspirações.

Professor autor: Isaias Barroso