Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um data lake é um repositório de armazenamento que armazena grandes volumes de dados no seu formato nativo e bruto. Os data lakes escalam de forma económica para gerir terabytes e petabytes de dados, o que os torna adequados para lidar com conjuntos de dados massivos e diversificados. Os dados provêm tipicamente de várias fontes diferentes e podem incluir dados estruturados como tabelas relacionais, dados semiestruturados como JSON, XML ou ficheiros de registo, e dados não estruturados como imagens, áudio ou vídeo.
Os lagos de dados armazenam todos os tipos de dados no seu estado original, não transformado, e aplicam transformação apenas quando os dados são necessários. Esta abordagem é conhecida como schema-on-read. Em contraste, um data warehouse reforça a estrutura e aplica transformações à medida que ingere dados. Esta abordagem é conhecida como schema-on-write.
Os casos de uso comuns do data lake incluem:
Ingestão e movimentação de dados: Recolha e consolide dados de serviços na cloud, dispositivos da Internet das Coisas (IoT), sistemas on-premises e fontes de streaming num único repositório.
Processamento de big data: Lidar com dados de grande volume e alta velocidade em larga escala, utilizando frameworks de processamento distribuído.
Análise e aprendizagem automática: Apoiar análise exploratória, análises avançadas e treino e ajuste fino de modelos de IA em conjuntos de dados grandes e diversificados.
Inteligência de negócio (BI) e relatórios: Permita dashboards e relatórios integrando subconjuntos selecionados de dados lacustres em armazéns ou ferramentas de BI.
Arquivamento de dados e conformidade: Armazene conjuntos de dados históricos ou brutos para retenção a longo prazo, auditabilidade e conformidade regulatória.
Vantagens de um data lake
Mantém dados brutos para uso futuro: Os datalakes armazenam os dados no seu formato bruto, o que garante disponibilidade a longo prazo para uso futuro. Esta abordagem é especialmente valiosa em ambientes de big data onde os potenciais insights dos dados podem não ser conhecidos antecipadamente. Também pode arquivar dados conforme necessário sem perder o seu estado bruto.
Exploração de autoatendimento: Analistas e cientistas de dados podem consultar dados diretamente para experimentação e descoberta de padrões.
Suporte de dados flexível: Ao contrário dos armazéns que requerem formatos estruturados, os data lakes tratam dados estruturados, semiestruturados e não estruturados de forma nativa.
Escalável e de desempenho: Em arquiteturas distribuídas, os data lakes ingerem e processam dados em paralelo e em grande escala. Frequentemente superam os pipelines tradicionais de extração, transformação e carregamento (ETL) em cargas de trabalho de alto volume. Obtenha estes benefícios de desempenho através de:
Paralelismo: Motores de computação distribuídos como o Apache Spark particionam dados e executam transformações em vários nós ao mesmo tempo. Os frameworks ETL tradicionais dependem frequentemente de processamento sequencial ou multithread limitado.
Escalabilidade: Os sistemas distribuídos escalam horizontalmente, adicionando elasticamente nós de computação e armazenamento conforme necessário. Os pipelines ETL tradicionais geralmente dependem da escalabilidade vertical de um único host, o que cumpre rapidamente os limites de recursos.
Fundação para arquiteturas híbridas: Os data lakes frequentemente coexistem com armazéns de dados numa abordagem lakehouse que combina armazenamento bruto com desempenho de consultas estruturadas.
Uma solução moderna de data lake é composta por dois componentes principais:
Armazenamento: Proporciona durabilidade, tolerância a falhas, escalabilidade infinita e absorção de alta taxa de diversos tipos de dados.
Processing: Motores como o Spark em Azure Databricks e Microsoft Fabric alimentam estas soluções. Estes motores suportam transformações em grande escala, análises e aprendizagem automática.
Soluções maduras incorporam gestão de metadados, segurança e governação para manter a qualidade dos dados, a descoberta e a conformidade.
Arquitetura típica de data lake
Uma arquitetura típica de data lake Azure consiste em múltiplas camadas que organizam os dados à medida que avançam pelas fases de ingestão, transformação e consumo.
Camadas comuns incluem:
Camada bruta (bronze): Armazena os dados ingeridos no seu formato original com transformação mínima.
Camada limpa (prateada): Contém dados validados e transformados, otimizados para análises e cargas de trabalho de aprendizagem automática.
Camada curada (dourada): Armazena conjuntos de dados agregados e prontos para negócios que as equipas utilizam para relatórios, dashboards e aplicações de dados a jusante.
Este design em camadas, conhecido como arquitetura medallion, melhora a qualidade dos dados, a governação e o desempenho.
Quando usar um data lake
Recomendamos que utilize um data lake para análises exploratórias, ciência avançada de dados e cargas de aprendizagem automática. Os data lakes retêm dados em brutos e suportam schema-on-read, para que as equipas possam experimentar com diversos tipos de dados e descobrir insights que os armazéns tradicionais podem não capturar.
Data lake como fonte para armazéns de dados
Um data lake pode funcionar como fonte de origem para um data warehouse, no qual são ingeridos dados em bruto dos sistemas de origem e carregados para o data lake. Armazéns modernos como o Fabric Data Warehouse utilizam motores SQL de processamento massivo paralelo (MPP) incorporados para transformar esses dados brutos num formato estruturado através de extract, load, transform (ELT). Esta abordagem difere dos pipelines ETL tradicionais, onde o motor ETL extrai e transforma dados antes de os carregar no armazém. Ambas as abordagens oferecem flexibilidade dependendo do caso de uso. Equilibram a qualidade dos dados, o desempenho e a utilização de recursos, garantindo que o armazém está 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 dados de altíssima velocidade devem ser mantidos em larga escala sem limites iniciais de esquema. Os data lakes podem ingerir e armazenar fluxos de eventos relacionais e não relacionais, lidar com grandes volumes de pequenas escritas com baixa latência e suportar um alto rendimento paralelo. Estas capacidades tornam os data lakes bem adequados para aplicações como monitorização 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).
| Feature | 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 de consulta | O desempenho das consultas depende dos mecanismos de processamento, e a transformação pode ocorrer no momento da consulta (esquema à leitura). | Otimizado para consultas analíticas de alto desempenho em dados estruturados (esquema-na-gravação) |
| Latency | Latência mais elevada devido ao processamento no momento da consulta | Baixa latência com dados pré-processados e estruturados |
| Fase de transformação de dados | A transformação ocorre em tempo de consulta, o que afeta o tempo total de processamento | A transformação ocorre durante o processo ETL ou ELT |
| Escalabilidade | Altamente escalável e rentável para grandes volumes de dados diversificados | Escalável, mas mais caro, especialmente em grande escala |
| Custo | Menor custo de armazenamento devido ao baixo custo de armazenamento para dados brutos. Os custos de computação são incorridos quando os dados são processados ou consultados. | Custo mais elevado devido à computação dedicada e otimizações de desempenho para cargas de trabalho analíticas |
| Adequação ao caso de uso | Ideal para big data, machine learning e análise exploratória. Nas arquiteturas de medalhão, as equipas usam a camada dourada para relatórios. | Ideal para BI, relatórios e análise de dados estruturados |
Desafios dos lagos de dados
Escalabilidade e complexidade: A gestão de petabytes de dados brutos, não estruturados e semiestruturados requer uma infraestrutura robusta, processamento distribuído e uma gestão cuidadosa 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, o que requer um design cuidadoso do pipeline e uma orquestração de cargas de trabalho.
Riscos de integridade dos dados: Sem validação e monitorização rigorosas, erros ou ingestões incompletas podem comprometer a fiabilidade do conteúdo do lago.
Qualidade dos dados e governação: Fontes e formatos diversos complicam a aplicação das normas. A gestão de metadados, a catalogação e os quadros de governação são essenciais.
Desempenho em escala: O desempenho das consultas e a eficiência do armazenamento podem degradar-se à medida que o lago cresce, o que requer estratégias de otimização como particionamento, indexação e cache.
Segurança e controlo de acessos: Garantir permissões adequadas e auditar diversos conjuntos de dados para evitar o uso indevido de dados sensíveis requer planeamento.
Descoberta: Sem uma catalogação adequada, os lagos podem transformar-se em pântanos de dados onde há informação valiosa mas inacessível ou mal compreendida.
Opções de tecnologia
Ao construir uma solução abrangente de data lake no Azure, considere as seguintes tecnologias:
Azure Data Lake Storage combina Armazenamento de Blobs do Azure com capacidades de data lake para fornecer acesso compatível com Apache Hadoop, capacidades hierárquicas de namespace e segurança reforçada para análises eficientes de big data. Lida com grandes quantidades de dados estruturados, semiestruturados e não estruturados.
Azure Databricks é uma plataforma de análise de dados e aprendizagem automática baseada na cloud que combina o melhor do Spark com uma integração profunda no ecossistema Azure. Proporciona um ambiente colaborativo onde engenheiros de dados, cientistas de dados e analistas podem ingerir, processar, analisar e modelar grandes volumes de dados.
Azure Data Factory é um serviço de integração de dados e ETL baseado na cloud. Pode usá-lo para mover, transformar e orquestrar fluxos de trabalho de dados em diferentes fontes, seja na cloud ou on-premises.
Fabric é uma plataforma de análise de dados de ponta a ponta que unifica movimento de dados, ciência de dados, análise em tempo real e BI numa única experiência de software como serviço (SaaS).
Cada Fabric tenant é automaticamente provisionado com um único lago de dados lógico conhecido como OneLake. O OneLake baseia-se no Data Lake Storage e fornece uma camada de armazenamento unificada capaz de lidar com dados estruturados e não estruturados.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.
Autor principal:
- Avijit Prasad | Consultor de Nuvem
Outros contribuidores:
- Raphael Sayegh | Arquiteto de Soluções em Nuvem
Para ver perfis de LinkedIn não públicos, inicie sessão no LinkedIn.
Próximos passos
- O que é OneLake?
- Introdução ao Data Lake Storage
- Formação: Introdução à Data Lake Storage
- Usa o Data Lake Storage com os clusters do Azure HDInsight
- Usa Azure identidades geridas no Unity Catalog para aceder ao armazenamento
- Carregue dados no Data Lake Storage usando o Data Factory
- Liga-te a Data Lake Storage em Microsoft Purview
- Melhores práticas para usar Data Lake Storage