Organizações de todo o mundo estão à procura de soluções de armazenamento para gerenciar os requisitos de volume, latência, resiliência e acesso aos dados de Big Data. Inicialmente, as empresas usavam as pilhas de tecnologia existentes, tentando fazer com que os data lakes fornecessem os mesmos recursos que um warehouse, ajustando os armazenamentos de dados para lidar com grandes quantidades de dados semiestruturados ou manter os dados em ambos.
Em última análise, essas abordagens resultaram em altos custos, usuários insatisfeitos e duplicação de dados em toda a empresa. O data lakehouse surgiu como uma nova arquitetura de dados híbrida que visa fornecer todos os melhores benefícios de data warehouse e data lakes, além de eliminar os pontos fracos dos dois sistemas.
O Google Cloud oferece uma solução de data lakehouse altamente escalonável, segura e nativa da nuvem com base em nosso armazenamento de baixo custo, mecanismos de computação sem servidor e ofertas de gerenciamento de dados eficientes. Saiba mais sobre como o Google Cloud ajuda você a criar um data lakehouse aberto.
Um data lakehouse é uma arquitetura de dados que combina o data lake e o data warehouse. Os data lakehouses permitem o machine learning, o business intelligence e a análise preditiva, permitindo que as organizações aproveitem o armazenamento flexível e de baixo custo para todos os tipos de dados (estruturados, não estruturados e semi-estruturados), fornecendo estruturas de dados e recursos de gerenciamento de dados.
Um data lakehouse é uma arquitetura de dados moderna que cria uma única plataforma combinando os principais benefícios dos data lakes (grandes repositórios de dados brutos em sua forma original) e dos data warehouse (conjuntos organizados de dados estruturados). Especificamente, os data lakehouse permitem que as organizações usem o armazenamento de baixo custo para armazenar grandes quantidades de dados brutos, ao mesmo tempo que fornecem funções de estrutura e gerenciamento de dados.
Historicamente, os data warehouses e os data lakes precisavam ser implementados como arquiteturas separadas e em silos para evitar sobrecarregar os sistemas subjacentes e criar contenção para os mesmos recursos. As empresas usaram data warehouses para armazenar dados estruturados de Business Intelligence (BI) e relatórios e data lakes para armazenar dados não estruturados e semiestruturados para cargas de trabalho de machine learning (ML). No entanto, essa abordagem exigia que os dados fossem transferidos regularmente entre os dois sistemas separados, quando os dados das duas arquiteturas precisavam ser processados juntos, criando complexidade, custos mais altos e problemas com atualização e duplicação de dados. e consistência.
O objetivo dos data lakehouses é eliminar esses silos e fornecer a flexibilidade, a escalonabilidade e a agilidade necessárias para garantir que os dados gerem valor para sua empresa, e não ineficiências.
O termo "data lakehouse" mescla dois tipos de repositórios de dados existentes: o data warehouse e o data lake. Então, quais são exatamente as diferenças quando se trata de um data lakehouse, um data lake ou um data warehouse?
Os data warehouses fornecem acesso rápido a dados e compatibilidade de SQL para usuários corporativos que precisam gerar relatórios e insights para tomar decisões. Todos os dados precisam passar pela fase ETL (extrair, transformar, carregar). Isso significa que ele é otimizado em um formato ou esquema específico, baseado no caso de uso antes de ser carregado para oferecer suporte a consultas de alto desempenho e integridade de dados. No entanto, essa abordagem limita a flexibilidade do acesso aos dados e cria custos adicionais caso seja necessário mover os dados para uso futuro.
Os data lakes armazenam grandes quantidades de dados não estruturados e estruturados no formato nativo deles. Ao contrário dos data warehouse, os dados são processados, limpos e transformados durante a análise para permitir velocidades de carregamento mais rápidas, tornando-os ideais para processamento de Big Data, machine learning ou análise preditiva. No entanto, elas exigem conhecimento em ciência de dados, o que limita o conjunto de pessoas que podem usá-los e, se não forem bem mantidas, a qualidade dos dados pode se deteriorar ao longo do tempo. Os data lakes também dificultam o recebimento de consultas em tempo real à medida que os dados não são processados. Portanto, ainda é necessário que eles sejam limpos, processados, ingeridos e integrados antes de serem usados.
Um data lakehouse mescla essas duas abordagens para criar uma estrutura única que permite acessar e aproveitar os dados para muitas finalidades, desde BI, ciência de dados até machine learning. Em outras palavras, um data lakehouse captura todos os dados não estruturados, estruturados e semiestruturados da sua organização e os armazena em armazenamento de baixo custo enquanto fornece os recursos para todos os usuários organizarem e analisarem os dados de acordo com as necessidades deles.
Os principais recursos do data lakehouse incluem:
Acesso direto de apps de BI aos dados de origem no lakehouse para reduzir a duplicação de dados.
Quando se trata de fazer um data lakehouse funcionar, é importante considerar o que ele está tentando alcançar. O objetivo dos data lakehouses é centralizar fontes de dados diferentes e simplificar os esforços de engenharia para que todos na organização possam ser usuários de dados.
Um data lakehouse usa o mesmo armazenamento de objetos em nuvem de baixo custo dos data lakes para fornecer armazenamento sob demanda para facilitar o provisionamento e o escalonamento. Como um data lake, ele pode capturar e armazenar grandes volumes de todos os tipos de dados em formato bruto. O lakehouse integra camadas de metadados a esse armazenamento para fornecer recursos semelhantes aos do armazenamento, como esquemas estruturados, suporte para transações ACID, governança de dados e outros recursos de otimização e gerenciamento de dados.
Arquitetura simplificada Um data lakehouse remove os silos de duas plataformas separadas. Assim, você só precisa se concentrar no gerenciamento e na manutenção de um único repositório de dados. As ferramentas também podem ser conectadas diretamente aos dados de origem para que você não precise extrair ou preparar dados para serem usados em um data warehouse. | Melhor qualidade de dados É possível aplicar esquemas para dados estruturados e integridade de dados em arquiteturas de data lakehouse, garantindo a consistência. Além disso, as lakeshouses reduzem o tempo para disponibilizar novos dados, garantindo dados mais recentes. | Custos mais baixos Armazene grandes volumes de dados em armazenamento de baixo custo e elimine a necessidade de manter um data warehouse e um data lake. Os data lakehouses também ajudam a reduzir os custos de processos de ETL e eliminação de duplicação. |
Mais confiabilidade Os data lakehouse reduzem as transferências de dados de ETL entre vários sistemas, reduzindo a chance de problemas de qualidade ou técnicos que possam ocorrer com a movimentação de dados. | Melhor governança de dados Os dados e recursos são consolidados em um só lugar com data lakehouses, facilitando a implementação, o teste e a entrega de controles de governança e segurança. | Duplicação de dados reduzida Quanto mais cópias de dados existirem em sistemas diferentes, maior será a probabilidade de eles serem inconsistentes e menos confiáveis. Com data lakehouse, é possível ter uma única fonte de dados que pode ser compartilhada em toda a empresa para tomar decisões, evitando inconsistências e custos extras de armazenamento causados pela duplicação de dados. |
Cargas de trabalho variadas É possível conectar várias ferramentas diretamente ao lakehouse para oferecer suporte a cargas de trabalho de análise, SQL, machine learning e ciência de dados no mesmo repositório. | Alta escalonabilidade O armazenamento de objetos em nuvem de baixo custo dos data lakehouse permite que você separe a computação do armazenamento para fornecer escalabilidade quase ilimitada e instantânea. É possível escalonar o poder de computação e o armazenamento separadamente de acordo com as necessidades da sua empresa. |
Arquitetura simplificada
Um data lakehouse remove os silos de duas plataformas separadas. Assim, você só precisa se concentrar no gerenciamento e na manutenção de um único repositório de dados. As ferramentas também podem ser conectadas diretamente aos dados de origem para que você não precise extrair ou preparar dados para serem usados em um data warehouse.
Melhor qualidade de dados
É possível aplicar esquemas para dados estruturados e integridade de dados em arquiteturas de data lakehouse, garantindo a consistência. Além disso, as lakeshouses reduzem o tempo para disponibilizar novos dados, garantindo dados mais recentes.
Custos mais baixos
Armazene grandes volumes de dados em armazenamento de baixo custo e elimine a necessidade de manter um data warehouse e um data lake. Os data lakehouses também ajudam a reduzir os custos de processos de ETL e eliminação de duplicação.
Mais confiabilidade
Os data lakehouse reduzem as transferências de dados de ETL entre vários sistemas, reduzindo a chance de problemas de qualidade ou técnicos que possam ocorrer com a movimentação de dados.
Melhor governança de dados
Os dados e recursos são consolidados em um só lugar com data lakehouses, facilitando a implementação, o teste e a entrega de controles de governança e segurança.
Duplicação de dados reduzida
Quanto mais cópias de dados existirem em sistemas diferentes, maior será a probabilidade de eles serem inconsistentes e menos confiáveis. Com data lakehouse, é possível ter uma única fonte de dados que pode ser compartilhada em toda a empresa para tomar decisões, evitando inconsistências e custos extras de armazenamento causados pela duplicação de dados.
Cargas de trabalho variadas
É possível conectar várias ferramentas diretamente ao lakehouse para oferecer suporte a cargas de trabalho de análise, SQL, machine learning e ciência de dados no mesmo repositório.
Alta escalonabilidade
O armazenamento de objetos em nuvem de baixo custo dos data lakehouse permite que você separe a computação do armazenamento para fornecer escalabilidade quase ilimitada e instantânea. É possível escalonar o poder de computação e o armazenamento separadamente de acordo com as necessidades da sua empresa.
O conceito de data lakehouse ainda é uma arquitetura relativamente nova, o que significa que alguns dos maiores desafios estão relacionados ao fato de que ele está evoluindo e as práticas recomendadas ainda estão sendo definidas pelos primeiros usuários.
Além disso, data lakehouses são complexos desde a criação. Na maioria dos casos, você vai precisar optar por uma solução de data lake pronta para uso ou usar uma plataforma como o Google Cloud, que oferece todos os componentes necessários para oferecer suporte a uma arquitetura de data lakehouse aberto.
Uma arquitetura de data lakehouse consiste nas seguintes camadas:
Há vários exemplos de data lakehouse, incluindo a plataforma Databricks Lakehouse e o Amazon Redshift Spectrum. No entanto, à medida que as tecnologias continuam a melhorar e a adoção de data lakehouse aumenta, a implementação mudou do acoplamento de componentes de lakehouse para um data lake específico.
Por exemplo, a abordagem do Google Cloud foi unificar os recursos principais das operações de dados corporativos, data lakes e data warehouses. Essa implementação coloca a capacidade de armazenamento e computação do BigQuery no coração da arquitetura de data lakehouse. É possível, então, aplicar uma abordagem de governança unificada e outros recursos semelhantes aos do warehouse usando o Dataplex e o Analytics Hub.
O BigQuery não é apenas integrado ao ecossistema do Google Cloud, mas também permite que você use tecnologias de parceiros e de código aberto para reunir o melhor dos recursos de lake e warehouse em um único sistema.
Continuamos desenvolvendo essa abordagem com o lançamento do BigLake, agora em pré-lançamento, um mecanismo de armazenamento unificado que simplifica o acesso aos dados dos data warehouses e dos data lakes. É possível aplicar controle de acesso detalhado e acelerar o desempenho da consulta em dados distribuídos.