O que é um data lake?

Os data lakes armazenam grandes quantidades de dados em um formato não hierárquico.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir "data lake"
  • Entenda como os data lakes são usados no armazenamento de objetos
  • Contraste entre data lakes e data warehouses

Copiar o link do artigo

O que é um data lake?

Um data lake é um tipo de repositório que armazena dados em seu formato natural (ou bruto). Também chamados de "pools de dados", os data lakes são um recurso do armazenamento de objetos, um sistema de armazenamento baseado em nuvemprojetado para lidar com grandes quantidades de dados estruturados e não estruturados.

A estrutura não hierárquica dos data lakes os torna uma opção flexível e escalável em comparação com os sistemas de armazenamento mais tradicionais, baseados em arquivos. No entanto, a organização e a recuperação de dados dos data lakes podem ser lentas e caras, devido ao seu design organizacional e aos preços complexos de saída de dados.

Como os data lakes armazenam os dados?

Para entender como os data lakes armazenam dados, é importante entender primeiro como funciona o armazenamento de objetos. Diferentemente do armazenamento baseado em arquivos tradicional , no qual os dados são armazenados em uma hierarquia de pastas e arquivos, o armazenamento de objetos coleta dados individuais (ou objetos) no mesmo local e os marca com metadados personalizáveis.

Esses metadados, as informações usadas para identificar um arquivo (por exemplo nome, tipo, tamanho ou identificadores exclusivos), ajuda os usuários ou os aplicativos a localizar e recuperar dados sem a necessidade de seguir um caminho específico de pasta em pasta. Como os data lakes são projetados para conter grandes quantidades de dados, os metadados atribuídos a cada objeto podem ser altamente detalhados, o que ajuda a acelerar a recuperação.

Para ilustrar a diferença entre o armazenamento de dados hierárquico e não hierárquico, imagine que Bob queira armazenar milhares de discos de vinil. Com um sistema de armazenamento hierárquico, ele podia classificar os discos em grandes compartimentos (ou pastas) categorizados por gênero musical. Isso permitiria que ele localizasse rapidamente qualquer álbum, mas ele poderia ficar sem espaço em uma lixeira se adquirisse mais discos daquele gênero. Esse método é semelhante ao armazenamento baseado em arquivos, no qual os dados devem ser organizados e armazenados em um local específico.

Por outro lado, um sistema de armazenamento não hierárquico permitiria que Bob colocasse todos os seus discos em uma sala (ou data lake), na ordem que quisesse. Cada disco seria marcado com um rótulo que mostrasse seu gênero. Esse método tornaria mais lento o processo de identificação de um único disco, mas permitiria que Bob adicionasse muitos outros discos à sua coleção sem precisar armazená-los em um compartimento específico. Esse método é semelhante ao armazenamento de objetos, no qual quantidades maiores de dados podem ser armazenadas no mesmo local.

Para obter uma explicação detalhada desse processo, leia O que é armazenamento em objeto?

O que é arquitetura de data lake?

A arquitetura de data lake refere-se aos processos e ferramentas usados para armazenar, transformar, acessar e proteger os dados em um data lake. Embora essa arquitetura possa estar localizada em nuvem ou no local, ela geralmente compartilha vários dos seguintes componentes:

  • Fontes de dados: O formato original dos dados, sejam eles estruturados (ou seja dados que se encaixam em uma estrutura tabular, como bancos de dados SQL), semiestruturados (ou seja dados que podem não se encaixar facilmente em uma estrutura tabular, como arquivos HTML), ou não estruturados (por exemplo vídeos, arquivos de áudio e imagens)
  • Extração de dados: extrair, carregar e transformar (ELT) é o processo de várias etapas de mover dados de sua fonte original para a zona bruta do data lake e, em seguida, alterá-los para torná-los mais utilizáveis
  • Ingestão e armazenamento de dados: o método pelo qual os dados são adicionados a um data lake, ingestão em tempo real (adição de dados à medida que são adquiridos) ou ingestão em lotes (adição de grupos de dados em intervalos regulares). Independentemente do método de ingestão, todos os dados são inicialmente armazenados na seção de dados brutos do armazenamento; em outras palavras, eles são adicionados a um data lake em seu formato original e bruto
  • Persistência e catalogação de dados: o processo de adicionar metadados aos dados brutos para que eles possam ser acessados e recuperados mais facilmente
  • Processamento de dados: diferentes transformações de dados brutos - incluindo limpeza de dados (remoção de imprecisões ou inconsistências), normalização de dados (reformatação de dados para que todos existam da mesma forma), enriquecimento de dados (adição de contexto ou informações necessárias) e estruturação de dados (transformação de dados semiestruturados ou não estruturados em dados estruturados)
  • Linhagem de dados: o processo de rastreamento de dados desde seu formato original e bruto até seu estado transformado
  • Segurança e governança de dados: Diferentes métodos para garantir a segurança dos dados e o controle de acesso, a linhagem dos dados, a qualidade dos dados e a análise e auditoria dos dados

Casos de uso de data lake

Os data lakes podem ser usados para uma ampla gama de finalidades, incluindo análise e exploração de dados, gerenciamento de internet das coisas (IoT ), experiências personalizadas do consumidor, aprendizado de máquina avançado e muito mais. Os data lakes também são úteis para treinar modelos de inteligência artificial (IA), que geralmente precisam de conjuntos de dados muito grandes para produzir resultados eficazes.

Por exemplo, imagine que uma empresa de viagens queira oferecer recomendações de viagens personalizadas e automatizadas para seus clientes. Com um data lake, ela pode ingerir uma grande quantidade de dados de clientes relacionados a padrões comuns de viagem, destinos populares, duração da estadia, tipo de acomodação e atividades. Em seguida, eles podem usar esses dados para treinar um modelo de IA para desenvolver recomendações mais avançadas e, idealmente, garantir também uma melhor satisfação do cliente.

Quais são os benefícios dos data lakes?

  • Flexibilidade: por definição, os data lakes podem armazenar dados em qualquer formato, sem a necessidade de compactação ou reformatação de arquivos
  • Escalabilidade: os data lakes podem lidar com quantidades quase ilimitadas de dados, o que os torna uma opção mais popular para organizações que precisam processar e armazenar grandes (e crescentes) quantidades de dados
  • Capacidade de pesquisa: os data lakes permitem a recuperação direta de dados por meio de metadados altamente personalizáveis e detalhados
  • Simplicidade: todos os dados são armazenados no mesmo data lake, em vez de em configurações hierárquicas complexas

Quais são as limitações dos data lakes?

  • Problemas de confiabilidade: os data lakes podem se tornar pântanos de dados quando muitos dados são adicionados a um repositório sem categorização e transformação eficazes, tornando o data lake não confiável e difícil de usar.
  • Desempenho lento: embora os data lakes sejam projetados para operar em grande escala, o excesso de dados (ou mecanismos de consulta ineficazes) pode afetar os tempos de consulta e o desempenho geral
  • Taxas de saída de dados: a saída de dados (ou transferência de dados) é o processo de recuperação de dados do provedor de armazenamento em nuvem de uma organização. Muitas vezes, os provedores de nuvem cobram por essas transferências, e as taxas podem disparar de acordo com a quantidade de dados que a organização precisa mover

Data lakes versus data warehouses

Os data lakes são grandes repositórios de dados estruturados e não estruturados. Sua principal vantagem é a capacidade de operar de forma econômica em grande escala, mas seu tamanho e a complexidade de seus sistemas de categorização podem torná-los ineficientes em comparação com outros tipos de processamento e armazenamento de dados.

Assim como os data lakes, os data warehouses também são grandes repositórios de dados. Diferentemente dos data lakes, eles armazenam apenas dados estruturados e usam hierarquias de arquivos tradicionais para organizar, armazenar e recuperar dados. Essa arquitetura permite a recuperação e o desempenho mais rápidos dos dados, embora sua escalabilidade possa ser exponencialmente mais cara do que a de um data lake.

Alguns fornecedores de nuvem oferecem uma abordagem híbrida chamada data lakehouses, que combina as principais funcionalidades e benefícios dos data lakes e dos warehouses. Em vez de manter os dados estruturados e não estruturados em silos em sistemas separados, as organizações podem usar data lakehouses para processar e armazenar todos os tipos de dados, com os recursos organizacionais e o alto desempenho de um data warehouse e a escalabilidade econômica de um data lake. Essa abordagem também permite que as organizações garantam maior integridade e confiabilidade dos dados por meio de ferramentas automatizadas de governança e conformidade de dados.

A Cloudflare é compatível com data lakes?

O Cloudflare R2 é uma solução de armazenamento de objetos sem taxas de saída que permite que as organizações desenvolvam seus próprios data lakes. Com o suporte da rede global da Cloudflare, o R2 ajuda a garantir a durabilidade e a confiabilidade ideais dos dados, replicando objetos várias vezes, para que eles permaneçam facilmente acessíveis e altamente resistentes a falhas regionais e perda de dados.

Saiba mais sobre o R2 e como uma nuvem de conectividade reduz as taxas de saída ao mover dados entre nuvens.