O que é um data lakehouse?
Um data lakehouse é um sistema de gerenciamento de dados que combina os benefícios de data lakes e data warehouses. Este artigo descreve o padrão de arquitetura lakehouse e o que você pode fazer com ele no Azure Databricks.
Para que um data lakehouse é usado?
Um data lakehouse fornece recursos escalonáveis de armazenamento e processamento para organizações modernas que desejam evitar sistemas isolados para processar cargas de trabalho diferentes, como ML (machine learning) e BI (business intelligence). Um data lakehouse pode ajudar a estabelecer uma única fonte de verdade, eliminar custos redundantes e garantir a atualização de dados.
Os data lakehouses geralmente usam um padrão de design de dados que aprimora, enriquece e refina dados de forma incremental à medida que se move por camadas de preparo e transformação. Cada camada de lakehouse pode incluir uma ou mais camadas. Esse padrão é frequentemente conhecido como uma arquitetura de medalhão. Para obter mais informações, consulte O que é arquitetura medallion do Lakehouse?
Como funciona o Databricks Lakehouse?
O Databricks é criado no Apache Spark. O Apache Spark permite um mecanismo massivamente escalonável que é executado em recursos de computação separados do armazenamento. Para obter mais informações, consulte Apache Spark no Azure Databricks
O Databricks Lakehouse usa duas tecnologias importantes adicionais:
- Delta Lake: uma camada de armazenamento otimizada que dá suporte a transações ACID e imposição de schema.
- Unity Catalog: uma solução de governança unificada e refinada para dados e IA.
Ingestão de dados
Na camada de ingestão, os dados em lote ou streaming chegam de uma variedade de fontes e em uma variedade de formatos. Essa primeira camada lógica fornece um lugar para que esses dados cheguem em seu formato bruto. Ao converter esses arquivos para tablesDelta, você pode usar os recursos de verificação schema do Delta Lake para verificar se há dados ausentes ou inesperados. Você pode usar o Unity Catalog para registrar tables de acordo com o modelo de governança de dados e os limites de isolamento de dados necessários. O Unity Catalog permite acompanhar a linhagem de seus dados à medida que eles são transformados e refinados, bem como aplicar um modelo de governança unificada para manter dados confidenciais privados e seguros.
Processamento, curadoria e integração de dados
Depois da verificação, você pode começar a organizar e refinar seus dados. Cientistas de dados e profissionais de machine learning frequentemente trabalham com dados neste estágio para começar a combinar ou criar novos recursos e concluir a limpeza de dados. Depois que seus dados tiverem sido completamente limpos, eles poderão ser integrados e reorganizados em tables projetados para atender às suas necessidades comerciais específicas.
Uma abordagem de schema na gravação, combinada com as funcionalidades de evolução do schema Delta, significa que você pode fazer alterações nessa camada sem necessariamente having que regravar a lógica downstream que fornece dados aos usuários finais.
Serviço de dados
A camada final fornece dados limpos e enriquecidos para os usuários finais. As tables finais devem ser projetadas para fornecer dados para todos os casos de uso. Um modelo de governança unificada significa que você pode acompanhar a linhagem de dados de volta à sua única fonte de verdade. Os layouts de dados, otimizados para tarefas diferentes, permitem que os usuários finais acessem dados para aplicativos de machine learning, engenharia de dados e business intelligence e relatórios.
Para saber mais sobre o Delta Lake, consulte O que é Delta Lake? Para saber mais sobre o Unity Catalog, consulte O que é o Unity Catalog?
Funcionalidades de um lakehouse do Databricks
Um lakehouse criado com o Databricks substitui a dependência atual de data lakes e data warehouses para empresas de dados modernas. Algumas das principais tarefas que você pode executar incluem:
- Processamento de dados em tempo real: processar dados de streaming em tempo real para análise e ação imediatas.
- Integração de dados: Unificar seus dados em um único sistema para habilitar a colaboração e estabelecer uma única fonte de verdade para sua organização.
- Evolução do Schema: modificar schema de dados ao longo do tempo para se adaptar às necessidades comerciais em mudança sem interromper os pipelines de dados existentes.
- Transformações de dados: Usar o Apache Spark e o Delta Lake traz velocidade, escalabilidade e confiabilidade aos seus dados.
- Análise de dados e relatórios: Executar consultas analíticas complexas com um mecanismo otimizado para cargas de trabalho de data warehouse.
- machine learning e IA: aplicar técnicas de análise avançada a todos os seus dados. Use o ML para enriquecer seus dados e dar suporte a outras cargas de trabalho.
- Controle de versão e linhagem de dados: Manter o histórico de versão para conjuntos de dados e rastrear a linhagem para garantir a procedência e a rastreabilidade dos dados.
- Governança de dados: usar um único sistema unificado para controlar o acesso aos seus dados e executar auditorias.
- Compartilhamento de dados: Facilitar a colaboração permitindo o compartilhamento de conjuntos de dados, relatórios e insights coletados entre equipes.
- Análise operacional: monitorar métricas de qualidade de dados, métricas de qualidade do modelo e descompasso aplicando machine Learning aos dados de monitoramento do lakehouse.
Lakehouse vs Data Lake vs Data Warehouse
Os data warehouses capacitam as decisões de BI (business intelligence) há cerca de 30 anos, having evoluído como um set de diretrizes de design para sistemas que controlam o fluxo de dados. Os data warehouses corporativos optimize consultas para relatórios de BI, mas podem levar minutos ou até horas para generate resultados. Projetados para dados improváveis de serem alterados com alta frequência, os data warehouses buscam evitar conflitos entre consultas em execução simultânea. Muitos data warehouses dependem de formatos proprietários, o que geralmente limit o suporte para machine learning. O armazenamento de dados no Azure Databricks aproveita as funcionalidades de um lakehouse do Databricks e do SQL do Databricks. Para obter mais informações, consulte O que é data warehousing no Azure Databricks?.
Impulsionados pelos avanços tecnológicos no armazenamento de dados e impulsionados por aumentos exponenciales nos tipos e volume de dados, os data lakes entraram em uso generalizado na última década. Os data lakes armazenam e processam dados de forma barata e eficiente. Os data lakes geralmente são definidos como opostos aos data warehouses: um data warehouse fornece dados limpos e estruturados para análise de BI, enquanto um data lake armazena dados de qualquer natureza e formato de modo permanente e barato. Muitas organizações usam data lakes para ciência de dados e machine learning, mas não para relatórios de BI devido à sua natureza não avaliada.
O data lakehouse combina os benefícios dos data lakes e data warehouses e oferece:
- Abra o acesso direto aos dados armazenados em formatos de dados padrão.
- Protocolos de indexação otimizados para machine learning e ciência de dados.
- Baixa latência de consulta e alta confiabilidade para BI e análise avançada.
Combinando uma camada de metadados otimizada com dados validados armazenados em formatos padrão no armazenamento de objetos de nuvem, o data lakehouse permite que cientistas de dados e engenheiros de ML criem modelos dos mesmos relatórios de BI controlados por dados.
Próxima etapa
Para saber mais sobre os princípios e as melhores práticas para implementar e operar um lakehouse usando o Databricks, consulte Introdução ao data lakehouse bem arquitetado