O caos conceitual e os 5 Vs do Big Data

Big Data = volume + variedade + velocidade. Hoje adiciono mais dois “V”s: veracidade e valor. As oportunidades que os cinco “V”s trazem não podem e nem devem ser desperdiçados.

Author Photo
7:40 am - 11 de maio de 2012

O termo Big Data está cada vez mais popular, embora
ainda esteja mal compreendido. Observo em muitas palestras que não existe
consenso quanto a que realmente é Big Data e quais 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, além de
ser o primeiro passo para as empresas se aventurarem em projetos Big Data.

Para colocarmos o termo em contexto, Big Data vem chamando  atenção pela acelerada escala em que
volumes cada vez maiores 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 Big Data podem ser
analisados 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, destacam-se os
bancos de dados NoSQL (No, significa not only SQL). Por que estas tecnologias?
Por que Big Data é a simples constatação prática que o imenso volume de dados
gerados a cada dia excede a capacidade das tecnologias atuais de os tratarem
adequadamente.

Começando pelo início. O que é Big Data?

Outro dia
escrevi um post 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.

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 vem de sistemas estruturados (hoje minoria) e não estruturados (a
imensa maioria), gerados por emails, midias sociais (Facebook, Twitter, YouTube
e outros), documentos eletrônicos, apresentações estilo Powerpoint, mensagens
instântaneas, sensores, etiquetas RFID, cameras de video, etc.

Velocidade 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. Veracidade porque precisamos ter
certeza 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 imensamente
melhorada, minimizando-se os riscos, utilizando-se, por exemplo, de análise de
dados que estão fora das bases estruturadas das seguradoras, como os dados que estão
circulando diariamente nas midias sociais.

Falamos que as tecnologias atuais de tratamento de
dados não são mais adequadas. Por que? 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 foi desenhado para dados não estruturados (futurologia na
época) e nem para 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 os softwares de
banco de dados NoSQL, desenhados para tratar imensos volumes de dados
estruturados e não estruturados. Existem diversos modelos como sistemas
colunares como o Big Table, usado internamente pelo Google (é a base de dados
sob o Google App Engine), o modelo Key/value como DynamoDB da Amazon , o modelo
“document database” baseado no conceito proposto pelo Lotus Notes da IBM e
aplicado em softwares como MongoDB, e o modelo 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, que é o
IMS da IBM, 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. 

Por outro lado, esta diversidade de alternativas
demanda que os líderes dos projetos de Big Data escolham a mais adequada ou
mesmo demandem mais de uma opção, de acordo com as necessidades especificas.

Depois da infraestrutura é necessário atenção aos
componentes de analytics, pois estes é que transformam os dados em algo de
valor para o negócio. Big Data Analytics não signfica eliminar os tradicionais
sistemas de BI que existem hoje, mas pelo contrário, devem coexistir.
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.

Aliás, ao lado destas alternativas surgem outras
opções, como o uso de appliances, que embarcam em um hardware adaptado todos os
softwares necessários para criar projetos de Big Data. 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 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 stream computing, as falhas nos chips sendo
fabricados são detetados 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 Big
Data, pois pode-se usar nuvens publicas para suportar imensos volumes de dados e
as carateristicas de elasticidade 
das nuvens permitem que acionemos servidores virtuais sob demanda,
aprenas no momento de tratar estes dados.

Enfim, Big Data já está batendo nas nossas portas. Seu
potencial ainda não está sendo plenamente reconhecido, mas já vemos sinais
claros desta importância quando lemos relatórios como o “Big Data, Big Impact:
new possibilities for International Development”, publicado pelo World Economic
Forum. Este relatório mostra como a sociedade mundial pode usufruir do imenso
volume de dados gerado por ela para ajudar a resolver problemas diversos como
questões sócio-econômicas e mesmo prevenção de epidemias.

Quanto às empresas, Big Data abre um novo e ainda
inexplorado território. Carecemos de conhecimentos, experiências e mesmo de
expertise profissional. Começa-se a se falar em novas funções como “data
scientists” (escrevi sobre isso em post anterior), mas é inevitável que os CIOs
tenham 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.

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.