Cloud Computing

19 jan, 2015

Redefina computação em nuvem

Publicidade

Big data não gera valor por si. A geração de valor é quando conseguimos criar insights que geram resultados tangíveis para o negócio. Entretanto, criar projetos de big data não se constituem em tarefas simples. Existem muitas tecnologias, mas o desafio de integrar uma coleção muito diversa de dados estruturados e não estruturados não é trivial. A complexidade do trabalho é diretamente proporcional à variedade e volume dos dados que precisam ser acessados e analisados.

Uma provável alternativa para este desafio é a criação de data lakes, que é um repositório onde se armazena um grande e variado volume de dados estruturados e não estruturados. Uma definição simples pode ser encontrada neste link: “A massive, easily accessible data repository built on (relatively) inexpensive computer hardware for storing “big data”. Unlike data marts, which are optimized for data analysis by storing only some attributes and dropping data below the level aggregation, a data lake is designed to retain all attributes, especially so when you do not yet know what the scope of data or its use will be”.

É uma terminologia nova, portanto não existe nem consenso quanto ao seu nome. Alguns chamam de data hub. Adotamos o data lake pois é nome mais utilizado.

Com um data lake, os diferentes  dados são acessados e armazenados em sua forma original e de lá podemos diretamente buscar correlações e insights, como também gerar o tradicional data warehouse (DW) para tratar dados estruturados. A diferença em relação ao data warehouse como estamos acostumados é que no Data Lake os modelos de dados (ou schemas) não são impostos up-front, mas emergem à medida que trabalhamos com os próprios dados. Lembrando que no DW relacional, o modelo de dados ou schema deve ser previamente definido. No data lake, o conceito é de “late binding” ou “schema on read”, quando o schema é construído em tempo de query. Chega em boa hora, pois o tradicional modelo de data warehouse já existe há uns 30 anos, praticamente sem modificações. Sempre foi baseado numa modelagem chamada de terceira forma normal e que implica em uma única visão da verdade. Funcionou e funciona bem em muitos casos, mas com o conceito de big data e com volumes e variedades cada vez maiores (muitas vezes não estruturadas) e a necessidade de ser flexível para fazermos perguntas não planejadas, o modelo DW mostra claramente suas limitações. Não foi projetado para o mundo de hoje.

Para simplificar, um data lake pode ser imaginado como uma imenso grid, com bilhões de linhas e colunas. Mas ao contrário de uma planilha estruturada, cada célula deste grid pode conter um dado diferente. Assim, uma célula pode conter um documento, outra uma fotografia e uma outra célula pode conter um parágrafo ou uma única palavra de um texto. Outra contém um tuite ou um post do Facebook… Não importa de onde o dado veio. Ele vai ser apenas armazenado em uma célula. Em outras palavras, um data lake é um data warehouse não estruturado, onde dados de diversas fontes são armazenados.

Um aspecto inovador do conceito é que não tendo a necessidade de definir modelos previamente, eliminamos grande parte do tempo gasto na preparação de dados, como necessário no modelo atual de data warehouse. Algumas estimativas apontam que gastamos em média cerca de 80% do tempo preparando dados e apenas 20% os analisando. Se reduzirmos significativamente o tempo de preparação, nos concentraremos nas análises, que é o que, de fato, gera valor. Como os dados são armazenados em sua forma original, sem passar por formatação prévia, podem ser analisados sob diversos contextos. Não estão mais limitados a um único modelo de dados. Na prática, é o modelo que empresas como Google, Netflix e Yahoo usam para armazenar e pesquisar imensos e variados volumes de dados. E antes que perguntem, a tecnologia que suporta o conceito de data lake é o Hadoop. A arquitetura do data lake é simples: um HDFS (Hadoop File System) com um monte de diretórios e arquivos.

O conceito de data lake é um novo mindset e não apenas a tecnologia de um grande repositório. É um modelo que propõe um novo ecossistema de dados. Podemos pensar não mais em restritos data warehouses e data minings, onde os modelos de dados já estão previamente definidos, nos limitando no escopo das perguntas possíveis. Como no data lake todos os dados estão disponíveis, podemos fazer cruzamentos inovadores entre dados que eventualmente, à primeira vista, nem fariam sentido. Mas um insight leva a uma nova pergunta, que nos leva a outro insight e assim construímos novos conhecimentos e geramos valor. Outra vantagem em relação aos tradicionais data warehouses é a possibilidade de trabalhar de forma muito mais simplificada com dados não estruturados.

O segredo do data lake é o conceito de metadado (dado sobre dado). Cada dado inserido, ou como alguns dizem, ingerido, no data lake possui um metadado de modo a identificá-lo e facilitar sua localização e posterior análise. Como fazer isso? Colocar diversas tags em cada dado, de modo que possamos localizar todos os dados de um determinado conjunto de tags. Uma vantagem do conceito de tagging é que novos dados, de novas fontes, podem ser inseridos e uma vez “tageados” passam a ser conectados aos que já estão armazenados. Não há necessidade de reestruturações e redesenho dos modelos de dados.

Um resultante do data lake é que possibilita aos usuários fazerem suas buscas diretamente, sem necessidade de intervenções do setor de TI. Este continua responsável pela segurança dos dados armazenados, mas pode deixar aos usuários de negócio, que entendem do próprio negócio, a tarefa de gerar insights e pensar novas perguntas. Novamente, uma analogia com o Google. Você faz as próprias buscas, não precisa pedir suporte à ninguém do Google para escrevê-las para você. Um artigo  interessante sobre data lakes pode ser lido aqui. Um outro artigo, de um caso real da GE Aviation, pode ser visto neste link.

Como colocar em prática um data lake? A primeira etapa é construir o repositório, onde dos dados são armazenados sem modificações, tageados. A segunda etapa é a que gera valor e é a que se costuma chamar de destilação dos dados, onde as informações são extraídas e analisadas. Mas é preciso alguns cuidados…

À primeira vista, data lake parece um amontoado de dados sem controle. Não é verdade. É necessário um processo eficaz de governança, que envolva segurança, controle de acesso e aderência a normas de compliance. Também, por ser ainda um conceito novo (embora tags e Hadoop não sejam tão novidade assim), está cercado de hypes, discursos ufanistas de fornecedores que o mostram como a solução de todos os problemas de integração de dados. Realmente o apelo é forte: colocar todos os dados em um lugar, e deixar que os usuários, por sua conta, façam suas buscas e correlações, gerando eles mesmos os insights. Mas todos nós sabemos que entre o discurso e a prática existe um imenso gap. Portanto, antes de mergulhar no lago, estude mais o assunto e defina claramente sua estratégia para data lake e se faz sentido para sua empresa. Afinal, pato novo não mergulha em lago fundo…