Big Data: o que é e como funciona

Introdução

Você já parou para pensar na quantidade de dados que geramos todos os dias? Bancos, lojas, companhias aéreas, operadoras de telefonia e redes sociais são apenas alguns dos numerosos exemplos de organizações que administram grandes volumes de dados. Mas tê-los não basta. É preciso saber usá-los. É aí que o conceito de Big Data entra em cena.

Nas próximas linhas, você descobrirá o que Big Data significa, entenderá o porquê de o conceito estar tão presente em ambientes de Tecnologia da Informação (TI) e conhecerá as suas vantagens para empresas, governos e outras instituições.

- O que é Big Data?
- Por que Big Data é tão importante?
- Os cinco 'Vs' do Big Data
- Soluções de Big Data
- O que é Hadoop?
- Exemplos de uso de Big Data

O que é Big Data?

Big Data é o conceito que descreve conjuntos de dados extremamente amplos e que, por esse motivo, precisam ser tratados com ferramentas específicas para grandes volumes. Assim, toda e qualquer informação nesse conjunto pode ser encontrada, analisada e aproveitada em tempo hábil.

Explicando de um jeito mais simples, a ideia pode ser compreendida como a análise de grandes quantidades de dados para geração de resultados relevantes que, em volumes menores, dificilmente seriam alcançados.

Não é difícil entender o cenário em que o conceito se aplica: trocamos milhões de e-mails todos os dias; milhares de transações bancárias acontecem no mundo a cada segundo; sistemas sofisticados gerenciam a cadeia de suprimentos de várias fábricas neste exato momento; soluções de ERP coordenam os setores de inúmeras companhias.

Exemplos não faltam. Se te perguntarem, você certamente será capaz de apontar outros, sem fazer esforço.

Big Data
Big Data — imagem: Geralt/Pixabay

Informação é poder, logo, se uma organização souber utilizar os dados que tem em mãos, poderá entender como melhorar um produto, criar uma estratégia de marketing mais eficiente, produzir mais em menos tempo, evitar desperdício de recursos, superar um concorrente, oferecer serviços personalizados e assim por diante.

Perceba que estamos falando de fatores que podem até ser decisivos para o futuro de um negócio. Mas Big Data é um nome relativamente recente. Isso significa que somente nos últimos anos as empresas descobriram a necessidade de melhorar o uso de seus grandes bancos de dados?

Pode ter certeza que não. Há tempos que departamentos de TI contemplam aplicações de Data Mining, Business Intelligence e CRM (Customer Relationship Management), por exemplo, para tratar justamente de análise de dados, tomadas de decisões e outros aspectos relacionados ao negócio.

A proposta de uma solução de Big Data é oferecer uma abordagem ampla no tratamento do aspecto cada vez mais "caótico" dos dados. Essa é uma forma de tornar as mencionadas aplicações e todas as outras mais eficientes ou precisas.

Para tanto, o conceito considera não somente grandes quantidades de dados, mas a disponibilização destes, a velocidade da análise, além da possível relação entre diferentes volumes.

Por que Big Data é tão importante?

Lidamos com dados desde os primórdios da humanidade. Mas, nos tempos atuais, os avanços computacionais nos permitem guardar, organizar e analisar dados mais facilmente e com frequência muito maior em relação às épocas em que computadores não estavam disponíveis.

Esse panorama está longe de deixar de ser crescente. Basta observar, por exemplo, que vários dispositivos em nossas casas — TVs, alto-falantes, termostatos, entre outros — já podem ficar online ou se comunicar com outros equipamentos do ambiente. É o que se conhece como internet das coisas.

Se olharmos para o que temos hoje, veremos uma grande mudança em relação às décadas anteriores. Pense na quantidade de dados que é gerada diariamente apenas nas redes sociais. Reflita sobre o imenso número de sites na web. Perceba que você é capaz de fazer compras por meio do celular.

A evolução tecnológica levou ao aumento exponencial da quantidade de informações no mundo e, agora, as organizações precisam lidar com essa "explosão" de dados.

Big Data é uma abordagem que se propõe a ajudar nessa tarefa, pois os recursos computacionais usados tradicionalmente para gestão de dados podem não ser suficientes para isso.

Os cinco 'Vs' do Big Data

No intuito de deixar a ideia de Big Data mais clara, algumas organizações, a exemplo da IBM, resumem o assunto em cinco aspectos principais. São os cincos 'Vs': volume, velocidade e variedade, com os fatores veracidade e valor aparecendo posteriormente. Vamos a eles.

Volume

O aspecto do volume você já conhece. Estamos falando de quantidades de dados realmente grandes, que crescem exponencialmente e, não raramente, são subutilizados por estarem nessas condições.

Velocidade

Velocidade (velocity) é outro ponto que você já assimilou. Para dar conta de determinados problemas, o tratamento dos dados (obtenção, gravação, atualização, enfim) deve ser feito em tempo hábil — muitas vezes em tempo real.

Se o tamanho do banco de dados for um fator limitante, o negócio pode ser prejudicado. Imagine, como exemplo, o transtorno que uma operadora de cartão de crédito geraria se demorasse horas para aprovar transações pelo fato de o seu sistema não conseguir analisar rapidamente os dados que podem indicar uma fraude.

Variedade

Variedade (variety) é outro aspecto importante. Os volume de dados que temos hoje são, em parte, efeito da diversidade de informações existentes.

Temos dados em formato estruturado — armazenados em bancos como PostgreSQL e Oracle — e dados não estruturados oriundos de inúmeras fontes, como documentos, imagens, áudios e vídeos. É necessário tratar a variedade como parte de um todo — um tipo de dado pode ser inútil se não for associado a outros.

Veracidade

O aspecto da veracidade (veracity) também pode ser considerado. Não adiante lidar com a combinação "volume + velocidade + variedade" se houver dados não confiáveis. É necessário que haja processos que garantam a consistência dos dados, tanto quanto possível.

Voltando ao exemplo da operadora de cartão de crédito, imagine o problema que a empresa teria se o seu sistema bloqueasse uma transação genuína por analisar dados não condizentes com a realidade.

Valor

Informação não é só poder. Informação também é patrimônio. A combinação "volume + velocidade + variedade + veracidade", além de todo e qualquer outro aspecto que caracterize uma solução de Big Data, se mostrará inviável se o resultado não trouxer benefícios significativos. Esse é o aspecto do valor (value).

Um pouco mais sobre os cinco 'Vs'

É claro que o conjunto com os cinco aspectos não precisa ser interpretado como uma definição perfeita. Há quem acredite, por exemplo, que a combinação "volume + velocidade + variedade" seja suficiente para transmitir uma noção aceitável do Big Data.

Nesse sentido, os aspectos da veracidade e do valor seriam desnecessários, pois já estariam implícitos no negócio. Qualquer entidade séria sabe que precisa de dados consistentes; nenhuma organização toma decisões e faz investimentos se não houver expectativa de retorno.

O destaque para os últimos dois pontos talvez seja realmente desnecessário por fazer referência ao que parece óbvio. Por outro lado, a sua consideração pode ser relevante por trazer à tona cuidados importantes.

Por exemplo, uma empresa pode analisar redes sociais para obter uma avaliação da imagem que os clientes têm de seus produtos. Mas será que essas informações são confiáveis a ponto de a adoção de procedimentos mais criteriosos não ser necessária?

De todo modo, os três primeiros 'Vs' — volume, velocidade e variedade — podem até não oferecer a melhor definição do conceito, mas não estão longe de fazê-lo.

Entende-se que uma solução de Big Data trata apenas de enormes quantidades de dados. Porém, você pode ter um volume não muito grande, mas que ainda se encaixa no contexto por causa dos fatores velocidade e variedade.

Soluções de Big Data

Além de lidar com volumes extremamente grandes de dados, dos mais variados tipos, soluções de Big Data precisam trabalhar com distribuição de processamento e elasticidade. Em outras palavras, é importante suportar aplicações com volumes de dados que crescem substancialmente em pouco tempo.

O problema é que bancos de dados tradicionais, especialmente os que exploram o modelo relacional, como o MySQL, o PostgreSQL e o Oracle, nem sempre atendem a esses requisitos.

Isso acontece porque, normalmente, bancos de dados relacionais se baseiam em quatro propriedades que tornam a sua adoção segura e eficiente: atomicidade, consistência, isolamento e durabilidade.

Essa combinação é conhecida como ACID, sigla para o uso desses termos em inglês: Atomicity, Consistency, Isolation e Durability, respectivamente. Vejamos uma breve descrição de cada um:

  • Atomicidade: toda transação deve ser atômica, isto é, só pode ser considerada efetivada se executada completamente;
  • Consistência: todas as regras aplicadas ao banco de dados devem ser seguidas;
  • Isolamento: nenhuma transação pode interferir em outra que esteja em execução ao mesmo tempo;
  • Durabilidade: quando a transação for concluída, os dados consequentes não devem ser perdidos.

Esses são aspectos importantes para um banco de dados tradicional. O problema é que esse conjunto de propriedades tende a ser muito restritivo para uma solução de Big Data. A elasticidade, por exemplo, pode ser inviabilizada pela atomicidade e pela consistência.

É neste ponto que entra em cena o conceito de NoSQL, denominação que muitos atribuem à expressão em inglês "Not only SQL", que em tradução livre significa "Não apenas SQL". Em tempo, SQL é a sigla para Structured Query Language. Trata-se, em poucas palavras, de uma linguagem própria para se trabalhar com bancos de dados relacionais.

O NoSQL faz referência às soluções de bancos de dados que possibilitam armazenamento de diversas formas, não se limitando ao modelo relacional tradicional.

Bancos de dados do tipo são mais flexíveis, sendo inclusive compatíveis com um conjunto de premissas que "compete" com as propriedades ACID: a BASE (Basically Available, Soft state, Eventually consistency — Basicamente disponível, Estado Leve, Eventualmente consistente).

Não é que bancos de dados relacionais tenham ficado ultrapassados. Eles foram e continuarão sendo úteis em uma série de aplicações. Mas, de modo geral, quanto maior um banco de dados se torna, mais custoso e trabalhoso ele fica. É necessário otimizar, acrescentar novos servidores, empregar mais especialistas em sua manutenção, enfim.

Via de regra, escalar (tornar maior) um bancos de dados NoSQL é mais fácil e menos custoso. Isso é possível porque, além de contar com propriedades mais flexíveis, bancos do tipo já são otimizados para trabalhar com processamento paralelo, distribuição global (vários datacenters), aumento imediato de sua capacidade, entre outros aspectos.

Além disso, há mais de uma categoria de banco de dados NoSQL. Isso faz soluções do tipo atenderem a uma grande variedade de dados, tanto estruturados quanto não estruturados: bancos de dados orientados a documentos, bancos de dados chave/valor, bancos de dados de grafos e assim por diante.

Exemplos de bancos de dado NoSQL são o Cassandra, o MongoDB, o HBase, o CouchDB e o Redis. Mas, quando o assunto é Big Data, apenas um banco de dados do tipo não basta. É importante também contar com ferramentas que permitam o tratamento dos volumes. Nesse quesito, o Hadoop é uma grande referência.

Bancos de dados NoSQL
Bancos de dados NoSQL

O que é Hadoop?

O Hadoop é uma plataforma open source (de código-fonte aberto) desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados. O projeto é mantido pela Apache Foundation, mas conta com a colaboração de várias companhias de tecnologia, como Microsoft, Intel, Google e Nvidia.

Pode-se dizer que o projeto teve início em meados de 2003, quando o Google criou um modelo de programação que distribui o processamento a ser realizado entre vários computadores para ajudar o seu mecanismo de busca a ficar mais rápido e livre da necessidade de servidores poderosos (e caros). Essa tecnologia recebeu o nome de MapReduce.

Alguns meses depois, o Google apresentou o Google File System (GFS), um *sistema de arquivos preparado para lidar com processamento distribuído e, como não poderia deixar de ser no caso da companhia, grandes volumes de dados (em grandezas de terabytes ou petabytes).

*Em poucas palavras, sistema de arquivos é um conjunto de instruções que determina como os dados devem ser guardados, acessados, copiados, alterados, nomeados e eliminados pelo sistema operacional.

Em 2004, uma implementação de código aberto do GFS foi incorporada ao Nutch, projeto de motor de busca para a web. O Nutch enfrentava problemas de escala — não conseguia lidar com um volume grande de páginas — e a variação do GFS, que recebeu o nome Nutch Distributed Filesystem (NDFS), se mostrou como uma solução. No ano seguinte, o Nutch já contava com uma implementação do MapReduce.

Na verdade, o Nutch fazia parte de um projeto maior: uma biblioteca para indexação de páginas chamada Lucene. Os responsáveis por esses trabalhos logo viram que o que tinham em mãos também poderia ser usado em aplicações diferentes, não só em buscas na web.

Essa percepção motivou a criação de outro projeto que engloba características do Nutch e do Lucene: o Hadoop, cuja implementação do sistema de arquivos recebeu o nome de Hadoop Distributed File System (HDFS).

O Hadoop é visto como uma solução conveniente para Big Data por vários motivos:

- trata-se de um projeto open source, como já informado, fator que permite a sua modificação e o torna suscetível a melhorias constantes graças à sua rede de colaboração. Por causa dessa característica, vários projetos derivados ou complementares foram criados;

- proporciona economia financeira, pois não exige pagamento de licenças e suporta hardware convencional, permitindo a criação de projetos com máquinas consideravelmente mais baratas;

- o Hadoop conta, por padrão, com recursos de tolerância a falhas, como replicação de dados;

- o Hadoop é escalável: havendo necessidade de processamento para suportar uma quantidade maior de dados, pode-se acrescentar computadores sem necessidade de realizar reconfigurações complexas no sistema.

É claro que o Hadoop pode ser usado em conjunto com bancos de dados NoSQL. A própria Apache Foundation mantém uma solução do tipo que é uma espécie de subprojeto do Hadoop: o já mencionado banco de dados HBase, que funciona atrelado ao HDFS.

Convém destacar que o Hadoop é a solução com maior destaque, mas não a única. É possível encontrar outras opções compatíveis com NoSQL ou que são baseadas em Massively Parallel Processing (MPP), por exemplo.

Exemplos de uso de Big Data

Soluções de Big Data podem ser implementadas em praticamente qualquer área. Vamos a alguns exemplos possíveis:

  • Prevenção de fraudes bancárias: empresas do setor financeiro podem analisar uma grande quantidade de dados em tempo real para identificar transações que são atípicas para determinado cliente, o que poderia ser um indicativo de fraude;
  • Diagnósticos médicos: laboratórios e hospitais podem utilizar parâmetros de numerosos exames para auxiliar médicos ou até sistemas de inteligência artificial no diagnóstico de patologias complexas;
  • Comércio eletrônico: comportamentos de compras, análises de desistências e épocas do ano (sazonalidades) estão entre os numerosos parâmetros que podem ser combinados para uma loja online determinar qual o melhor momento para realizar promoções ou campanhas publicitárias;
  • Otimização da produção: com Big Data, uma fábrica pode analisar diversos dados da produção para traçar estratégias que reduzem o desperdício de matéria-prima ou o consumo de energia elétrica, por exemplo;
  • Estratégias de logística: uma transportadora pode combinar dados públicos e privados a respeito do trânsito para definir as rotas mais econômicas em certos horários e locais ou que tipo de veículo é mais adequado em determinadas circunstâncias.

* * *

Para saber mais sobre o assunto, você pode consultar os links que serviram de referência para este texto:

Veja também:

Escrito em 13_03_2013. Atualizado em 08_06_2022.

Emerson Alecrim Autor: Emerson Alecrim
Graduado em ciência da computação, produz conteúdo sobre tecnologia desde 2001. É especializado em temas como TI, dispositivos móveis, internet e negócios.
Canais para contato (exceto dúvidas técnicas): TwitterLinkedIn