Pesquisar neste blog

20 de set. de 2012

Big Data está batendo na porta, e você, já entendeu?

Por: Cezar Taurion
Em:http://imasters.com.br/artigo/24283/banco-de-dados/big-data-esta-batendo-na-porta-e-voce-ja-entendeu


O termo Big Data está cada vez mais popular, embora ainda seja mal compreendido. Observo em muitas palestras que não existe um consenso sobre o que realmente é Big Data e quais são as tecnologias fundamentais que o sustentam. E mais ainda: existem muitas dúvidas de como tangibilizar o conceito, ou seja, como sair do conceitual e criar soluções de negócio que agreguem valor para as companhias. Eliminar estas dúvidas é essencial para que as empresas possam dar o primeiro passo e aventurarem em projetos Big Data.
Para colocarmos o termo em contexto, o Big Data vem chamando atenção pela velocidade com que grandes volumes de dados são criados pela sociedade. Já falamos comumente em petabytes de dados gerados cada dia e zetabytes começa a ser uma escala real e não mais imaginária e futurista. O que era futuro há uma década, terabytes, hoje nós já temos nas nossas próprias casas.
As tecnologias que sustentam o Big Data podem ser analisadas sob duas óticas: as envolvidas com analytics, tendo Hadoop e MapReduce como nomes principais, e as tecnologias de infraestrutura, que armazenam e processam os petabytes de dados. Neste aspecto, se destacam os bancos de dados NoSQL (No, significa not only SQL). Por que estas tecnologias? Porque Big Data é a simples constatação prática de que o imenso volume de dados gerados a cada dia excede a capacidade das tecnologias atuais de os tratarem adequadamente.
Vamos pelo início. O que é Big Data? Outro dia escrevi um artigo com uma fórmula simples para conceitualizá-lo. Big Data = volume + variedade + velocidade. Hoje adiciono mais dois “V”s: veracidade e valor. Vamos detalhar estes tópicos um pouco mais.
O volume está claro: geramos petabytes de dados a cada dia. E estima-se que este volume dobre a cada 18 meses. Variedade também, pois estes dados vêm de sistemas estruturados (hoje minoria) e não estruturados (a imensa maioria), gerados por e-mails, mídias sociais (Facebook, Twitter, YouTube e outros), documentos eletrônicos, apresentações no estilo Powerpoint, mensagens instântaneas, sensores, etiquetas RFID, câmeras de vídeo, etc.
A velocidade, por sua vez, é porque muitas vezes precisamos agir praticamente em tempo real sobre este imenso volume de dados, como em um controle automático de tráfego nas ruas. A veracidade é porque precisamos ter certeza de que os dados fazem sentido e são autênticos. E valor, porque é absolutamente necessário qua a organização que implementa projetos de Big Data obtenha retorno destes investimentos. Um exemplo poderia  ser a área de seguros, onde a análise de fraudes poderia ser melhorada, minimizando-se os riscos, caso fosse utilizada, por exemplo, a análise de dados que estão fora das bases estruturadas das seguradoras, como os dados que estão circulando diariamente nas mídias sociais.
Falamos que as tecnologias atuias de tratamento de dados não são mais adequadas. Por quê? Vejamos o modelo relacional, proposto pelo pesquisador da IBM, Edgar F. Codd, em 1969. Quando foi proposto, a demanda era acessar dados estruturados, gerados pelos sistemas internos das corporações. Não se pensou nos dados não estruturados (futurologia na época) e nem em volumes na casa dos petabytes de dados (inimaginável na época). Precisava-se, sim, de um modelo que categorizasse e normalizasse dados com facilidade. E o modelo relacional foi muito bem sucedido nisso, tanto que é o modelo de dados mais usado atualmente.
Para tratar dados na escala de volume, variedade e velocidade do Big Data, precisamos de outros modelos. Surgem, então, os softwares de banco de dados NoSQL, desenhados para tratar imensos volumes de dados estruturados e não estruturados. Existem diversos modelos, como os sistemas colunares. Um exemple de sistema colunar e o Big Table, usado internamente pelo Google (é a base de dados sob o Google App Engine) e que pode ser vistoaqui. Outro modelo é o Key/value, como DynamoDB, da Amazon. O “document database” é outro modelo baseado no conceito proposto pelo Lotus Notes, da IBM, e aplicado em softwares como MongoDB. E tem omodelo baseado em grafos, como o Neo4j. Em resumo, não faltam opções.
É interessante lembrar que antes do modelo relacional já existia um software de banco dados que lidava com grandes volumes, o IMS, da IBM. Um modelo hierárquico, criado para suportar o projeto Apollo de conquista da Lua e que ainda hoje é base da maioria das transações financeiras que circulam pelo mundo.  Mais detalhes do IMS vocÊ encontra aqui.
Por outro lado, esta diversidade de alternativas demanda que os líderes dos projetos de Big Data escolham a mais adequada. Ou até mesmo demandam mais de uma opção, de acordo com as necessidades especificas.
Depois da infraestrutura, é necessário atenção aos componentes de analytics, pois estes transformam os dados em algo de valor para o negócio. O Big Data Analytics não signfica eliminar os tradicionais sistemas de BI que existem hoje, mas pelo contrário, faz com que eles coexistam. Recomendo enfáticamente a  leitura do livro “Competing on Analytics: the new science of winning”, de Thomas H. Davenport, publicado pela Harvard Business Schoool Press. E um bom exemplo de uso de Hadoop para analytics é o BigInsights da IBM.
Aliás, ao lado destas alternativas surgem outras opções, como o uso de appliances, como oNetezza, da IBM, que embarcam todos os softwares necessários para criar projetos de Big Data em um hardware adaptado. Os appliances queimam etapas nos projetos de Big Data.
Quanto ao aspecto velocidade, o conceito de stream processing permite tratamento em tempo real de dados. Concretamente, o InfoSphere Streams, da IBM, é um exemplo muito interessante. A ideia de stream computing é fantástica; um novo paradigma. No modelo de data mining tradicional, uma empresa filtra dados dos seus vários sistemas e após criar um data warehouse, dispara “queries”. Na prática faz-se garimpagem em cima de dados estáticos, que não refletem o momento, mas sim o contexto de horas, dias ou mesmo semanas atrás. Com o stream computing esta garimpagem é efetuada em tempo real. Em vez de disparar queries em cima de uma base de dados estática, coloca-se uma corrente contínua de dados (streaming data) atravessando um conjunto de queries. Podemos pensar em inúmeras aplicações, sejam estas em finanças, saúde e mesmo manufatura. Vamos ver este último exemplo: um projeto em desenvolvimento com uma empresa de fabricação de semicondutores pode monitorar em tempo real o processo de deteção e classificação de falhas. Com o stream computing as falhas nos chips fabricados são detetadas em minutos e não horas ou mesmo semanas. Os wafers defeituosos podem ser reprocessados e mais importante ainda, pode-se fazer ajustes em tempo real nos próprios processos de fabricação.
Adicionalmente, podemos pensar que a computação em nuvem é também um impulsionador para o Big Data, pois pode-se usar nuvens públicas para suportar imensos volumes de dados e a elasticidade das nuvens permite que acionemos servidores virtuais sob demanda apenas no momento de tratar estes dados.
Enfim, o Big Data já está batendo nas nossas portas, mas seu potencial ainda não é plenamente reconhecido. Porém, já vemos sinais claros desta importância quando lemos relatórios como “Big Data, Big Impact: new possibilities for International Development”, publicado pelo World Economic Forum. Este relatório mostra como a sociedade pode usufruir do imenso volume de dados ela mesmo gera para ajudar a resolver problemas diversos, como questões sócio-econômicas e até mesmo prevenção de epidemias.
Quanto às empresas, o Big Data abre um novo e ainda inexplorado território. Carecemos de conhecimentos, experiências e mesmo de expertise profissional. Começa a se falar em novas funções, como “data scientists”, mas é inevitável que os CIOs têm que colocar Big Data na tela dos seus radares. As oportunidades que os cinco “V”s trazem não podem e nem devem ser desperdiçados.

Nenhum comentário:

Postar um comentário