Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um data lake é um repositório de armazenamento que contém uma grande quantidade de dados em seu formato nativo e bruto. Os repositórios data lake foram projetados para dimensionar de maneira econômica os dados de terabytes e petabytes, tornando-os adequados para lidar com conjuntos de dados massivos e diversos. Os dados normalmente são provenientes 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, nãotransformado, adiando a transformação até que os dados sejam necessários. Esse é um conceito conhecido como esquema em leitura. Isso contrasta com um data warehouse, que impõe a estrutura e aplica transformações à medida que os dados são ingeridos, conhecido como esquema em gravação.
Casos comuns de uso do data lake incluem:
- Ingestão e movimentação de dados: coletar e consolidar dados de serviços de nuvem, dispositivos IoT, 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ído.
- 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 e relatórios: Habilitar dashboards e relatórios integrando subconjuntos coletados de dados do data lake em data warehouses ou ferramentas de business intelligence.
- Arquivamento e conformidade de dados: armazene conjuntos de dados históricos ou brutos para retenção, auditoria e necessidades regulatórias de longo prazo.
Vantagens de um data lake
- Retém dados brutos para uso futuro: um data lake foi projetado para reter dados em seu formato bruto, garantindo disponibilidade de longo prazo para uso futuro. Essa funcionalidade é particularmente valiosa em um ambiente de Big Data, em que 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 autoatendimento: analistas e cientistas de dados podem consultar dados diretamente, incentivando a experimentação e a descoberta.
- Suporte a dados flexíveis: ao contrário dos armazéns que exigem formatos estruturados, os lagos podem lidar nativamente com dados estruturados, semiestruturados e não estruturados.
-
Escalonável e com desempenho: em arquiteturas distribuídas, os data lakes permitem a ingestão paralela e a execução distribuída em escala, superando frequentemente os pipelines de ETL tradicionais em cargas de trabalho de alto volume. Os benefícios de desempenho decorrem de:
- Paralelismo: Mecanismos de computação distribuída (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 de múltiplos threads limitados.
- Escalabilidade: os sistemas distribuídos são dimensionados horizontalmente adicionando nós de computação e armazenamento de forma elástica, enquanto os pipelines ETL tradicionais normalmente dependem do dimensionamento vertical de um único host, o 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 estruturado.
Uma solução data lake moderna compreende dois elementos principais:
- Armazenamento: projetado para durabilidade, resistência a falhas, escalabilidade infinita e alta taxa de ingestão e transferência de diversos tipos de dados.
- Processamento: alimentado por mecanismos como o Apache Spark no Azure Databricks, Microsoft Fabric, habilitando transformações, análises e machine learning em larga escala.
Além disso, soluções maduras incorporam gerenciamento de metadados, segurança e governança para garantir a qualidade dos dados, a descoberta e a conformidade.
Quando você deve usar um data lake
É recomendável usar um data lake para análise exploratória, 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 dão suporte ao 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 data warehouses
Um data lake pode atuar como a fonte upstream de um armazém de dados, onde os dados brutos são ingeridos de sistemas de origem no data lake (Extrair e Carregar), e os armazéns de dados modernos, como o Fabric Warehouse, usam mecanismos SQL integrados de Massively Parallel Processing (Processamento Paralelo Maciço - MPP) para realizar transformações, convertendo os dados brutos em um formato estruturado extraindo, carregando, transformando (ELT). Isso difere dos pipelines de ETL tradicionais, em que os dados são extraídos e transformados dentro do mecanismo ETL antes de serem carregados no armazém de dados. Ambas as abordagens fornecem flexibilidade dependendo do caso de uso, equilibrando fatores como qualidade de dados, desempenho e utilização de recursos, garantindo 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 ser mantidos 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 gravações pequenas com baixa latência e dar suporte à taxa de transferência paralela maciça. Isso os torna 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 | Data Lake | Data warehouse |
|---|---|---|
| Tipo de dados | Bruto, não estruturado, semiestruturado e estruturado | Estruturado e altamente organizado |
| Desempenho da consulta | Mais lento, especialmente para consultas complexas; depende do formato de dados e das ferramentas | Rápido e otimizado para consultas analíticas |
| Latência | Maior latência devido ao processamento on-the-fly | Baixa latência com dados pré-processados e estruturados |
| Estágio de transformação de dados | A transformação ocorre no momento da consulta, afetando 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 | Custos de armazenamento mais baixos; os custos de computação variam com base no uso | Custos mais altos de armazenamento e computação devido a otimizações de desempenho |
| Adequação ao caso de uso | Melhor para Big Data, machine learning e análise exploratória. Em arquiteturas em medalhão, a camada Gold é utilizada para fins de relatório | Ideal para análise de dados estruturadas, de business intelligence e de relatórios |
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, exigindo 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: 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 de armazenamento podem diminuir à medida que o lago cresce, exigindo 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 retornar 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 abrangente de data lake no Azure, considere as seguintes tecnologias:
O Azure Data Lake Storage combina o Armazenamento de Blobs do Azure com recursos de data lake, que fornecem acesso compatível com o Apache Hadoop, recursos de namespace hierárquico e segurança aprimorada para análise eficiente de Big Data. Ele foi projetado para lidar com grandes quantidades de dados estruturados, semiestruturados e não estruturados.
O Azure Databricks é uma plataforma de machine learning e análise de dados baseada em nuvem que combina o melhor do Apache Spark com integração profunda ao ecossistema do Microsoft Azure. Ele fornece um ambiente colaborativo em que 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 é uma integração de dados baseada em nuvem do Microsoft Azure e o serviço ETL (Extrair, Transformar, Carregar). Use-o 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 o business intelligence em uma única experiência de SaaS (software como serviço).
Cada cliente do Microsoft Fabric é provisionado automaticamente com um único data lake lógico, conhecido como OneLake. Baseado 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.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Avijit Prasad | Consultor de nuvem
Colaboradores
- Raphael Sayegh | Arquiteto de Soluções na Nuvem
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- o que é OneLake?
- Introdução ao Data Lake Storage
- Documentação do Azure Data Lake Analytics
- Treinamento: Introdução ao Data Lake Storage
- Integração do Hadoop e do Azure Data Lake Storage
- Conectar ao Data Lake Storage e ao Blob Storage
- Carregar dados no Data Lake Storage com o Azure Data Factory