Wednesday, April 1, 2015

O que é Big Data e como funciona?





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.




"http://s.profissionaisti.com.br/wp-content/uploads/2015/03/bigdata-mercado-dados-tecnologia.png"

alt="Imagem via Shutterstock" width="720" height="380">


Imagem via
"http://www.shutterstock.com/pt/pic-241742776/stock-photo-data-mining-dataminig-process-and-big-data-analysis-bigdata-issue-concept-analyst-give-you.html"

target="_blank">Shutterstock




Todos sabem que a evolução da tecnologia tem seguido a

"http://pt.wikipedia.org/wiki/Lei_de_Moore" target="_blank">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

"http://pt.wikipedia.org/wiki/Lei_de_Parkinson">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

"http://pt.wikipedia.org/wiki/Grace_Hopper" target=

"_blank">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

"http://cassandra.apache.org/" target="_blank">Cassandra,
MongoDB,
Hive e
Impala (essas

duas últimas rodam sobre
target="_blank">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

"http://www.profissionaisti.com.br/2014/07/o-que-e-computacao-em-nuvem-e-quais-os-principais-tipos/">

Cloud Computing
, principalmente para processar dados

obtidos na própria Internet.




0 comments:

Post a Comment