fbpx

Data lakehouse: o avanço do gerenciamento de dados

 


lakehouse2.png

Há um paradigma que está crescendo no campo de gerenciamento de dados e que se apresenta como tendência em muitas empresas: o lakehouse. Neste post vamos explicar o que é, suas características, desafios e vantagens em relação aos outros modelos.

 

Um lakehouse combina os melhores elementos de data lakes e data warehouses. Para um entendimento mais completo, vamos explicar de forma breve o que são eles.

Data warehouses

Os data warehouses surgiram na década de 80 e tem vasto uso como aplicação de suporte a decisões e inteligência de negócios. Eles centralizam e consolidam grandes quantidades de dados de várias fontes. Seu processamento analítico é executado em dados que foram preparados para análise: reunidos, contextualizados e transformados com o objetivo de gerar informações baseadas em análise. Quando as organizações precisam de análises avançadas de dados que se baseiem em dados históricos de várias fontes em toda a empresa, um data warehouse provavelmente é a melhor escolha.

Mas, embora os warehouses sejam excelentes para dados estruturados, atualmente é cada vez mais necessário lidar com dados não estruturados, dados semiestruturados e dados com alta variedade, velocidade e volume. Os data warehouses não são adequados para muitos desses casos de uso e nem são as soluções mais econômicas.

À medida que as empresas começaram a coletar grandes quantidades de dados de muitas fontes diferentes, os arquitetos começaram a imaginar um único sistema para armazenar dados para muitos produtos analíticos e cargas de trabalho diferentes. Então, cerca de uma década atrás, as empresas começaram a construir data lakes.

 

Data lakes

Os data lakes são repositórios para dados brutos em uma variedade de formatos, como dados de aplicativos de linha de negócios, aplicativos móveis, mídias sociais, dispositivos IoT, etv. Armazenam uma grande quantidade de dados diferentes, não filtrados, para serem usados posteriormente para uma finalidade específica. Quando as organizações precisam de armazenamento de baixo custo para dados não formatados e não estruturados de várias fontes que pretendem usar para algum propósito no futuro, um data lake pode ser a escolha certa.

Embora adequados para o armazenamento de dados, os tais “lagos de dados” carecem de alguns recursos essenciais: não suportam transações, não impõem a qualidade dos dados e sua falta de consistência / isolamento torna quase impossível misturar acréscimos e leituras e trabalhos em lote e streaming. 

 

As necessidades atuais

Atualmente, as empresas precisam de sistemas para diversos aplicativos de dados, incluindo análise SQL, monitoramento em tempo real, ciência de dados e aprendizado de máquina. A maioria dos avanços recentes em Inteligência Artificial, por exemplo, tem sido em melhores modelos para processar dados não estruturados (texto, imagens, vídeo, áudio), mas esses são precisamente os tipos de dados para os quais um data warehouse não é otimizado. 

Uma abordagem comum é usar vários sistemas – um data lake, vários data warehouses e outros sistemas especializados, como streaming, séries temporais, gráficos e bancos de dados de imagens. Porém, lidar com tantos sistemas introduz complexidade e, por consequência, atrasos, pois os profissionais de dados precisam mover ou copiar dados entre sistemas diferentes.

É ai que a novidade do data lakehouse surgiu, misturando os conceitos. Reúne a implementação de estruturas de dados e recursos de gerenciamento de dados semelhantes aos de um data warehouse, com o tipo de armazenamento de baixo custo usado para data lakes.


data-lakehouse.png

A fusão de data lakes e data warehouses em um único sistema significa que as equipes de dados podem se mover mais rapidamente, pois são capazes de usar os dados sem precisar acessar vários sistemas. O lakehouse é um novo paradigma de gerenciamento de dados que simplifica radicalmente a infraestrutura de dados corporativos e acelera a inovação em um período histórico em que o aprendizado de máquina está em alta em diversos setores.

Segundo a companhia norte-americana Data Bricks, uma lakehouse tem as seguintes características principais:

  • Suporte a transações: em um lakehouse corporativo, muitos pipelines de dados frequentemente leem e gravam dados simultaneamente, normalmente usando SQL.

  • Aplicação e governança do esquema: o sistema deve ser capaz de raciocinar sobre a integridade dos dados e deve ter mecanismos robustos de governança e auditoria.

  • Suporte de BI: lakehouses permite o uso de ferramentas de BI diretamente nos dados de origem. Isso reduz a desatualização e a latência e diminui o custo de ter que operacionalizar duas cópias dos dados em um data lake e um warehouse.

  • O armazenamento é desacoplado da computação: na prática, isso significa que o armazenamento e a computação usam clusters separados, portanto,esses sistemas podem ser escalonados para muitos mais usuários simultâneos e tamanhos de dados maiores. Alguns data warehouses modernos também possuem essa propriedade.

  • Abertura: os formatos de armazenamento que eles usam são abertos e padronizados, como Parquet, e fornecem uma API para que uma variedade de ferramentas e mecanismos, incluindo aprendizado de máquina e bibliotecas Python / R, possam acessar os dados diretamente de maneira eficiente.

  • Suporte para diversos tipos de dados, desde dados não estruturados a estruturados: o lakehouse pode ser usado para armazenar, refinar, analisar e acessar tipos de dados necessários para muitos novos aplicativos de dados, incluindo imagens, vídeo, áudio, dados semiestruturados e texto.

  • Suporte para diversas cargas de trabalho: incluindo ciência de dados, aprendizado de máquina e SQL. Várias ferramentas podem ser necessárias para oferecer suporte a todas essas cargas de trabalho, mas todas elas dependem do mesmo repositório de dados.

  • Streaming de ponta a ponta: relatórios em tempo real são a norma em muitas empresas. O suporte para streaming elimina a necessidade de sistemas separados dedicados a atender aplicativos de dados em tempo real.

Lakehouses atuais reduzem custos, mas seu desempenho ainda pode atrasar sistemas especializados (como data warehouses) que têm anos de investimentos e implantações por trás. Os usuários podem preferir certas ferramentas (ferramentas de BI, IDEs, notebooks) em vez de outras, portanto, lakehouses também precisarão melhorar sua experiência do usuário e seus conectores para ferramentas populares, de modo que possam atrair uma variedade de personas.

Essas e outras questões serão abordadas à medida que a tecnologia continua a amadurecer e se desenvolver. Com o tempo, os lakehouses fecharão essas lacunas, mantendo as propriedades principais de serem mais simples, mais econômicos e mais capazes de atender a diversas aplicações de dados.