O que é Big Data e como funciona?

AGRADEÇA AO AUTOR COMPARTILHE!

Muito tem se falado de Big Data, e começam a aparecer algumas soluções interessantes no mercado, inclusive open source, mas poucas são as definições do que é Big Data e qual sua importância para o mundo dos negócios.

O termo tem sido usado para definir grandes quantidades de dados armazenados pelas empresas mas, principalmente, dados não estruturados, como logs de acesso, dados de sensores, frases escritas por funcionários e clientes, dados de redes sociais, posições geográficas, e-mails, arquivos no servidor de arquivos, entre outros.

Imagem via Shutterstock

Imagem via Shutterstock

Todos sabem que a evolução da tecnologia tem seguido a Lei de Moore, que prevê que a capacidade de processamento e armazenamento dobra a cada 18 meses, e isso tem nos proporcionado cada vez mais capacidade de armazenamento.

Por outro lado, a Lei de Parkinson, quando aplicada a computação, determina que toda a capacidade disponível tende a ser ocupada, e isso nos dá mais dados para armazenar e, principalmente, analisar, o que tem se tornado inviável com ferramentas convencionais.

É aí que entram as ferramentas de análise de Big Data, que permitem o tratamento de grandes quantidades de informações, estruturadas ou não, para gerar novas análises e entendimento sobre as informações existentes.

Arquiteturas de Big Data

O grande diferencial dessas ferramentas é a capacidade de processamento distribuído, o que permite criar um cluster dedicado com vários servidores, com grande capacidade de processamento e armazenamento, sem a necessidade de equipamentos especializados e normalmente tolerantes a falha.

Em termos de arquitetura, as ferramentas de Big Data utilizam a capacidade de processamento e armazenamento em paralelo, ao invés de utilizar um computador único cada vez maior. Esse conceito já era defendido por Grace Hopper:

“In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, we didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more (systems of computers).”

Casos de Uso

Estima-se que apenas 20% dos dados de uma empresa são dados estruturados, usados para a tomada de decisões, e é aí que entra a capacidade das novas ferramentas, que vão além do banco de dados relacional, permitindo correlacionar dados de diversas fontes e nos mais variados formatos, como documentos, planilhas, emails, imagens e até vídeos.

Um caso de uso bem comum é utilizar o cluster de Big Data para Business Analytics ou Business Inteligence. Em empresas maiores, a quantidade de dados estruturados pode chegar a números bem expressivos, o que pode inviabilizar a consulta em um banco de dados relacional comum.

Nesses casos, exportar o conteúdo desses bancos para um ambiente de Big Data pode viabilizar a execução, pois o SGBD em Big Data é focado apenas no dado, e não na indexação, relacionamento e validação dos dados como num SGBD comum, permitindo executar consultas que seriam inviáveis em termos de tempo de execução e recursos computacionais das soluções convencionais.

Desafios

O primeiro desafio do Big Data é a coleta de dados para dentro do cluster. Normalmente fala-se de enormes quantidades de dados sendo gerados em uma taxa maior do que um servidor seria capaz de processar e armazenar, e é aí que entram os clusters, com vários nós capturando essas informações e distribuindo entre os outros nós do cluster para manter a tolerância a falha.

O segundo desafio é processar essas informações. Como elas estão distribuídas, a aplicação deve ser capaz de consumir pequenas partes das informações e gerar pequenas partes de dados processados, que depois serão calculados em conjunto para criar o resultado final. Isso normalmente requer um desenvolvimento específico para o processamento desses dados.

A parte mais simples é a exibição dos resultados, os arquivos gerados normalmente são resumos das informações, agrupando conforme necessário, de forma que alguém possa entender e tomar uma decisão sobre aqueles dados.

Existe SQL em Big Data?

Uma das formas criadas para aproveitar o conhecimento já existente no mercado sobre a linguagem SQL, foi desenvolver ferramentas que suportassem SQL (Structured Query Language), comumente utilizada em SGBD.

Assim, nasceram aplicações como Cassandra, MongoDB, Hive e Impala (essas duas últimas rodam sobre Hadoop), capazes de executar comandos comuns de SQL em clusters de Big Data.

Isso torna um pouco mais fácil o desenvolvimento para Big Data, pois aproveita um conhecimento já existente, mas Big Data ainda não é um conceito tão simples quanto Plug and Play.

Também o uso dessas ferramentas pode gerar uma expectativa irreal quanto a performance e funcionamento, todas essas ferramentas são muito novas, com comandos limitados, e o fato de executar distribuído faz consultas pequenas demorarem muito mais do que em um SGBD comum. A vantagem delas está realmente na hora de trabalhar grandes quantidades de dados, onde o overhead da computação distribuída é insignificante frente a quantidade de dados a serem processados.

Conclusão

Big Data é uma tecnologia que é realidade para grandes empresas. Tem tido rápida adoção para pesquisas, análise de negócios, detecção de fraudes, entendimento de comportamento dos consumidores, entre outros; mas os requisitos iniciais estão longe da realidade da maioria das pequenas e médias empresas, principalmente no Brasil.

Também as aplicações ainda são muito específicas e normalmente desenvolvidas sob demanda, o que aumenta ainda mais os custos iniciais de implantação e desenvolvimento.

Mas a predominância principalmente de ferramentas open source, a capacidade de executar sobre hardware comum e a tendência de aparecerem novos fornecedores nesse mundo deve trazer essa realidade em breve para pequenas e médias empresas.

Também deve ser comum a adoção de Big Data em Cloud Computing, principalmente para processar dados obtidos na própria Internet.

AGRADEÇA AO AUTOR COMPARTILHE!

Fernando Ulisses dos Santos

Mais artigos deste autor »

Diretor de Desenvolvimento da Blue Solutions e no Business Monitor, trabalhou em dezenas de projetos de virtualização, reestruturação, implantação e migração de Datacenter em empresas de todos os portes. Atualmente trabalhando com BI, tem implantado Indicadores de Gestão em clientes dos mais diversos portes e setores.

Pós-Graduado em Segurança da Informação, certificado VMware VCAP-DTD.


5 Comentários

Luan
2

Parabéns pelo artigo! Muito bom e esclarecedor enquanto a alguns pontos ainda desconhecidos sibre Big Data…

AllanJuan
4

1. “dados não estruturados, como logs de acesso, dados de sensores” – esses exemplos são dados estruturados.
2. “Estima-se que apenas 20% dos dados de uma empresa são dados estruturados” – 20% são desestruturados o restante está estruturado, mas não organizado.
3. “pois o SGBD em Big Data é focado apenas no dado, e não na indexação” – não procede. Por isso você bancos específicos que são responsáveis pela área de staging, MDM e ODS.
4. “A parte mais simples é a exibição dos resultados”. É o erro mais comum cometido. Dizer que a camada de apresentação é a mais simples. Realmente apresentar dados não é algo complexo, mas chegar num resultado limpo, coerente, processado dá trabalho e é o mesmo cara que ajuda nessa missão.
5. “o que pode inviabilizar a consulta em um banco de dados relacional comum” – utilizando os conceitos e modelos do item 3, isso é irrelevante.
6. “Os arquivos gerados normalmente são resumo das” – Se eu processo drill-down, drill-trought, drill-up não tem como ser resumo.
7. “executar distribuído faz consultas pequenas demorarem muito mais do que em um SGBD comum”. Só se tiver sido implementado errado. Soluções de BI com BD prezam demais por modelo in-memory, por isso caro e espaçoso, mas extremamente rápido/imediato.

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">