O que é um data lake?

Um data lake é um repositório de armazenamento que contém grandes volumes de dados em seu formato nativo e bruto. Os data lakes escalam o custo de forma eficaz para lidar com os terabytes e petabytes de dados, tornando-os adequados para tratar conjuntos de dados em massa e diversificados. Normalmente, os dados são provenientes de várias fontes diferentes e podem incluir dados estruturados, como tabelas relacionais, dados semiestruturados, como arquivos JSON, XML ou log, e dados não estruturados, como imagens, áudio ou vídeo.

Os data lakes armazenam todos os tipos de dados em seu estado original nãotransformado e aplicam a transformação somente quando os dados são necessários. Essa abordagem é conhecida como schema-on-read. Por outro lado, um data warehouse impõe estrutura e aplica transformações à medida que ingere dados. Essa abordagem é conhecida como esquema na gravação.

Diagrama que mostra casos de uso do Data Lake.

Casos comuns de uso do data lake incluem:

  • Ingestão e movimentação de dados: Colete e consolide dados de serviços de nuvem, dispositivos IoT (Internet das Coisas), sistemas locais e fontes de streaming em um único repositório.

  • Processamento de Big Data: Lidar com dados de alta velocidade e alto volume em escala usando estruturas de processamento distribuídas.

  • Análise e aprendizado de máquina: Suporte à análise exploratória, análise avançada e treinamento de modelo de IA e ajuste fino em conjuntos de dados grandes e diversos.

  • Business intelligence (BI) e relatórios: Habilite painéis e relatórios integrando subconjuntos coletados de data lake em depósitos ou ferramentas de BI.

  • Arquivamento e conformidade de dados: Armazene conjuntos de dados históricos ou brutos para retenção, auditoria e conformidade regulatória de longo prazo.

Vantagens de um data lake

  • Retém dados brutos para uso futuro: Os data lakes armazenam dados em seu formato bruto, o que garante disponibilidade de longo prazo para uso futuro. Essa abordagem é especialmente valiosa em ambientes de Big Data em que os insights potenciais dos dados podem não ser conhecidos com antecedência. Você também pode arquivar dados conforme necessário sem perder seu estado bruto.

  • Exploração de autoatendimento: Analistas e cientistas de dados podem consultar dados diretamente para experimentar e descobrir padrões.

  • Suporte a dados flexíveis: Ao contrário dos armazéns que exigem formatos estruturados, os data lakes lidam com dados estruturados, semiestruturados e não estruturados nativamente.

  • Escalonável e de alto desempenho: Em arquiteturas distribuídas, os data lakes ingerem e processam dados em paralelo em grande escala. Eles costumam superar pipelines tradicionais de ETL (extração, transformação e carga) em cargas de trabalho de alto volume. Obtenha esses benefícios de desempenho por meio de:

    • Paralelismo: Mecanismos de computação distribuída, como o Apache Spark, particionam dados e executam transformações simultaneamente em vários nós. Estruturas ETL tradicionais geralmente dependem de processamento sequencial ou multiencadeado limitado.

    • Escalabilidade: Os sistemas distribuídos são dimensionados horizontalmente adicionando nós de computação e armazenamento de forma elástica, conforme necessário. Os pipelines de ETL tradicionais geralmente dependem do dimensionamento vertical de um único host, o que atinge rapidamente os limites de recursos.

  • Base para arquiteturas híbridas: data lakes costumam coexistir com warehouses em uma abordagem lakehouse que associa armazenamento bruto com desempenho de consulta estruturado.

Uma solução moderna do data lake compreende dois componentes principais:

  • Armazenamento: Fornece durabilidade, tolerância a falhas, escalabilidade infinita e ingestão de alta taxa de transferência de diversos tipos de dados.

  • Processing: Mecanismos como o Spark em Azure Databricks e Microsoft Fabric alimentam essas soluções. Esses mecanismos dão suporte a transformações, análises e aprendizado de máquina em larga escala.

Soluções maduras incorporam gerenciamento de metadados, segurança e governança para manter a qualidade dos dados, a descoberta e a conformidade.

Arquitetura típica do data lake

Uma arquitetura típica Azure data lake consiste em várias camadas que organizam dados à medida que se move pelos estágios de ingestão, transformação e consumo.

As camadas comuns incluem:

  • Camada bruta (bronze): Armazena dados ingeridos em seu formato original com transformação mínima.

  • Camada limpa (prata): contém dados validados e transformados, otimizados para cargas de trabalho de análise e aprendizado de máquina.

  • Camada selecionada (ouro): armazena conjuntos de dados agregados e prontos para negócios que as equipes usam para relatórios, painéis e aplicativos de dados downstream.

Esse design em camadas, conhecido como arquitetura de medalhão, melhora a qualidade dos dados, a governança e o desempenho.

Quando usar um data lake

Recomendamos que você use um data lake para análise exploratória, ciência de dados avançada e cargas de trabalho de aprendizado de máquina. Os data lakes retêm dados em forma bruta e dão suporte ao esquema na leitura, permitindo que as equipes testem diversos tipos de dados e descubram insights que warehouses tradicionais talvez não capturem.

Data lake como fonte para data warehouses

Um data lake pode funcionar como a fonte upstream de um data warehouse, em que você ingere dados brutos de sistemas de origem e os carrega no lake. Os armazéns modernos, como o Fabric Data Warehouse, usam mecanismos SQL de MPP (processamento paralelo maciço) internos para transformar esses dados brutos em um formato estruturado por meio de extratar, carregar, transformar (ELT). Essa abordagem difere dos pipelines de ETL tradicionais, em que o mecanismo de ETL extrai e transforma os dados antes de carregá-los no data warehouse. Ambas as abordagens fornecem flexibilidade dependendo do caso de uso. Eles equilibram a qualidade dos dados, o desempenho e a utilização de recursos e garantem que o warehouse seja otimizado para análise.

Cenários de streaming de eventos e IoT

Os data lakes são eficazes para casos de streaming de eventos e uso de IoT, em que os dados de alta velocidade devem persistir em grande escala sem limites de esquema upfront. Os data lakes podem ingerir e armazenar fluxos de eventos relacionais e não relacionais, lidar com grandes volumes de gravações pequenas com baixa latência e dar suporte à taxa de transferência paralela em massa. Esses recursos tornam os data lakes adequados para aplicativos como monitoramento em tempo real, manutenção preditiva e detecção de anomalias.

A tabela a seguir compara data lakes e data warehouses.

Característica Lago de dados Armazém de Dados
Tipo de dados Bruto, não estruturado, semiestruturado e estruturado Dados estruturados e curados organizados em esquemas relacionais
Desempenho da consulta O desempenho da consulta depende dos mecanismos de processamento e a transformação pode ocorrer no momento da consulta (esquema em leitura) Otimizado para consultas analíticas de alto desempenho em dados estruturados (esquema na gravação)
Latency Latência mais alta devido ao processamento em tempo de consulta Baixa latência com dados pré-processados e estruturados
Estágio de transformação de dados A transformação ocorre no momento da consulta, o que afeta o tempo de processamento geral A transformação ocorre durante o processo ETL ou ELT
Escalabilidade Altamente escalonável e econômico para grandes volumes de dados diversos Escalonável, mas mais caro, especialmente em grande escala
Custo Menor custo de armazenamento devido ao armazenamento de baixo custo para dados brutos. Os custos de computação são incorridos quando os dados são processados ou consultados. Custo mais alto devido à computação dedicada e otimizações de desempenho para cargas de trabalho analíticas
Adequação ao caso de uso Melhor para Big Data, machine learning e análise exploratória. Em arquiteturas de medalhão, as equipes usam a camada de ouro para relatórios. Ideal para BI, relatório e análise de dados estruturados

Desafios dos lagos de dados

  • Escalabilidade e complexidade: O gerenciamento de petabytes de dados brutos, não estruturados e semiestruturados requer infraestrutura robusta, processamento distribuído e gerenciamento cuidadoso de custos.

  • Gargalos de processamento: À medida que o volume de dados e a diversidade aumentam, as cargas de trabalho de transformação e consulta podem introduzir latência, o que requer um design de pipeline cuidadoso e orquestração de carga de trabalho.

  • Riscos de integridade de dados: Sem validação e monitoramento fortes, erros ou ingestões incompletas podem comprometer a confiabilidade do conteúdo do lago.

  • Qualidade e governança de dados: Diversas fontes e formatos complicam a imposição de padrões. As estruturas de gerenciamento, catalogação e governança de metadados são críticas.

  • Desempenho em escala: O desempenho da consulta e a eficiência de armazenamento podem diminuir à medida que o lago cresce, o que requer estratégias de otimização, como particionamento, indexação e cache.

  • Controle de segurança e acesso: Garantir permissões apropriadas e auditoria em diversos conjuntos de dados para evitar o uso indevido de dados confidenciais requer planejamento.

  • Descoberta: Sem a catalogação adequada, os lagos podem se transformar em pântanos de dados onde informações valiosas estão presentes, mas inacessíveis ou mal compreendidas.

Opções de tecnologia

Ao criar uma solução de data lake abrangente em Azure, considere as seguintes tecnologias:

  • Azure Data Lake Storage combina Armazenamento de Blobs do Azure com recursos de data lake para fornecer acesso compatível com Apache Hadoop, recursos de namespace hierárquico e segurança aprimorada para análise eficiente de Big Data. Ele lida com grandes quantidades de dados estruturados, semiestruturados e não estruturados.

  • Azure Databricks é uma plataforma de aprendizado de máquina e análise de dados baseada em nuvem que combina o melhor do Spark com integração profunda ao ecossistema Azure. Ele fornece um ambiente colaborativo em que engenheiros de dados, cientistas de dados e analistas podem ingerir, processar, analisar e modelar grandes volumes de dados.

  • Azure Data Factory é uma integração de dados baseada em nuvem e um serviço ETL. Você pode usá-lo para mover, transformar e orquestrar fluxos de trabalho de dados em diferentes fontes, seja na nuvem ou no local.

  • Fabric é uma plataforma de análise de dados de ponta a ponta que unifica a movimentação de dados, a ciência de dados, a análise em tempo real e o BI em uma única experiência de SaaS (software como serviço).

    Cada locatário Fabric é provisionado automaticamente com um único lago de dados lógico conhecido como OneLake. O OneLake é baseado em Data Lake Storage e fornece uma camada de armazenamento unificada que pode lidar com dados estruturados e não estruturados.

Colaboradores

Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Autor principal:

Outro colaborador:

Para ver perfis de LinkedIn não públicos, entre em LinkedIn.

Próximas etapas