Data lake: saiba como funciona a tecnologia de armazenamento de dados

Data lake é uma estrutura fundamental para as ações de Data Science e manipulação do Big Data. Entenda melhor essa estrutura.

Foto de olia danilevich no Pexels

A Ciência de Dados geralmente parte de uma volumosa base de dados não estruturados ou estruturados em estruturas como data warehouse e data lake. Seja para gerar modelos descritivos, em buscas por agrupamentos, associações ou outliers, seja para gerar modelos preditivos, como classificações e regressões.

Em muitos casos, essas bases de dados vêm de diversas fontes externas. Em outros, tratam-se de dados transacionais históricos, de aplicações da própria empresa.

Para ajudar a lidar com todas essas fontes, o conceito de data lake (DL) é muito importante. Sua concepção vem da ideia de lago de dados, um local onde distintas fontes de dados se encontram. Esse conceito, com o de data warehouse, é essencial para a coleta e processamento de dados no contexto de Data Science.

Por isso, se quiser evoluir nesse assunto e ficar por dentro das tendências, não deixe de conferir este artigo.

Data lake: o que é e como funciona?

O conceito de data lake é simples: trata-se de um repositório de dados brutos, não estruturados e estruturados, de qualquer tamanho, que vêm de fontes diversas. Nele, as empresas armazenam os dados do jeito que são gerados, sem nenhum tipo de tratamento ou esquema na inserção. 

Os lakes também armazenam dados esquematizados, mas a questão é: o esquema não é requisito para que os dados entrem no lago.

Assim, um dado pode ser armazenado em formato de log e até mesmo em formato de texto simples. Não há necessidade de organizações em tabelas, como nos bancos de dados relacionais.

O lake dispensa, portanto, qualquer tipo de restrição, processamento e governança na hora de importar os dados. Depois da inserção (que é chamada de ingestão de dados), é preciso então catalogar esses insumos — uma forma simples de organizar para que todos saibam o que está armazenado lá.

Vale destacar o data lake como um conceito, uma orquestração de tecnologias, e não como uma tecnologia única. Afinal, ele compreende diferentes funções — ingestão e processamento, por exemplo — que podem ser desempenhadas por tecnologias específicas. Inclusive, existem diferentes zonas — seções por onde os dados passam — em um lake, que podem ser implementadas em serviços diferentes.

Os componentes são dados que surgem e que podem não estar associados a um objetivo definido, pelo menos não de antemão. Eles são armazenados no data lake para depois serem analisados de acordo com alguma finalidade definida posteriormente. Em muitos casos, os dados nem mesmo chegam a ser usados para nenhuma finalidade.

Em outras palavras: o esquema é definido somente quando a empresa realmente precisa daqueles dados, ou seja, sob demanda. Então, é feito o processamento e até mesmo a importação para outras estruturas de armazenamento.

O data lake é geralmente formado por dados de sensores, dados de internet das coisas (IoT), dados de streaming, dados de batch, dados de registros de cliques em páginas, vídeos, objetos JSON e dados de redes sociais.

A natureza de um Data Lake é perfeita para lidar com a complexidade do Big Data atualmente: dados em formatos variados, gerados em tempo real.

Data lake na prática

Que tal alguns cases reais de negócios que já aderiram ao data lake? Empresas de óleo e gás utilizam data lakes para extrair dados de Internet of Things (IoT) diretamente. Esses dados controlam downtime, segurança no uso dos equipamentos e otimizam sistemas de perfuração.

Além disso, data lakes também são usados no Marketing, em plataformas de gigantes como Hubspot, para armazenar dados sobre os usuários e suas ações em tempo real.

A Algar Tech, empresa brasileira de tecnologia, aplicou o data lake na nuvem para modernizar o armazenamento de dados e democratizar o acesso a eles. A empresa então otimizou a plataforma de DL que utiliza para atender ao objetivo de acelerar a ingestão de dados.

A solução encontrada nesse sentido foi a automatização da ingestão. Assim, percebeu-se que os engenheiros ganharam tempo para se dedicar a outras questões.

A Netflix, por sua vez, utiliza uma tecnologia da Amazon para DLs para monitorar e solucionar problemas de comunicação entre os aplicativos a partir de terabytes de logs. Os dados surgem em tempo real e são analisados rapidamente para prevenção instantânea de falhas na disponibilidade.

Por que empresas estão usando data lakes?

Existem diversos motivos que explicam o sucesso dos DLs e o aumento da adoção dessa tecnologia no mercado. Veremos alguns deles a seguir.

Baixo custo

Uma das grandes vantagens do DL é o seu custo baixíssimo para manter. Afinal, como não envolvem processamento prévio para carregar os dados, os lakes são estruturas simples de gerenciar, apesar do tamanho que podem alcançar.

Ademais, com os cloud data lakes (data lakes na nuvem), é possível reduzir ainda mais os gastos. A empresa consegue dispensar a configuração de servidores físicos em seu próprio espaço, evitar despesas com manutenção e outros gastos. Tudo é gerenciado pelo provedor, de maneira descentralizada. Para o contratante, só resta pagar uma taxa periódica e recorrente.

Escalabilidade

Aliás, o tamanho é outro ponto importante. Data lakes podem crescer continuamente, em tempo real, inclusive. Além disso, em sistemas na nuvem, como muitos dos modelos oferecidos atualmente, é possível aumentar a capacidade automaticamente sempre que houver demanda — sem que isso represente custos de infraestrutura para a empresa.

Flexibilidade

Os lagos de dados são uma opção de armazenamento flexível, já que os propósitos para os dados podem ser rapidamente mudados. A empresa pode carregar os dados e depois definir um direcionamento para suas análises, com uma capacidade de mudança menos impactante do que outros tipos de estrutura.

Disponibilidade

Outro ponto importante é que os lakes são rápidos e apresentam dados disponíveis a todo tempo. Os data lakes se destacam também por serem democráticos: atendem aos propósitos de quem só busca por relatórios prontos e indicadores estruturados; de quem realiza algumas análises; e de cientistas de dados, interessados em ângulos ainda não explorados para descobrir insights.

Qual a diferença entre data lake e data warehouse?

Quando falamos em estruturas de armazenamento de dados, um dos termos mais conhecidos, sem dúvidas, é o data warehouse. No começo da discussão sobre Big Data, inclusive, muito se falou sobre eles. Contudo, os data lakes surgiram como um complemento aos warehouses, com claras diferenças.

A principal é que os warehouses geralmente requerem a definição de um esquema na escrita dos dados (schema-on-write), ao passo que os lakes, como já falado, utilizam o esquema na leitura (scheme-on-read).

Outra diferença é na velocidade: warehouses são mais lentos que os lakes para buscar uma informação. Contudo, vale ressaltar, que os dados no DL podem se tornar mais inacessíveis caso os responsáveis não estabeleçam mecanismos para encontrar os dados, como o uso de tags de metadados (resultado do processo de catalogação).

Warehouses tendem a ser mais caros para desenvolver e manter. Eles também são restritos a analistas de dados e pessoas de negócios, por isso, são menos democráticos. No processo de carregamento de dados, o data warehouse realiza uma seleção prévia e descarta muitos dados que estão brutos ou desestruturados. Por isso, não são tão úteis para lidar diretamente com fontes como redes sociais ou IoT.

Lakes dispensam essa análise prévia, como já vimos. Em termos técnicos, podemos considerar que os warehouses funcionam sob a lógica do extrair, transformar e carregar (extract, transform and load, ETL), ao passo que os lakes funcionam sob a ideia do extrair, carregar e transformar (extract, load and transform, ELT).

O warehouse requer uma transformação do dado antes de carregar em suas bases relacionais, já o lake pode carregar dados para serem transformados posteriormente.

Podemos separar os dois pela finalidade também. Data lakes são ótimos para análises de machine learning/deep learning, data discovery e análises preditivas. Já os warehouses são mais úteis para análises de Business Intelligence, visualização de dados, criação de relatórios e análises transacionais.

Vale destacar que data warehouse e data lake não são opostos. Os dois podem ser unidos, inclusive, como nos mostra uma nova tendência chamada de “lakehouse”.

….

Um data lake é uma importante estrutura para Data Science. Todos que querem avançar nessa área precisam dominar esse tema e se certificar de que sabem bem a diferença para o data warehouse. É importante saber porque você certamente terá que manipular ou lidar com lagos de dados quando exercer a carreira.

Se você gostou deste conteúdo e acha que ele foi útil, que tal compartilhar com sua comunidade de profissionais no LinkedIn?