O que é data lakehouse?
O que é data lakehouse?
Data lakehouse é um sistema de gerenciamento de dados que oferece armazenamento flexível e econômico em grande escala, além de fornecer recursos de analytics, como estruturação, governança e geração de relatórios. Ele permite o armazenamento de dados brutos em uma variedade de formatos de milhares ou até centenas de milhares de fontes da forma mais econômica em um local central. Os dados ainda podem ser usados por ferramentas de analytics para treinar modelos de IA e gerar relatórios e painéis. O data lakehouse fornece muitos recursos que permitem o processamento dos dados brutos dentro do lakehouse para a realização de analytics adicional.
Qual a diferença entre um data lake, um data warehouse e um data lakehouse?
Uma arquitetura de data lakehouse surgiu pela combinação dos pontos fortes de dois armazenamentos de dados centralizados tradicionais: o data warehouse e o data lake.
Data warehouse
O data warehouse é um sistema de armazenamento de dados que armazena dados estruturados com base em esquemas de dados padrão. Os esquemas são modelos predefinidos que determinam o formato dos dados, a relação e a estrutura das informações em um banco de dados relacional.
As organizações usam sistemas de data warehouse para obter acesso rápido ao processamento de dados, analytics de business intelligence e relatórios corporativos. O armazenamento de dados fornece acesso a ferramentas avançadas de analytics, governança de dados robusta e facilidade de uso para usuários não técnicos. Por exemplo, é possível recuperar relatórios de desempenho de marketing usando um painel no data warehouse.
No entanto, o armazenamento de dados introduz etapas adicionais no ciclo de vida dos dados. Para obter insights prontos para analytics, os dados passam por vários pipelines de extração, transformação e carregamento (ETL) antes de serem armazenados em um data warehouse. Além disso, o data warehouse não pode lidar com dados não estruturados e semiestruturados necessários para workloads de inteligência artificial e machine learning. Em uma configuração de data warehouse, o armazenamento e a poder computacional estão fortemente integrados, o que aumenta os custos de escalonamento da infraestrutura.
Data lake
Data lake é um sistema de armazenamento que retém os dados em seu formato original. Os cientistas de dados usam o data lake para armazenar dados estruturados, não estruturados e semiestruturados. Armazenar dados em um data lake é rápido porque as informações não passam por um pipeline de ETL. Em vez disso, os dados brutos são armazenados da forma como estão. Dessa forma, o data lake pode armazenar grandes volumes de informações em alto ritmo, incluindo fluxos de dados em tempo real.
Devido ao volume de dados, os data lakes em nuvem são ideais para exploração de dados, machine learning e outras aplicações de ciência de dados. O data lake também é mais acessível em grande escala, devido à sua hospedagem de armazenamento de baixo custo.
Diferentemente de um data warehouse, acessar dados armazenados em um data lake exige conhecimento técnico, o que limita o acesso aos dados a um grupo menor de usuários. Isso significa que somente usuários proficientes em ciência de dados podem extrair, manipular e analisar os dados brutos para obter insights de negócios. Além disso, um data lake não gerenciado pode levar a um pântano de dados. Os pântanos de dados são um estado de desorganização dos dados, dificultando a extração de insights significativos.
Data lakehouse
O data lakehouse é uma arquitetura de dados unificada que combina as vantagens de um data warehouse e um data lake. Ele fornece espaço de armazenamento de alto desempenho, acessível e de fácil governança para vários tipos de dados.
Ao contrário de um data warehouse, um data lakehouse pode armazenar dados semiestruturados e não estruturados para fins de machine learning. Além disso, a arquitetura do data lakehouse consiste em ferramentas de análise de SQL usadas por gerentes de negócios para gerar relatórios e extrair insights práticos.
Quais são os principais atributos de um data lakehouse?
Os data lakehouses fornecem recursos de gerenciamento de dados para que as organizações criem hubs de processamento de dados escaláveis, complexos e de baixa latência. Abaixo, compartilhamos alguns dos principais recursos de um data lakehouse.
Compatível com diversos tipos de dados e workloads
Os data lakehouses podem armazenar diversos tipos de dados, incluindo texto, imagens, vídeos e arquivos de áudio, sem etapas adicionais de transformação ou um esquema rígido. Isso permite uma rápida ingestão de dados, garantindo a atualização dos dados para aplicações conectadas.
Para prestar suporte à diversidade de dados, o data lakehouse aloca os dados brutos em um armazenamento baseado em objetos. O armazenamento baseado em objetos é um tipo de arquitetura de armazenamento de dados otimizada para lidar com grandes volumes de dados não estruturados.
Compatibilidade com transações
Um data lakehouse fornece recursos de gerenciamento de dados para armazenar transações compatíveis com ACID, semelhantes às encontradas em bancos de dados convencionais. ACID significa atomicidade, consistência, isolamento e durabilidade.
- Na atomicidade, cada transação é considerada uma unidade indivisível: ou é concluída com sucesso por completo, ou não ocorre.
- A consistência se refere ao comportamento previsível do banco de dados decorrente da atualização de uma tabela de dados específica. Cada atualização segue regras predefinidas, que garantem a consistência de dados.
- O isolamento permite que várias transações aconteçam sem que haja interferências entre elas. Mesmo que vários usuários atualizem o banco de dados simultaneamente, cada operação é executada de forma independente, o que significa que uma transação termina antes do início da próxima.
- Durabilidade é a capacidade do banco de dados de reter e salvar alterações mesmo se o sistema falhar.
Com todas essas propriedades juntas, o ACID garante a integridade dos dados, permitindo que as equipes de software criem aplicações que dependam do armazenamento confiável de dados transacionais.
Ingestão de streaming
Os fluxos de dados são um fluxo contínuo de informações provenientes de fontes de dados, como dispositivos de Internet das Coisas (IoT), transações financeiras e serviços de aplicações.
Algumas aplicações exigem streaming de dados para refletir e visualizar as alterações nos dados quase em tempo real. A arquitetura do data lakehouse pode ingerir fluxos de dados e disponibilizá-los para aplicações voltadas ao usuário. Além disso, os cientistas de dados podem criar ferramentas de analytics com base nos fluxos de dados e visualizá-los com tabelas e gráficos.
Integração ETL zero
O ETL zero é um processo de dados que contorna os complexos pipelines de transformação de dados ao mover dados. A infraestrutura de data lakehouse viabiliza a integração zero de ETL.
Convencionalmente, as organizações criam suas workloads em um data warehouse e em um data lake. Essas configurações de dados exigem pipelines de ETL adicionais para consultar e transformar dados. Com a integração ETL zero, os cientistas de dados podem consultar diferentes silos de dados sem criar pipelines adicionais.
Quando um data lakehouse ingere dados, ele os transforma automaticamente em formatos que se alinham aos requisitos de analytics de negócios. O Amazon Redshift, por exemplo, permite integrações ETL zero com o Amazon Aurora. O Redshift é um data warehouse, enquanto o Aurora é um sistema de gerenciamento de banco de dados relacional. Quando integrados, os dados que o Aurora ingere se replicam automaticamente no Redshift em instantes. Dessa forma, as organizações podem aumentar o tempo de obtenção de insights e, ao mesmo tempo, manter uma infraestrutura de dados simples e econômica.
Analytics unificada
O data lakehouse fornece uma plataforma de dados unificada de acesso a todos os dados armazenados. Ele ajuda os arquitetos de dados a superar duplicações, inconsistências e fragmentações de dados em vários sistemas.
Outro benefício importante da analytics centralizada é evitar movimentações desnecessárias de dados entre o armazenamento em nuvem. Em vez de consultar dados em silos, as equipes de dados armazenam, analisam e compartilham dados a partir de uma única interface que se conecta ao data lakehouse. Por exemplo, é possível recuperar dados não estruturados para uma workload de machine learning e gerar relatórios de desempenho de marketing a partir de uma única cópia de dados.
Editor de consultas
Analistas de dados, engenheiros de machine learning e usuários de dados podem acessar facilmente os dados em um banco de dados através de um editor de consultas SQL. É possível criar comandos SQL para análise de dados, visualização, pesquisa de dados históricos, criação de esquemas de banco de dados e muito mais. Um editor de consultas também melhora a colaboração ao permitir que os engenheiros de dados compartilhem facilmente as consultas criadas.
Compatibilidade com ML/IA
Os data lakehouses são projetados para criar, testar e escalar workloads de inteligência artificial e machine learning (IA/ML). Além de permitir o acesso direto a dados não estruturados, muitos fornecedores de data lakehouse oferecem bibliotecas, ferramentas e analytics de machine learning que simplificam o desenvolvimento de IA.
Por exemplo, o Amazon SageMaker Lakehouse se integra perfeitamente ao Estúdio Unificado Amazon SageMaker, fornecendo acesso a ferramentas e analytics para acelerar os fluxos de trabalho de IA/ML.
Como funciona um data lakehouse?
O data lakehouse combina os recursos avançados de análise dos data warehouses com a flexibilidade dos data lakes, fornecendo uma plataforma de dados escalável, acessível e poderosa. Em vez de manter data lakes e infraestruturas de data warehouse separados, as organizações escolhem um data lakehouse para obter insights de negócios mais rapidamente.
O data lakehouse ingere dados de vários recursos, os organiza internamente e os fornece para vários usuários em diferentes formatos. Além disso, a computação do data lakehouse é separada do armazenamento. Com armazenamento e computação separados, você pode escalar essas funções de forma independente para maximizar a economia de custos.
Abaixo, compartilhamos as camadas de dados que formam um data lakehouse.
Camada de ingestão
A camada de ingestão conecta o data lakehouse a vários tipos de fontes de dados, incluindo logs de aplicações, bancos de dados e feeds de mídias sociais. Nessa camada, os dados são preservados no formato original.
Camada de armazenamento
A camada de armazenamento recebe dados brutos e os aloca em um armazenamento escalável e de baixo custo. Em uma configuração de data lakehouse, essa camada geralmente se vincula a um armazenamento de objetos na nuvem. O armazenamento de objetos é compatível com diversos tipos de dados, incluindo dados estruturados, semiestruturados e não estruturados.
Dependendo dos casos de uso, alguns dados são transformados após serem alocados no armazenamento de objetos. Caso queira, por exemplo, treinar um modelo de machine learning usando os dados ingeridos, o data lakehouse transformará e armazenará esses dados no formato Parquet. Parquet é um formato de arquivo aberto projetado para armazenar e processar dados estruturados de forma eficiente, segregando-os em colunas.
Camada de preparação
A camada de preparação, ou camada de metadados, fornece suporte a esquemas para governar, organizar e otimizar os dados armazenados no data lakehouse. Essa camada permite a definição de políticas para garantir a qualidade dos dados e criar trilhas de auditoria para fins de conformidade. Além disso, as equipes de dados podem criar fluxos de trabalho de dados confiáveis usando transações ACID, indexações de arquivos, versionamento de dados e armazenamento em cache, semelhantes aos encontrados em um data warehouse tradicional.
Camada de API
A camada de interface de programação de aplicações (API) permite que desenvolvedores de software e aplicações consultem dados armazenados no data lakehouse. Ela fornece acesso granular aos dados que, por sua vez, possibilitam que uma analytics mais avançada seja criada programaticamente a partir dos dados. Por exemplo, equipes de software podem fazer chamadas de API para recuperar fluxos de dados em tempo real e alimentar o painel de uma aplicação de investimento.
Camada semântica
A camada semântica é a camada superior do data lakehouse. Também conhecida como camada de consumo de dados, consiste em ferramentas e aplicações de data analytics que fornecem acesso aos dados e aos esquemas armazenados. Os usuários corporativos podem gerar relatórios, criar gráficos, consultar insights e realizar outras análises de dados com as ferramentas dessa camada.
Como a AWS pode oferecer suporte a requisitos do data lakehouse?
O Amazon SageMaker Lakehouse é um data lakehouse usado por organizações para processar exabytes de dados, obter insights de negócios e potencializar workloads de IA. O Amazon SageMaker Lakehouse está profundamente integrado aos serviços de armazenamento de dados, analytics e machine learning da AWS, ajudando o usuário a:
- Acessar dados no local para o uso de analytics quase em tempo real
- Criar modelos de inteligência artificial e machine learning em um único hub de dados
- Acessar, combinar e compartilhar dados com segurança com o mínimo de movimento ou cópia
Com uma arquitetura que separa computação e armazenamento para proporcionar uma escalabilidade eficiente, o Amazon SageMaker Lakehouse oferece a melhor relação preço/desempenho em comparação a outros data lakehouses em nuvem.
O Amazon SageMaker Lakehouse se integra aos data warehouses e data lakes da AWS:
- O Amazon Redshift é uma solução de data warehouse que oferece uma relação preço-desempenho incomparável em grande escala com SQL para seu data lakehouse
- O Amazon S3 é um armazenamento de objetos de data lake desenvolvido para recuperar qualquer quantidade de dados de qualquer local
Comece a usar o data lakehouse na AWS criando uma conta gratuita hoje mesmo.