Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um data lake é um repositório de armazenamento que contém uma grande quantidade de dados em seu formato nativo bruto. Os armazenamentos de data lake são projetados para serem dimensionados de forma econômica para terabytes e petabytes de dados, tornando-os adequados para lidar com conjuntos de dados massivos e diversos. Os dados normalmente vêm de várias fontes diversas e podem incluir dados estruturados (como tabelas relacionais), dados semiestruturados (como JSON, XML ou logs) e dados não estruturados (como imagens, áudio ou vídeo).
Um data lake ajuda você a armazenar tudo em seu estado original e não transformado, adiando a transformação até que os dados sejam necessários. Este é um conceito conhecido como "schema-on-read". Isso contrasta com um data warehouse, que impõe estrutura e aplica transformações à medida que os dados são ingeridos, conhecido como schema-on-write.
Os casos de uso comuns do data lake incluem:
- Ingestão e movimentação de dados: colete e consolide dados de serviços de nuvem, dispositivos IoT, sistemas locais e fontes de streaming em um único repositório.
- Processamento de Big Data: tratar dados de alto volume e alta velocidade em escala usando frameworks de processamento distribuído.
- Análise e aprendizado de máquina: suporte a análise exploratória, análise avançada e treinamento de modelos de IA e ajuste fino em conjuntos de dados grandes e diversos.
- Business intelligence e relatórios: habilite painéis e relatórios integrando subconjuntos selecionados de dados do lago em armazéns ou ferramentas de BI.
- Arquivamento e conformidade de dados: armazene conjuntos de dados históricos ou brutos para retenção de longo prazo, auditabilidade e necessidades regulatórias.
Vantagens de um data lake
- Retém dados brutos para uso futuro: um data lake é projetado para reter dados em seu formato bruto, garantindo disponibilidade de longo prazo para uso futuro. Esse recurso é particularmente valioso em um ambiente de big data, onde os insights potenciais dos dados podem não ser conhecidos com antecedência. Os dados também podem ser arquivados conforme necessário sem perder seu estado bruto.
- Exploração de autosserviço: analistas e cientistas de dados podem consultar dados diretamente, incentivando a experimentação e a descoberta.
- Suporte flexível a dados: ao contrário dos armazéns que exigem formatos estruturados, os lagos podem lidar nativamente com dados estruturados, semiestruturados e não estruturados.
-
Escalável e eficiente: em arquiteturas distribuídas, os data lakes permitem a ingestão paralela e a execução distribuída em escala, frequentemente superando os pipelines ETL tradicionais em cargas de trabalho de alto volume. Os benefícios de desempenho decorrem de:
- Paralelismo: Mecanismos de computação distribuídos (por exemplo, Spark) particionam dados e executam transformações em vários nós simultaneamente, enquanto as estruturas ETL tradicionais geralmente dependem de execução sequencial ou limitada multi-threaded.
- Escalabilidade: Os sistemas distribuídos são dimensionados horizontalmente adicionando elasticamente nós de computação e armazenamento, enquanto os pipelines ETL tradicionais normalmente dependem do dimensionamento vertical de um único host, que atinge rapidamente os limites de recursos.
- Base para arquiteturas híbridas: os data lakes geralmente coexistem com armazéns em uma abordagem lakehouse, combinando armazenamento bruto com desempenho de consulta estruturada.
Uma solução moderna de data lake compreende dois elementos principais:
- Armazenamento: Construído para durabilidade, tolerância a falhas, escalabilidade infinita e ingestão de alto rendimento de diversos tipos de dados.
- Processamento: Alimentado por mecanismos como Apache Spark no Azure Databricks, Microsoft Fabric, permitindo transformações em grande escala, análises e aprendizado de máquina.
Além disso, as soluções maduras incorporam gerenciamento, segurança e governança de metadados para garantir a qualidade, a capacidade de descoberta e a conformidade dos dados.
Quando deves usar um data lake
Recomendamos o uso de um data lake para análises exploratórias, ciência de dados avançada e cargas de trabalho de aprendizado de máquina. Como os lagos retêm dados em seu estado bruto e suportam esquema em leitura, eles permitem que as equipes experimentem diversos tipos de dados e descubram insights que os armazéns tradicionais podem não capturar.
Data lake como fonte para armazéns de dados
Um data lake pode atuar como a fonte upstream de um data warehouse, onde os dados brutos são ingeridos dos sistemas de origem para o lago (Extract and Load), e armazéns modernos, como o Fabric Warehouse, usam mecanismos SQL MPP (Massively Parallel Processing) integrados para lidar com transformações, convertendo os dados brutos em um formato estruturado de extração, carga, transformação (ELT). Isso difere dos pipelines ETL tradicionais, onde os dados são extraídos e transformados dentro do mecanismo ETL antes de serem carregados no armazém. Ambas as abordagens oferecem flexibilidade dependendo do caso de uso, equilibrando fatores como qualidade de dados, desempenho e utilização de recursos, ao mesmo tempo em que garantem que o depósito seja otimizado para análises.
Streaming de eventos e cenários de IoT
Os data lakes são eficazes para streaming de eventos e casos de uso de IoT, onde os dados de alta velocidade devem ser persistidos em escala sem restrições de esquema iniciais. Eles podem ingerir e armazenar fluxos de eventos relacionais e não relacionais, lidar com grandes volumes de pequenas gravações com baixa latência e oferecer suporte a uma enorme taxa de transferência paralela. Isso os torna adequados para aplicações como monitoramento em tempo real, manutenção preditiva e deteção de anomalias.
A tabela a seguir compara data lakes (lakes de dados) e data warehouses (armazéns de dados).
| Característica | Data Lake | Armazém de Dados |
|---|---|---|
| Tipo de dados | Bruto, não estruturado, semi-estruturado e estruturado | Estruturado e altamente organizado |
| Desempenho de consultas | Mais lento, especialmente para consultas complexas; depende do formato e das ferramentas dos dados | Rápido e otimizado para consultas analíticas |
| Latência | Maior latência devido ao processamento em tempo real | Baixa latência com dados estruturados pré-processados |
| Estágio de transformação de dados | A transformação acontece no momento da consulta, afetando o tempo geral de processamento | A transformação acontece durante o processo ETL ou ELT |
| Escalabilidade | Altamente escalável e econômico para grandes volumes de dados diversos | Escalável, mas mais caro, especialmente em grande escala |
| Custo | Custos de armazenamento mais baixos; Os custos de computação variam de acordo com o uso | Maiores custos de armazenamento e computação devido a otimizações de desempenho |
| Ajuste de caso de uso | Ideal para big data, machine learning e análise exploratória. Numa arquitetura de medalhões, a camada "Gold" é utilizada para fins de relatório. | Ideal para business intelligence, relatórios 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 e a diversidade de dados aumentam, as cargas de trabalho de transformação e consulta podem introduzir latência, exigindo um design cuidadoso do pipeline e a orquestração da carga de trabalho.
Riscos à integridade dos dados: Sem uma forte validação e monitorização, erros ou ingestões incompletas podem comprometer a fiabilidade do conteúdo do lago.
Qualidade e governança de dados: a variedade de fontes e formatos dificulta a aplicação de padrões consistentes. A implementação de estruturas de gerenciamento, catalogação e governança de metadados é fundamental.
Desempenho em escala: o desempenho da consulta e a eficiência do armazenamento podem diminuir à medida que o lago cresce, exigindo estratégias de otimização, como particionamento, indexação e armazenamento em cache.
Segurança e controle de acesso: Garantir permissões apropriadas e auditoria em diversos conjuntos de dados para evitar o uso indevido de dados confidenciais requer planejamento.
Descoberta: Sem uma catalogação adequada, os lagos podem se transformar em "pântanos de dados", onde informações valiosas estão presentes, mas inacessíveis ou incompreendidas.
Opções de tecnologia
Ao criar uma solução abrangente de data lake no Azure, considere as seguintes tecnologias:
Azure Data Lake Storage combina o Armazenamento de Blobs do Azure com recursos de data lake, que fornecem acesso compatível com Apache Hadoop, recursos de namespace hierárquico e segurança aprimorada para uma análise de big data mais eficiente. Ele foi projetado para lidar com grandes quantidades de dados estruturados, semiestruturados e não estruturados.
O Azure Databricks é uma plataforma de análise de dados e aprendizagem automática baseada na nuvem que combina o melhor do Apache Spark com uma integração profunda no ecossistema do Microsoft Azure. Ele fornece um ambiente colaborativo onde engenheiros de dados, cientistas de dados e analistas podem trabalhar juntos para ingerir, processar, analisar e modelar grandes volumes de dados.
O Azure Data Factory é um serviço de integração de dados baseado na nuvem e ETL (Extrair, Transformar, Carregar) do Microsoft Azure. Você o usa para mover, transformar e orquestrar fluxos de trabalho de dados em diferentes fontes, seja na nuvem ou no local.
O Microsoft Fabric é a plataforma de análise de dados de ponta a ponta da Microsoft que unifica a movimentação de dados, a ciência de dados, a análise em tempo real e a inteligência de negócios em uma única experiência de software como serviço (SaaS).
Cada tenant do Microsoft Fabric é automaticamente provisionado com um único data lake lógico, conhecido como OneLake. Criado com base no Azure Data Lake Storage (ADLS) Gen2, o OneLake fornece uma camada de armazenamento unificada capaz de lidar com formatos de dados estruturados e não estruturados.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Avijit Prasad | Consultor de Nuvem
Contribuidores:
- Raphael Sayegh | Arquiteto de Soluções em Nuvem
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- O que é OneLake?
- Introdução ao armazenamento Data Lake
- Documentação do Azure Data Lake Analytics
- Treinamento: Introdução ao armazenamento Data Lake
- Integração do Hadoop e do Azure Data Lake Storage
- Conectar-se ao Armazenamento de Data Lake e ao Armazenamento de Blobs
- Carregar dados no Armazenamento Data Lake com o Azure Data Factory