Este post apareceu originalmente no Radar O’Reilly (“O que são grandes dados?”). É republicado com permissão.
Por Edd Dumbill
Dados grandes são dados que excedem a capacidade de processamento dos sistemas convencionais de bases de dados. Os dados são demasiado grandes, movem-se demasiado depressa, ou não se enquadram nas estritas arquitecturas das suas bases de dados. Para ganhar valor a partir destes dados, deve escolher uma forma alternativa de os processar.
A quente palavra-chave das TI de 2012, os grandes dados tornaram-se viáveis à medida que surgiram abordagens rentáveis para domar o volume, velocidade e variabilidade dos dados massivos. Dentro destes dados encontram-se padrões e informações valiosos, anteriormente ocultados devido à quantidade de trabalho necessário para os extrair. Para empresas líderes, como o Walmart ou o Google, este poder já está ao alcance há algum tempo, mas a um custo fantástico. Hoje em dia, o hardware de base, as arquitecturas de nuvens e o software de código aberto trazem o grande processamento de dados para o alcance dos menos dotados. O grande processamento de dados é eminentemente viável mesmo para as pequenas garagens em arranque, que podem alugar barato tempo de servidor na nuvem.
O valor dos grandes dados para uma organização divide-se em duas categorias: uso analítico, e permitir novos produtos. Grandes análises de dados podem revelar percepções escondidas anteriormente por dados demasiado caros de processar, tais como a influência dos pares entre clientes, revelada pela análise das transacções dos compradores, dados sociais e geográficos. Ser capaz de processar cada item de dados em tempo razoável elimina a necessidade problemática de amostragem e promove uma abordagem investigativa dos dados, em contraste com a natureza algo estática de executar relatórios pré-determinados.
As startups da última década bem sucedidas da web são exemplos principais de grandes dados utilizados como potenciadores de novos produtos e serviços. Por exemplo, ao combinar um grande número de sinais das acções de um utilizador e dos seus amigos, o Facebook foi capaz de criar uma experiência de utilizador altamente personalizada e de criar um novo tipo de negócio de publicidade. Não é coincidência que a maior parte das ideias e ferramentas subjacentes aos grandes dados tenham surgido do Google, Yahoo, Amazon e Facebook.
A emergência de grandes dados na empresa traz consigo uma contrapartida necessária: agilidade. A exploração bem sucedida do valor dos grandes dados requer experimentação e exploração. Quer se esteja a criar novos produtos ou a procurar formas de ganhar vantagem competitiva, o trabalho exige curiosidade e uma perspectiva empreendedora.
p> Como são os grandes dados?
Como um termo de “grandes dados”, “grandes dados” pode ser bastante nebuloso, da mesma forma que o termo “nuvem” cobre diversas tecnologias. Os dados introduzidos em grandes sistemas de dados podem ser tagarelice de redes sociais, registos de servidores web, sensores de fluxo de tráfego, imagens de satélite, transmissões de áudio, transacções bancárias, MP3s de música rock, o conteúdo de páginas web, digitalizações de documentos governamentais, pistas de GPS, telemetria de automóveis, dados do mercado financeiro, a lista continua. Será tudo isto realmente a mesma coisa?
Para esclarecer, os três Vs de volume, velocidade e variedade são normalmente utilizados para caracterizar diferentes aspectos dos grandes dados. São uma lente útil para visualizar e compreender a natureza dos dados e as plataformas de software disponíveis para os explorar. O mais provável é que se defronte com cada um dos Vs até um grau ou outro.
Volume
O benefício obtido com a capacidade de processar grandes quantidades de informação é a principal atracção da análise de grandes dados. Ter mais dados é melhor do que ter melhores modelos: bits simples de matemática podem ser excessivamente eficazes dadas as grandes quantidades de dados. Se pudesse executar essa previsão tendo em conta 300 factores em vez de 6, poderia prever melhor a procura?
Este volume apresenta o desafio mais imediato às estruturas TI convencionais. Requer um armazenamento escalável, e uma abordagem distribuída para a consulta. Muitas empresas já têm grandes quantidades de dados arquivados, talvez sob a forma de registos, mas não a capacidade de os processar.
Assumindo que os volumes de dados são maiores do que as infra-estruturas de bases de dados relacionais convencionais podem suportar, as opções de processamento dividem-se amplamente numa escolha entre arquitecturas de processamento maciçamente paralelas – armazéns de dados ou bases de dados como o Greenplum – e soluções baseadas no Apache Hadoop. Esta escolha é muitas vezes informada pelo grau em que um dos outros “Vs” – variedade – entra em jogo. Tipicamente, as abordagens de armazenamento de dados envolvem esquemas pré-determinados, adequando-se a um conjunto de dados regular e de evolução lenta. O Apache Hadoop, por outro lado, não coloca condições na estrutura dos dados que pode processar.
No seu núcleo, o Hadoop é uma plataforma de distribuição de problemas informáticos por vários servidores. Desenvolvido e lançado pela primeira vez como código aberto pelo Yahoo, implementa a abordagem MapReduce pioneira do Google na compilação dos seus índices de pesquisa. O MapReduce da Hadoop envolve a distribuição de um conjunto de dados entre múltiplos servidores e a operação sobre os dados: a fase de “mapa”. Os resultados parciais são então recombinados: a fase “reduzir”.
Para armazenar dados, a Hadoop utiliza o seu próprio sistema de ficheiros distribuídos, HDFS, que torna os dados disponíveis para múltiplos nós informáticos. Um padrão típico de utilização Hadoop envolve três fases:
- carregamento de dados em HDFS,
- operações MapReduce, e
- recuperação de resultados de HDFS.
Este processo é por natureza uma operação em lote, adequada para tarefas de computação analítica ou não-interactiva. Devido a isto, Hadoop não é em si uma solução de base de dados ou de data warehouse, mas pode actuar como adjunto analítico de um.
Um dos mais conhecidos utilizadores de Hadoop é o Facebook, cujo modelo segue este padrão. Uma base de dados MySQL armazena os dados principais. Isto é então reflectido no Hadoop, onde ocorrem cálculos, tais como a criação de recomendações para si com base nos interesses dos seus amigos. O Facebook transfere então os resultados de volta para o MySQL, para utilização em páginas servidas aos utilizadores.
Guardar 20% no registo com o código RADAR20
Velocidade
A importância da velocidade dos dados – a taxa crescente a que os dados fluem para uma organização – tem seguido um padrão semelhante ao do volume. Problemas anteriormente restritos a segmentos da indústria estão agora a apresentar-se num cenário muito mais amplo. Empresas especializadas, tais como comerciantes financeiros, há muito que transformaram sistemas que lidam com dados em rápido movimento em seu benefício. Agora é a nossa vez.
Porquê? A era da Internet e da mobilidade significa que a forma como entregamos e consumimos produtos e serviços é cada vez mais instrumentalizada, gerando um fluxo de dados de volta para o fornecedor. Os retalhistas on-line são capazes de compilar grandes histórias de cada clique e interacção dos clientes: não apenas as vendas finais. Aqueles que são capazes de utilizar rapidamente essa informação, recomendando compras adicionais, por exemplo, ganham vantagem competitiva. A era do smartphone aumenta novamente a taxa de entrada de dados, uma vez que os consumidores transportam consigo uma fonte de streaming de imagens geolocadas e dados de áudio.
Não é apenas a velocidade dos dados recebidos que é o problema: é possível fazer streaming de dados em movimento rápido para armazenamento a granel para posterior processamento de lotes
, por exemplo. A importância reside na velocidade do ciclo de feedback, levando os dados desde a entrada até à decisão. Um anúncio da IBM faz notar que não se atravessaria a estrada se tudo o que se tivesse fosse um instantâneo de cinco minutos de localização do tráfego. Há alturas em que simplesmente não será capaz de esperar por um relatório ou um trabalho Hadoop para completar.
Terminologia da indústria para dados tão rápidos tende a ser ou “streaming data”, ou “processamento de eventos complexos”. Este último termo foi mais estabelecido em categorias de produtos antes de os dados de processamento de streaming ganharem mais relevância, e parece provável que diminua a favor do streaming.
Existem duas razões principais para considerar o processamento de streaming. A primeira é quando os dados introduzidos são demasiado rápidos para serem armazenados na sua totalidade: a fim de manter os requisitos de armazenamento práticos, deve ocorrer algum nível de análise à medida que os fluxos de dados são introduzidos. No extremo extremo da escala, o Grande Colisor de Hadrões no CERN gera tantos dados que os cientistas devem descartar a esmagadora maioria dos mesmos – na esperança de não terem deitado fora nada de útil. A segunda razão para considerar o fluxo é quando a aplicação exige uma resposta imediata aos dados. Graças ao aumento das aplicações móveis e dos jogos em linha, esta é uma situação cada vez mais comum.
As categorias de produtos para o tratamento de dados de streaming dividem-se em produtos proprietários estabelecidos, tais como os InfoSphere Streams da IBM, e as estruturas de fonte aberta menos polidas e ainda emergentes com origem na indústria web: Twitter’s Storm, e Yahoo S4.
Como mencionado acima, não se trata apenas de dados de entrada. A velocidade das saídas de um sistema também pode importar. Quanto mais apertado for o ciclo de feedback, maior será a vantagem competitiva. Os resultados podem ir directamente para um produto, tal como as recomendações do Facebook, ou para painéis utilizados para conduzir a tomada de decisões.
É esta necessidade de velocidade, particularmente na web, que tem impulsionado o desenvolvimento de armazéns de valores-chave e bases de dados colunares, optimizados para a rápida recuperação de informação pré-computacional. Estas bases de dados fazem parte de uma categoria guarda-chuva conhecida como NoSQL, utilizada quando os modelos relacionais não são os adequados.
Variedade
Raramente os dados se apresentam de uma forma perfeitamente ordenada e pronta para processamento. Um tema comum em grandes sistemas de dados é que os dados originais são diversos, e não caem em estruturas relacionais ordenadas. Pode ser texto de redes sociais, dados de imagem, uma alimentação em bruto directamente de uma fonte de sensores. Nenhuma destas coisas vem pronta para integração numa aplicação.
p>Even na web, onde a comunicação computador a computador deve trazer algumas garantias, a realidade dos dados é confusa. Diferentes navegadores enviam dados diferentes, os utilizadores retêm informações, podem estar a utilizar diferentes versões de software ou vendedores para comunicar consigo. E pode apostar que se parte do processo envolver um humano, haverá erro e inconsistência.
Um uso comum do grande processamento de dados é tomar dados não estruturados e extrair significado ordenado, para consumo quer por humanos, quer como entrada estruturada para uma aplicação. Um desses exemplos é a resolução de entidade, o processo de determinar exactamente a que se refere um nome. Será esta cidade Londres, Inglaterra, ou Londres, Texas? Quando a sua lógica empresarial chegar a ela, não quer estar a adivinhar.
O processo de passar de dados de origem para dados de aplicação processados envolve a perda de informação. Quando se arrumam, acaba-se por deitar coisas fora. Isto sublinha um princípio de grandes dados: quando pode, mantenha tudo. Pode bem haver sinais úteis nos bocados que deita fora. Se perder os dados de origem, não há volta atrás.
Apesar da popularidade e da natureza bem compreendida das bases de dados relacionais, não é o caso de estas deverem ser sempre o destino dos dados, mesmo quando arrumados. Certos tipos de dados adaptam-se melhor a certas classes de bases de dados. Por exemplo, os documentos codificados como XML são mais versáteis quando armazenados num armazém XML dedicado, como o MarkLogic. As relações de rede social são gráficos por natureza, e bases de dados gráficas como o Neo4J tornam as operações sobre eles mais simples e mais eficientes.
Even onde não há uma desadequação radical do tipo de dados, uma desvantagem da base de dados relacional é a natureza estática dos seus esquemas. Num ambiente ágil e exploratório, os resultados dos cálculos irão evoluir com a detecção e extracção de mais sinais. As bases de dados semi-estruturadas NoSQL satisfazem esta necessidade de flexibilidade: fornecem estrutura suficiente para organizar os dados, mas não exigem o esquema exacto dos dados antes de os armazenar.
Na prática
Explorámos a natureza dos grandes dados, e pesquisámos a paisagem dos grandes dados a partir de um nível elevado. Como é habitual, quando se trata de implantação, há dimensões a considerar para além da selecção de ferramentas.
Cloud ou internamente?
A maioria das grandes soluções de dados são agora fornecidas de três formas: apenas por software, como um aparelho ou baseado em nuvem. As decisões entre as quais o caminho a tomar dependerão, entre outras coisas, de questões de localização de dados, privacidade e regulamentação, recursos humanos e requisitos do projecto. Muitas organizações optam por uma solução híbrida: utilização de recursos em nuvem a pedido para complementar implementações internas.
Dados grandes são grandes
É um facto fundamental que dados demasiado grandes para serem processados convencionalmente são também demasiado grandes para serem transportados para qualquer lugar. As TI estão a sofrer uma inversão de prioridades: é o programa que precisa de se deslocar, não os dados. Se quiser analisar dados do Censo dos EUA, é muito mais fácil executar o seu código na plataforma de serviços web da Amazon, que hospeda tais dados localmente, e não lhe custará tempo ou dinheiro para os transferir.
Even se os dados não forem demasiado grandes para se deslocarem, a localidade ainda pode ser um problema, especialmente com dados de actualização rápida. Os sistemas financeiros de negociação aglomeram-se nos centros de dados para obter a ligação mais rápida aos dados de origem, porque essa diferença de milissegundos no tempo de processamento equivale a uma vantagem competitiva.
Dados volumosos são confusos
Não se trata apenas de infra-estruturas. Os grandes profissionais de dados relatam consistentemente que 80% do esforço envolvido no tratamento de dados é, em primeiro lugar, a sua limpeza, como Pete Warden observa no seu Big Data Glossary: “Provavelmente passo mais tempo a transformar dados de fonte desordenada em algo utilizável do que no resto do processo de análise de dados combinados”
Por causa do elevado custo de aquisição e limpeza de dados, vale a pena considerar o que realmente é necessário para se obter a fonte. Os mercados de dados são um meio de obter dados comuns, e muitas vezes é possível contribuir com melhorias de volta. A qualidade pode evidentemente ser variável, mas será cada vez mais uma referência em que os mercados de dados competem.
Cultura
O fenómeno dos grandes dados está intimamente ligado ao aparecimento da ciência dos dados, uma disciplina que combina matemática, programação e instinto científico. Beneficiar de grandes dados significa investir em equipas com este conjunto de competências, e rodeá-las de uma vontade organizacional de compreender e utilizar os dados em proveito.
No seu relatório, “Building Data Science Teams”, D.J. Patil caracteriza
data scientists como tendo as seguintes qualidades:
- Technical expertise: os melhores cientistas de dados têm tipicamente conhecimentos profundos em alguma disciplina científica.
- Curiosidade: um desejo de ir por debaixo da superfície e descobrir e destilar um problema num conjunto muito claro de hipóteses que podem ser testadas.
- Contagem de histórias: a capacidade de utilizar dados para contar uma história e ser capaz de a comunicar eficazmente.
- Inteligência: a capacidade de olhar para um problema de formas diferentes e criativas.
A natureza abrangente de grandes projectos de análise de dados pode ter aspectos desconfortáveis: os dados devem ser retirados de silos para serem minados, e a organização deve aprender como comunicar e interceptar os resultados da análise.
A capacidade de contar histórias e a esperteza são os factores de porta de entrada que, em última análise, ditam se os benefícios dos trabalhos analíticos são absorvidos por uma organização. A arte e a prática da visualização de dados está a tornar-se cada vez mais importante para colmatar a lacuna homem-computador para mediar a percepção analítica de uma forma significativa.
Saber onde se quer ir
Finalmente, lembrar que os grandes dados não são uma panaceia. Pode encontrar padrões e pistas nos seus dados, mas então o quê? Christer Johnson, líder da IBM para análises avançadas na América do Norte, dá este conselho às empresas que começam com grandes dados: primeiro, decida que problema quer resolver.
Se escolher um problema real de negócio, como por exemplo como pode alterar a sua estratégia de publicidade para aumentar os gastos por cliente, ele orientará a sua implementação. Embora o grande trabalho de dados beneficie de um espírito empreendedor, também beneficia fortemente de um objectivo concreto.
Related:
- O que é a ciência dos dados?
- Construir equipas de ciência de dados
- Grandes Dados Agora
- “Dados à Escala do Universo”, apresentação de Kyle Cranmer na Strata NY 2011 (vídeo)
- Construir startups de dados: Rápido, grande e concentrado