Data lakehouses buscam resolver os desafios centrais tanto de data warehouses quanto de data lakes para produzir uma solução de gerenciamento de dados mais ideal para organizações. Eles representam a próxima evolução das soluções de gerenciamento de dados no mercado.
Um data lakehouse é uma plataforma de dados que mescla os melhores aspectos dos data warehouses e data lakes em uma única solução de gerenciamento de dados. Os data warehouses tendem a ter mais desempenho do que os data lakes, mas podem ser mais caros e limitados em sua capacidade de escalar. Um data lakehouse tenta resolver isso ao aproveitar o armazenamento de objetos na nuvem para armazenar uma gama mais ampla de tipos de dados — ou seja, dados estruturados, dados não estruturados e dados semiestruturados. Ao reunir esses benefícios em uma arquitetura de dados, as equipes de dados podem acelerar o processamento de dados, pois não precisam mais usar dois sistemas de dados díspares para concluir e escalar análises mais avançadas, como o aprendizado de máquina.
Saiba mais sobre as barreiras à adoção de IA, particularmente a falta de soluções de governança de IA e gerenciamento de riscos.
Cadastre-se para receber o e-book sobre fluxos de trabalho de IA responsáveis
Uma vez que data lakehouses surgiram dos desafios dos data warehouses e data lakes, vale a pena definir esses diferentes repositórios de dados e entender como eles diferem.
Um data warehouse coleta dados brutos de múltiplas fontes em um repositório central e os organiza em uma infraestrutura de banco de dados relacional. Esse sistema de gerenciamento de dados apoia principalmente análises de dados e aplicações de business intelligence, como relatórios corporativos. O sistema usa processos ETL para extrair, transformar e carregar dados em seu destino. No entanto, é limitado por sua ineficiência e custo, especialmente à medida que o número de fontes de dados e a quantidade de dados crescem ao longo do tempo.
Os data lakes são comumente desenvolvidos em plataformas de big data como o Apache Hadoop. São conhecidos por seu baixo custo e flexibilidade de armazenamento, pois não possuem os esquemas predefinidos dos data warehouses tradicionais. Eles também armazenam diferentes tipos de dados, como áudio, vídeo e texto. Uma vez que os produtores de dados geram muitos dados não estruturados, essa é uma distinção importante, pois isso também possibilita mais projetos de ciência de dados e inteligência artificial (IA), o que, por sua vez, gera insights mais inovadores e melhora a tomada de decisão em uma organização. No entanto, data lakes não estão livres de seus próprios desafios. O tamanho e a complexidade dos data lakes podem exigir mais recursos técnicos, como cientistas de dados e engenheiros de dados, para navegar na quantidade de dados que armazena. Além disso, uma vez que a governança de dados é implementada mais a jusante nesses sistemas, data lakes tendem a ser mais propensos a silos de dados, que podem evoluir posteriormente para um data swamp. Quando isso acontece, o data lake pode se tornar inutilizável.
Data lakes e data warehouses são tipicamente usados em conjunto. Data lakes atuam como um sistema de captura para novos dados, e data warehouses aplicam estrutura downstream a dados específicos deste sistema. No entanto, coordenar esses sistemas para fornecer dados confiáveis pode ser custoso tanto em tempo quanto em recursos. Tempos de processamento longos contribuem para a obsolescência dos dados e camadas adicionais de ETL introduzem mais risco à qualidade dos dados.
O data lakehouse otimiza as falhas dentro de data warehouses e data lakes para formar um sistema de gerenciamento de dados melhor. Ele oferece às organizações armazenamento rápido e de baixo custo para seus dados empresariais, ao mesmo tempo em que fornece flexibilidade suficiente para suportar cargas de trabalho tanto de análise de dados quanto de aprendizado de máquina.
Soluções de gerenciamento de dados
Soluções de data lake
Como mencionado anteriormente, os data lakehouses combinam os melhores recursos dos data warehouses com os mais otimizados dos data lakes. Ele aproveita estruturas de dados semelhantes dos data warehouses e as combina com o armazenamento de baixo custo e a flexibilidade dos data lakes, permitindo que as organizações armazenem e acessem big data de forma rápida e mais eficiente, ao mesmo tempo em que lhes permite mitigar potenciais problemas de qualidade de dados. Ele suporta conjuntos de dados diversos, ou seja, tanto dados estruturados quanto não estruturados, atendendo às necessidades de fluxos de trabalho de business intelligence e ciência de dados. Ele geralmente suporta linguagens de programação como Python, R e SQL de alta performance.
Data lakehouses também suportam transações ACID em cargas de trabalho de dados maiores. ACID significa atomicidade, consistência, isolamento e durabilidade; todas propriedades essenciais que definem uma transação para garantir a integridade dos dados.A atomicidade pode ser definida como a realização de todas as alterações em dados como se constituíssem uma única ação. Consistência é quando os dados estão em um estado consistente quando uma transação começa e quando ela termina. Isolamento refere-se ao estado intermediário da transação sendo invisível para outras transações. Como resultado, transações que são executadas simultaneamente parecem ser serializadas. Durabilidade é quando, após uma transação ser concluída com sucesso, as alterações nos dados persistem e não são desfeitas, mesmo no caso de uma falha do sistema.Esta característica é crítica para garantir a consistência dos dados à medida que múltiplos usuários leem e escrevem dados simultaneamente.
Um data lakehouse tipicamente consiste em cinco camadas: camada de ingestão, camada de armazenamento, camada de metadados, camada de API e camada de consumo. Estas compõem o padrão arquitetônico dos data lakehouses.
Esta primeira camada reúne dados de uma variedade de fontes diferentes e os transforma em um formato que pode ser armazenado e analisado em um lakehouse. A camada de ingestão pode usar protocolos para se conectar com fontes internas e externas, como sistemas de gerenciamento de banco de dados, bancos de dados NoSQL, redes sociais e outros. Como o nome sugere, essa camada é responsável pela ingestão de dados.
Nesta camada, os dados estruturados, não estruturados e semiestruturados são armazenados em formatos de arquivo de código aberto, como Parquet ou Optimized Row Columnar (ORC). O benefício real de um lakehouse é a capacidade do sistema de aceitar todos os tipos de dados a um custo acessível.
A camada de metadados é a base do data lakehouse. É um catálogo unificado que fornece metadados para cada objeto no armazenamento do lake, ajudando a organizar e fornecer informações sobre os dados no sistema. Esta camada também dá ao usuário a oportunidade de usar recursos de gerenciamento, como transações ACID, cache de arquivo e indexação para consultas mais rápidas. Os usuários podem implementar esquemas predefinidos nesta camada, que habilitam recursos de governança de dados e auditoria.
Um data lakehouse usa APIs para aumentar o processamento de tarefas e realizar análises mais avançadas. Especificamente, essa camada oferece aos consumidores e/ou desenvolvedores a oportunidade 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.
Esta camada final da arquitetura do data lakehouse hospeda aplicativos clientes e ferramentas, o que significa que tem acesso a todos os metadados e dados armazenados no lake. Os usuários de uma organização podem usar o lakehouse e realizar tarefas analíticas, como dashboards de business intelligence, visualização de dados e outros trabalhos de aprendizado de máquina.
Uma vez que o data lakehouse foi projetado para reunir os melhores recursos de um data warehouse e um data lake, ele oferece benefícios chave específicos para seus usuários. Isso inclui:
Escale cargas de trabalho de IA, para todos os seus dados, em qualquer lugar. O IBM watsonx.data é o único armazenamento de dados aberto do setor que permite que você aproveite vários mecanismos de consulta para executar cargas de trabalho governadas, onde quer que estejam, resultando em maximização da utilização de recursos e redução de custos.
Com base em décadas de inovação em segurança, escalabilidade e disponibilidade de dados, mantenha suas aplicações e análise de dados protegidas, com alto desempenho e resiliência, em qualquer lugar com o IBM Db2.
O avançado data warehouse nativo da nuvem projetado para análises e insights unificados e escaláveis disponíveis em qualquer lugar. Com escalabilidade elástica granular e funcionalidade de pausa e retomada, o Netezza Performance Server oferece controle de custos e recursos em uma escala empresarial massiva.
A IBM Research propõe que a abordagem unificada dos data lakehouses cria uma oportunidade única para gerenciamento unificado de resiliência de dados.
As soluções da IBM fornecem recursos que resolvem desafios do ambiente analítico. Veja por que a IBM é nomeada líder em soluções de gerenciamento de dados para análises.
Compreenda como esses conceitos podem se interligar ou ser empregados em conjunto.
Saiba mais sobre o mecanismo de consulta de código aberto, rápido e flexível, disponível com a arquitetura de data lakehouse aberto do watsonx.data.
1 Lakehouse: A New Generation of Open Platforms that Unify
Data Warehousing and Advanced Analytics (link fora de ibm.com), Stanford, 2021