Os data lakes e os data warehouses são geralmente usados em conjunto. Os data lakes atuam como um sistema que recebe todos os dados novos, enquanto os data warehouses aplicam estrutura posterior a esses dados.
No entanto, coordenar esses sistemas para fornecer dados confiáveis pode ser caro em termos de tempo e recursos. Tempos de processamento longos contribuem para dados desatualizados, e camadas adicionais de ETL (extração, transformação e carregamento) introduzem riscos à qualidade dos dados.
Os data lakehouses compensam as falhas dos data warehouses e dos data lakes com recursos que formam um sistema de gerenciamento de dados mais eficiente. Eles combinam as estruturas de dados dos data warehouses com o armazenamento de baixo custo e a flexibilidade dos data lakes.
Os data lakehouses permitem que as equipes de dados unifiquem seus sistemas díspares, acelerem o processamento de dados para análises mais avançadas (como aprendizado de máquina — ML), acessem dados em grande escala de forma eficiente e melhorem a qualidade dos dados.
O objetivo dos Data lakehouses é resolver as dificuldades dos data warehouses e dos data lakes, reunindo seus benefícios em uma única arquitetura de dados.
Por exemplo, os data warehouses oferecem melhor desempenho do que os data lakes, tanto no armazenamento quanto na transformação de dados corporativos. No entanto, o armazenamento de dados exige esquemas rígidos (normalmente o esquema estrela ou o esquema floco de neve).
Portanto os data warehouses não funcionam bem com dados não estruturados ou semiestruturados, essenciais para casos de uso de inteligência artificial (IA) e aprendizado de máquina (ML). São também limitados na capacidade de escalar.
Os data lakes, por outro lado, permitem que as organizações agreguem todos os tipos de dados: dados estruturados, dados não estruturados e dados semiestruturados de diversas fontes em um único local. Viabilizam um armazenamento de dados mais escalável e acessível, mas não contam com ferramentas de processamento de dados integradas.
Os data lakehouses combinam aspectos de data warehouses e data lakes. Utilizam armazenamento de objetos em nuvem para guardar dados em qualquer formato com baixo custo. E sobre esse armazenamento em nuvem há uma infraestrutura analítica no estilo de warehouse, que suporta consultas de alto desempenho, análises quase em tempo real e iniciativas de business intelligence (BI).
Data warehouses, data lakes e data lakehouses são todos repositórios de dados, mas com diferenças fundamentais. Eles costumam ser usados em conjunto para oferecer uma arquitetura de dados integrada para diversos casos de uso.
Um data warehouse coleta dados brutos de várias fontes em um repositório central e os organiza em uma infraestrutura de banco de dados relacional. Esse sistema de gerenciamento de dados oferece suporte principalmente para aplicações de análise de dados e business intelligence, como relatórios corporativos.
O sistema utiliza processos de ETL (extração, transformação e carregamento) para mover os dados até o destino. No entanto, é limitado pela ineficiência e pelo custo, especialmente à medida que aumenta o número de fontes de dados e o volume de informações.
Embora os data warehouses fossem tradicionalmente hospedados localmente em mainframes, hoje muitos estão na nuvem e são oferecidos como serviços em nuvem.
Os data lakes foram inicialmente construídos em plataformas de big data, como o Apache Hadoop. Mas o núcleo dos data lakes modernos é um serviço de armazenamento de objetos em nuvem, que permite armazenar todos os tipos de dados. Serviços comuns incluem Amazon Simple Storage Service (Amazon S3), Microsoft Azure Blob Storage, Google Cloud Storage e IBM Cloud Object Storage.
Como as empresas geram majoritariamente dados não estruturados, esse recurso de armazenamento é uma distinção importante. Ele viabiliza mais projetos de ciência de dados e inteligência artificial (IA) — que, por sua vez, geram insights mais inovadores e uma tomada de decisão mais eficiente em toda a organização.
No entanto, o tamanho e a complexidade dos data lakes podem exigir o conhecimento técnico de profissionais como cientistas e engenheiros de dados. E, como a governança de dados ocorre de forma posterior nesses sistemas, os data lakes podem estar sujeitos à criação de silos de dados e, eventualmente, se transformar em data swamps (quando dados úteis ficam inacessíveis por falta de gerenciamento adequado).
Os data lakehouses conseguem resolver os principais desafios tanto dos data warehouses quanto dos data lakes, oferecendo uma solução de gerenciamento de dados mais adequada para as organizações. Eles aproveitam o armazenamento de objetos em nuvem para fornecer armazenamento rápido e de baixo custo para uma ampla gama de tipos de dados, ao mesmo tempo que entregam recursos analíticos de alto desempenho. As organizações podem usar os data lakehouses em conjunto com seus data lakes e data warehouses existentes, sem precisar reconstruir toda a arquitetura.
Os data lakehouses oferecem diversos benefícios importantes aos usuários. Eles podem ajudar a:
Um único sistema de armazenamento de dados cria uma plataforma simplificada para atender a todas as demandas de dados corporativos, reduzindo a duplicação de dados. Os data lakehouses também simplificam a observabilidade de dados de ponta a ponta ao reduzir a quantidade de dados que passa por pipelines de dados para diversos sistemas.
Os data lakehouses aproveitam os menores custos do armazenamento de objetos em nuvem, sendo mais econômicos do que os data warehouses. Além disso, a arquitetura híbrida de um data lakehouse elimina a necessidade de manter vários sistemas de armazenamento de dados, tornando sua operação menos dispendiosa.
Os data lakehouses atendem a diferentes casos de uso ao longo do ciclo de vida do gerenciamento de dados. Eles também oferecem suporte a fluxos de trabalho de business intelligence e visualização orientada por dados, bem como a fluxos mais complexos de ciência de dados.
A arquitetura de data lakehouse mitiga os problemas de controle enfrentados pelos data lakes. Por exemplo, à medida que os dados são ingeridos e carregados, o lakehouse pode garantir que eles atendam aos requisitos de esquema definidos, reduzindo os problemas de qualidade de dados posteriores.
Em data warehouses tradicionais, o processamento e o armazenamento estão acoplados. Os data lakehouses separam armazenamento e processamento, permitindo que as equipes de dados acessem o mesmo armazenamento de dados enquanto utilizam diferentes nós de computação para diferentes aplicações. Este desacoplamento resulta em mais escalabilidade e flexibilidade.
O data lakehouse foi criado para os negócios e a tecnologia atuais. Muitas fontes de dados contêm dados em streaming em tempo real provenientes de dispositivos, como os dispositivos da Internet das coisas. O sistema lakehouse oferece suporte a essas fontes por meio de ingestão de dados em tempo real.
Desenvolvido pela Databricks em 2016, o Delta Lake é um formato de armazenamento de dados de código aberto que combina arquivos de dados Apache Parquet com um log robusto de metadados. Este formato adiciona funções chave de gerenciamento de dados aos data lakes, como imposição de esquema, viagem no tempo e transações ACID. (ACID significa “atomicidade, consistência, isolamento e durabilidade” — propriedades essenciais para garantir a integridade dos dados em uma transação.)
Estas funções ajudam a tornar os data lakes mais confiáveis e intuitivos. Também permitem que os usuários executem consultas em linguagem SQL, cargas de trabalho analíticas e outras atividades em um data lake, simplificando o uso de business intelligence, data intelligence (DI), IA e aprendizado de máquina (ML).
O Delta Lake foi disponibilizado como código aberto em 2019. Desde então, data lakehouses geralmente são criados adicionando uma camada de armazenamento Delta Lake sobre um data lake e, em seguida, integrando-a a um mecanismo de processamento de dados como o Apache Spark ou o Hive.
Os data lakehouses com suporte de código aberto são frequentemente chamados de open data lakehouses. Outros formatos abertos incluem o Apache Iceberg (um formato de alto desempenho para tabelas analíticas massivas) e o Apache Hudi (projetado para processamento de dados incremental).
A arquitetura de um data lakehouse normalmente consiste em cinco camadas:
A primeira camada coleta dados de diversas fontes e os transforma em um formato que o lakehouse pode armazenar e analisar. A camada de ingestão pode usar protocolos para se conectar a fontes internas e externas, como sistemas de gerenciamento de banco de dados, bancos de dados NoSQL e redes sociais.
Nessa camada, os conjuntos de dados estruturados, não estruturados e semiestruturados são armazenados em formatos de arquivo de código aberto, como Parquet ou ORC (Optimized Row Columnar). Essa camada oferece um dos principais benefícios do data lakehouse: a capacidade de aceitar todos os tipos de dados com um custo acessível.
A camada de metadados é um catálogo unificado que fornece metadados para cada objeto no armazenamento do lake, ajudando a organizar e disponibilizar informações sobre os dados no sistema. Essa camada também oferece transações ACID, cache de arquivos e indexação para consultas mais rápidas. Os usuários podem implementar esquemas predefinidos aqui, o que permite gestão de dados e recursos.
Um data lakehouse usa interfaces de programação de aplicativos (APIs) para aumentar o processamento de tarefas e fazer análises avançadas. Especificamente, essa camada oferece a consumidores e/ou desenvolvedores a possibilidade de usar uma variedade de linguagens e bibliotecas, como o TensorFlow, em um nível abstrato. As APIs são otimizadas para o consumo de ativos de dados.
A camada final da arquitetura do data lakehouse hospeda aplicativos e ferramentas com acesso a todos os metadados e dados armazenados no lake. Isso abre o acesso aos dados para usuários em toda a organização, que podem usar o lakehouse para realizar tarefas como dashboards de business intelligence, visualização de dados e trabalhos de machine learning.
Coloque seus dados para trabalhar, onde quer que estejam, com o data lakehouse aberto e híbrido para IA e análise de dados.
Resolva os desafios de dados atuais com uma arquitetura lakehouse. Conecte-se a dados em minutos, obtenha insights confiáveis com rapidez e reduza os custos de seu data warehouse.
Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.