O Que é Streaming de Dados?
Parece que o mundo se move cada vez mais rápido a cada dia. Pessoas e lugares se tornam mais conectados e as empresas tentam reagir a esta evolução que ocorre em passos acelerados. Se já não alcançamos, estamos muito próximos de alcançar o limite em que as pessoas são capazes de responder a esta velocidade na geração de dados e conteúdo.
E ferramentas vão sendo criadas com o objetivo de processar esta vasta quantidade de dados disponíveis para apoiar a tomada de decisões. O desafio é coletar, analisar e apresentar esta imensidão de dados gerados, na mesma velocidade em que são gerados, ou existe o risco de analisar dados já obsoletos, ainda que os dados tenham sido gerados alguns minutos antes da análise. Esses dados gerados em tempo real e com fluxo contínuo é o que chamamos de Streaming de Dados.
E como se não bastasse o desafio de coletar estes dados gerados em tempo real e em fluxo contínuo, há ainda o desafio de armazenamento, o que requer infraestrutura apropriada para suportar os métodos de análise de Streaming de Dados. A implementação de sistemas de análise em tempo real é um mercado em franca expansão e como todas as áreas ligadas ao Big Data, carece de profissionais qualificados. O Streaming de Dados envolve tecnologias que surgiram nos últimos anos e ainda não houve a chance de qualificar adequadamente os profissionais.
Quando projetos de análise de dados em tempo real atingem determinado estágio, eles devem ser ágeis o suficiente para se adaptarem rapidamente as mudanças na geração do Streaming. Um sistema de análise de dados em tempo real a partir de redes sociais por exemplo, deve estar preparado para uma alta geração de dados, com base em um evento que rapidamente se espalhe pela rede (como compartilhamentos sobre uma catástrofe ambiental ou um evento inesperado).
Projetos de sistemas de análise de dados em tempo real falham por uma simples razão: sistemas desta natureza não podem ser tratados da mesma forma como se implementa um sistema em batch. O mundo está em plena transformação. Sistemas que são atualizados a cada 3 dias podem significar a falência de uma empresa, quando se considera que milhões de dados são gerados por minuto e que devem ser analisados em tempo real. Este será o novo padrão. Ou as empresas se preparam para isso, ou assistirão a sua participação no mercado ser reduzida.
O fato é que o Streaming de Dados requer tratamento diferente. Tudo aquilo que você aprendeu nas últimas décadas sobre armazenamento de dados está mudando. Sistemas, linguagens de programação e bancos de dados estão se adaptando a esta nova realidade e também às características de dados gerados em tempo real: fluxo contínuo, estrutura de dados em formato variado e alta cardinalidade. O primeiro define claramente o Streaming de Dados e os outros dois representam o desafio para design de aplicações capazes de coletar, armazenar e analisar estes dados no momento em que eles são gerados, sob risco de analisar dados obsoletos, ou seja, momentos depois de sua geração.
Fontes de Streaming de Dados
Os dados em Streaming podem ser gerados das mais diversas fontes e a Internet das Coisas está trazendo dados de onde não se imaginava alguns anos atrás, como dados a partir de óculos de realidade virtual, relógios inteligentes ou mesmo da sua geladeira. À medida que os dados coletados a partir da Internet das Coisas se tornarem economicamente viáveis, veremos cada vez mais dados gerados em tempo real e novas aplicações terão que surgir para tratar esses dados. Não é realmente incrível estarmos no centro desta revolução?
As fontes de Streaming de Dados são as mais variadas e novas fontes estão surgindo. Vejamos algumas:
Monitoramento de Operações
Com a explosão de aplicações de software e hardware que vimos nas últimas décadas, o monitoramento de toda esta infraestrutura se tornou crítico e em tempo real. Empresas de médio e grande porte, possuem sistema de monitoramento de operações, que emitem alertas em tempo real quando ocorre falha em disco ou quando uma aplicação gera um erro de execução. Imagine quantos datacenters existem pelo mundo. Agora imagine quantos servidores e quantas aplicações estão hospedadas nestes datacenters. O monitoramento desta imensidão de dados gerados por máquinas, através de hardware e software, permite a geração de métricas de performance que pode garantir uma operação de TI com baixo custo e totalmente adaptada a responder rapidamente a falhas ou mudanças de infraestrutura.
Web Analytics
O comércio eletrônico e as campanhas de marketing digital, foram responsáveis por um fenômeno deste novo mundo em que vivemos. Temos agora a necessidade de monitorar em tempo real os cliques que um usuário efetua em um site ou em um banner de propaganda. De acordo com o volume de cliques, podemos direcionar nossas campanhas e ofertar produtos ou serviços de forma personalizada. Isso sem falar em outras métricas, como o volume de usuários únicos que acessam um website por dia, a correlação entre os cliques de um usuário, a reação dos usuários a campanhas em tempo real e muito mais.
Esse grande volume de dados, que caracteriza o Big Data, gerado em tempo real, levou a criação de novos tipos de sistemas, como sistemas de recomendação, além da possibilidade de realizar experimentos, como testes A/B e outras técnicas analíticas que podem ser processadas em tempo real. Faz algum sentido, os dados gerados a partir da interação de usuários com websites, não serem analisados em tempo real? Faz algum sentido levar 3 dias para analisar estes dados? Em 3 dias o usuário já pode ter decidido efetuar a compra em outro website. Na verdade, 3 dias é uma eternidade quando falamos de Streaming de Dados.
Mídias Sociais
Você possui conta na rede social Twitter? Você consegue acompanhar a velocidade com que os dados são gerados? As redes sociais são outra massiva fonte de geração de Streaming de Dados. O Twitter reportou que coleta mais de 500 milhões de tweets por dia, algo em torno de 150 mil tweets por segundo. Esse é um exemplo claro de dados gerados em tempo real. As mídias sociais se tornaram uma importante fonte de disseminação de informações e notícias. Dados de outras redes sociais como Facebook, Foursquare e Youtube possuem grande variedade de formato e são normalmente dados não estruturados. E isso traz ainda outro desafio para a análise de dados em tempo real: processar dados não estruturados. Os sistemas automatizados precisam usar técnicas de processamento de linguagem natural e transformar esta imensidão de dados em informação que apoie de forma precisa a tomada de decisão. Tudo isso no mesmo momento em que os dados estão sendo gerados. Não pense que é tarefa fácil, mas é a nova realidade.
Mobile
Quando a Apple lançou o iPhone em 2007, já existiam outros smartphone, como o Blackberry. Mas o iPhone trouxe a facilidade de usar o toque no celular e com isso acessar a internet, compartilhar nas redes sociais, enviar mensagens e acessar uma vasta rede de aplicativos. A explosão dos smartphone trouxe mais um tsunami de dados gerados em tempo real e com fluxo contínuo. Usando aplicativos, uma empresa pode detectar os usuários próximos a uma loja, enviar promoções personalizadas e realizar a venda em poucos minutos. Mais uma vez eu pergunto: é razoável esperar 3 dias para analisar esses dados? A empresa terá apenas poucos minutos para coletar e analisar os dados e disparar suas campanhas personalizadas. Você consegue imaginar a quantidade de oportunidades de negócio que surgem a partir de Streaming de Dados?
E ainda tem os wearables. Estamos cada vez mais “vestindo tecnologia”. Relógios inteligentes, sensores em roupas e óculos de realidade virtual. Tudo isso já está por aí, ao alcance de todos nós e gerando dados em tempo real.
Estes são apenas alguns poucos exemplos. O Streaming de Dados possui muitas outras fontes e vem se tornando o padrão, uma vez que novas aplicações analíticas são capazes de analisar os dados em tempo real.
A análise de dados em tempo real é uma das áreas mais vibrantes no universo do Big Data. E você, já pensou como pretende se capacitar para esse novo mundo? Para ajudar nós preparamos um treinamento 100% online: Big Data Real-Time Analytics com Python e Spark, no qual você terá a oportunidade de aprender o que há de mais avançado em tecnologia de processamento de Streaming. Veja o programa completo e se inscreva. O mercado precisa de profissionais qualificados.
O Streaming de Dados requer tratamento diferente. Tudo aquilo que você aprendeu nas últimas décadas sobre armazenamento de dados está mudando. Sistemas, linguagens de programação e bancos de dados estão se adaptando a esta nova realidade. E você, está?
Equipe DSA