Conteúdo[Esconder][Mostrar]
Pode ser um pouco difícil considerar todos os serviços disponíveis e opções de arquitetura ao pensar em plataformas de dados.
Uma plataforma de dados corporativos geralmente consiste em data warehouses, modelos de dados, data lakes e relatórios, cada um com uma finalidade específica e um conjunto de habilidades necessárias. Em contraste, um novo design chamado data lakehouse surgiu nos últimos anos.
A versatilidade dos data lakes e o gerenciamento de dados do data warehouse são combinados em uma arquitetura revolucionária de armazenamento de dados apelidada de “data lakehouse”.
Examinaremos o data lakehouse em profundidade neste post, incluindo seus componentes, recursos, arquitetura e outros aspectos.
O que é Data Lakehouse?
Como o nome indica, um data lakehouse é um novo tipo de arquitetura de dados que combina um data lake com um data warehouse para resolver as deficiências de cada um separadamente.
Em essência, o sistema lakehouse usa armazenamento barato para manter grandes quantidades de dados em suas formas originais, bem como data lakes. Adicionar a camada de metadados no topo da loja também fornece estrutura de dados e capacita ferramentas de gerenciamento de dados como as encontradas em data warehouses.
Ele armazena os enormes volumes de dados organizados, semiestruturados e não estruturados que eles obtêm dos diferentes aplicativos de negócios, sistemas e gadgets usados em toda a organização.
Na maioria das vezes, os data lakes usam infraestrutura de armazenamento de baixo custo com uma interface de programação de aplicativos (API) de arquivo para armazenar dados em formatos de arquivo genéricos e abertos.
Isso possibilita que muitas equipes acessem todos os dados da empresa por meio de um único sistema para diversas iniciativas, como ciência de dados, aprendizado de máquinae inteligência de negócios.
Funcionalidades
- Armazenamento de baixo custo. Um data lakehouse deve ser capaz de armazenar dados em armazenamento de objetos de baixo custo, como Parceria Armazenamento, Armazenamento de Blobs do Azure, Amazon Simple Storage Service ou nativamente usando ORC ou Parquet.
- Capacidade de otimização de dados: otimização de layout de dados, armazenamento em cache e indexação são alguns exemplos de como um data lakehouse deve ser capaz de otimizar os dados, mantendo o formato original dos dados.
- Uma camada de metadados transacionais: além do armazenamento essencial de baixo custo, isso permite recursos de gerenciamento de dados cruciais para o desempenho do data warehouse.
- Suporte para a API Declarative DataFrame: A maioria das ferramentas de IA pode usar DataFrames para recuperar dados brutos de armazenamento de objetos. O suporte para a API Declarative DataFrame aumenta a capacidade de melhorar dinamicamente a apresentação e a estrutura dos dados em resposta a uma determinada tarefa de ciência de dados ou IA.
- Suporte para transações ACID: O acrônimo ACID, que significa atomicidade, consistência, isolamento e durabilidade, é um componente crítico na definição de uma transação e na garantia da consistência e confiabilidade dos dados. Anteriormente, tais transações só eram possíveis em data warehouses, mas o lakehouse oferece a opção de utilizá-los com data lakes também. Com vários pipelines de dados, incluindo leituras e gravações de dados simultâneas, isso resolve o problema de baixa qualidade de dados do último.
Elementos de Data Lakehouse
A arquitetura do data lakehouse é dividida em duas camadas principais em alto nível. A entrada de dados da camada de armazenamento é controlada pela plataforma Lakehouse (ou seja, o data lake).
Sem a necessidade de carregar os dados em um data warehouse ou convertê-los em um formato proprietário, a camada de processamento pode consultar os dados na camada de armazenamento diretamente usando uma variedade de ferramentas.
Em seguida, os aplicativos de BI, bem como as tecnologias de IA e ML, podem usar os dados. A economia de um data lake é fornecida por esse design, mas como qualquer mecanismo de processamento pode ler esses dados, as empresas têm a liberdade de tornar os dados preparados acessíveis para análise por uma variedade de sistemas. O desempenho e o custo do processador podem ser melhorados usando este método para processamento e análise.
Devido ao seu suporte para transações de banco de dados que seguem os seguintes critérios ACID (atomicidade, consistência, isolamento e durabilidade), a arquitetura também permite que muitas partes acessem e gravem dados simultaneamente no sistema:
- Atomicidade refere-se ao fato de que a transação completa ou nenhuma dela é bem-sucedida ao concluir uma transação. Caso um processo seja interrompido, isso ajuda a evitar perda ou corrupção de dados.
- Consistência as transações de garantias ocorrem de maneira previsível e consistente. Ele mantém a integridade dos dados, garantindo que todos os dados sejam legítimos de acordo com regras predeterminadas.
- Isolamento garante que, até que seja finalizado, nenhuma transação possa ser impactada por qualquer outra transação dentro do sistema. Isso permite que várias partes leiam e gravem no mesmo sistema simultaneamente sem interferir umas nas outras.
- Durabilidade garante que as alterações nos dados em um sistema continuem a existir após a conclusão de uma transação, mesmo em caso de falha do sistema. Quaisquer alterações provocadas por uma transação são mantidas em arquivo para sempre.
Arquitetura de Data Lakehouse
Databricks (o inovador e designer de seu conceito Delta Lake) e AWS são os dois principais defensores do conceito de data lakehouse. Devemos, portanto, confiar em seu conhecimento e percepção para descrever o layout arquitetônico das casas do lago.
Um sistema data lakehouse normalmente terá cinco camadas:
- Camada de ingestão
- Camada de armazenamento
- Camada de metadados
- camada de API
- Camada de consumo
Camada de ingestão
A primeira camada do sistema é responsável por coletar dados de diversas fontes e enviá-los para a camada de armazenamento. A camada pode utilizar vários protocolos para se conectar a várias fontes internas e externas, incluindo a combinação de recursos de processamento de dados em lote e streaming, como
- bancos de dados NoSQL,
- compartilhamentos de arquivos
- aplicativos de CRM,
- Sites,
- sensores IoT,
- mídia social
- Aplicativos de software como serviço (SaaS), e
- sistemas de gerenciamento de banco de dados relacional, etc.
Nesse ponto, componentes como Apache Kafka para streaming de dados e Amazon Data Migration Service (Amazon DMS) para importação de dados de RDBMSs e bancos de dados NoSQL podem ser empregados.
Camada de armazenamento
A arquitetura lakehouse destina-se a permitir o armazenamento de vários tipos de dados como objetos em armazenamentos de objetos baratos, como o AWS S3. Usando formatos de arquivo abertos, as ferramentas do cliente podem ler esses itens diretamente da loja.
Isso possibilita que muitas APIs e componentes da camada de consumo acessem e utilizem os mesmos dados. A camada de metadados armazena os esquemas para conjuntos de dados estruturados e semiestruturados para que os componentes possam aplicá-los aos dados à medida que os lêem.
A plataforma Hadoop Distributed File System (HDFS), por exemplo, pode ser usada para construir serviços de repositório em nuvem que dividem computação e armazenamento no local. Lakehouse é ideal para esses serviços.
Camada de metadados
A camada de metadados é o componente fundamental de um data lakehouse que distingue esse design. É um catálogo único que oferece metadados (informações sobre outras partes de dados) para todos os itens armazenados no lago e permite que os usuários empreguem recursos de administração como:
- Uma versão consistente do banco de dados é vista por transações simultâneas graças às transações ACID;
- cache para salvar arquivos de armazenamento de objetos na nuvem;
- adicionar índices de estrutura de dados usando indexação para acelerar o processamento de consultas;
- usar a clonagem de cópia zero para duplicar objetos de dados; e
- para armazenar determinadas versões dos dados, etc., use o controle de versão de dados.
Além disso, a camada de metadados permite a implementação de gerenciamento de esquema, o uso de topologias de esquema DW, como esquemas estrela/floco de neve, e o fornecimento de governança de dados e capacidade de auditoria diretamente no data lake, aprimorando a integridade de todo o pipeline de dados.
Recursos para evolução e aplicação de esquemas estão incluídos no gerenciamento de esquemas. Ao rejeitar qualquer gravação que não atenda ao esquema da tabela, a imposição do esquema permite que os usuários mantenham a integridade e a qualidade dos dados.
A evolução do esquema permite que o esquema atual da tabela seja modificado para acomodar a mudança de dados. Devido a uma única interface de administração em cima do data lake, também há possibilidades de controle de acesso e auditoria.
camada de API
Outra camada crucial da arquitetura agora está presente, hospedando uma série de APIs que todos os usuários finais podem usar para executar trabalhos mais rapidamente e obter estatísticas mais sofisticadas.
O uso de APIs de metadados facilita a identificação e o acesso aos itens de dados necessários para um determinado aplicativo.
Em termos de bibliotecas de aprendizado de máquina, algumas delas, como TensorFlow e Spark MLlib, podem ler formatos de arquivos abertos como Parquet e acessar diretamente a camada de metadados.
Ao mesmo tempo, as APIs DataFrame oferecem maiores chances de otimização, permitindo que os programadores organizem e alterem dados dispersos.
Camada de consumo
Power BI, Tableau e outras ferramentas e aplicativos são hospedados na camada de consumo. Com o design do lakehouse, todos os metadados e todos os dados mantidos em um lago são acessíveis aos aplicativos cliente.
A casa do lago pode ser utilizada por todos os usuários de uma empresa para realizar todo tipo de operações de análise, incluindo a criação de painéis de inteligência de negócios e a execução de consultas SQL e tarefas de aprendizado de máquina.
Vantagens do Data Lakehouse
As organizações podem criar um data lakehouse para unificar sua plataforma de dados atual e otimizar todo o processo de gerenciamento de dados. Ao desmantelar as barreiras do silo que conectam várias fontes, um data lakehouse pode substituir a necessidade de soluções distintas.
Em comparação com fontes de dados selecionadas, essa integração produz um procedimento de ponta a ponta significativamente mais eficaz. Isso tem várias vantagens:
- Menos administração: em vez de extrair dados de dados brutos e prepará-los para uso em um data warehouse, um data lakehouse permite que qualquer fonte vinculada a ele tenha seus dados disponíveis e organizados para utilização.
- Maior custo-benefício: Data lakehouses são construídos usando infraestrutura contemporânea que divide computação e armazenamento, simplificando a expansão do armazenamento sem aumentar o poder de computação. Apenas o uso de armazenamento de dados barato resulta em escalabilidade econômica.
- Melhor governança de dados: Data lakehouses são construídos com arquitetura aberta padronizada, permitindo mais controle sobre segurança, métricas, acesso baseado em função e outros componentes importantes de gerenciamento. Ao unificar recursos e fontes de dados, eles simplificam e aprimoram a governança.
- Padrões simplificados: como a conexão era altamente restrita na década de 1980, quando os data warehouses foram desenvolvidos pela primeira vez, os padrões de esquemas localizados eram frequentemente desenvolvidos dentro das empresas, até mesmo nos departamentos. Os data lakehouses usam o fato de que muitos tipos de dados agora têm padrões abertos para esquema, ingerindo várias fontes de dados com o esquema uniforme sobreposto para simplificar os procedimentos.
Desvantagens do Data Lakehouse
Apesar de toda a comoção em torno dos data lakehouses, é importante ter em mente que a ideia ainda é muito nova. Certifique-se de pesar as desvantagens antes de se comprometer totalmente com este novo design.
- Estrutura monolítica: o design all-inclusive de uma casa do lago oferece várias vantagens, mas também levanta alguns problemas. A arquitetura monolítica geralmente leva a um serviço ruim para todos os usuários e pode ser rígida e difícil de manter. Normalmente, arquitetos e designers gostam de uma arquitetura mais modular que pode ser personalizada para vários casos de uso.
- A tecnologia ainda não está lá: o objetivo final envolve uma quantidade significativa de aprendizado de máquina e inteligência artificial. Antes que as casas do lago possam funcionar como previsto, essas tecnologias devem se desenvolver ainda mais.
- Não é um avanço significativo em relação às estruturas existentes: ainda há um ceticismo considerável sobre quanto mais valor as casas de lago realmente contribuirão. Alguns detratores afirmam que um projeto de depósito de lago combinado com o equipamento automatizado apropriado pode alcançar eficiência comparável.
Desafios do Data Lakehouse
Pode ser difícil adotar a técnica de data lakehouse. Devido à complexidade de seus componentes, é incorreto ver o data lakehouse como uma estrutura ideal abrangente ou “uma plataforma para tudo”, por exemplo.
Além disso, devido à crescente adoção de data lakes, as empresas terão que mover seus data warehouses atuais para eles, contando apenas com uma promessa de sucesso sem benefício econômico demonstrável.
Se houver problemas de latência ou interrupções durante o processo de transferência, isso pode acabar sendo caro, demorado e talvez inseguro.
Os usuários de negócios devem adotar tecnologias altamente especializadas, de acordo com determinados fornecedores que comercializam soluções expressa ou implicitamente como data lakehouses. Eles podem nem sempre funcionar com outras ferramentas vinculadas ao data lake no centro do sistema, aumentando os problemas.
Além disso, pode ser difícil fornecer análises 24 horas por dia, 7 dias por semana durante a execução de cargas de trabalho críticas para os negócios, o que exige infraestrutura com escalabilidade econômica.
Conclusão
A mais nova variedade de data centers nos últimos anos é o data lakehouse. Integra uma variedade de campos, como tecnologia da informação, software de código aberto, computação em nuveme protocolos de armazenamento distribuído.
Ele permite que as empresas armazenem centralmente todos os tipos de dados de qualquer local, simplificando o gerenciamento e a análise. Data Lakehouse é um conceito bastante intrigante.
Qualquer empresa teria uma vantagem competitiva significativa se tivesse acesso a uma plataforma de dados completa que fosse tão rápida e eficiente quanto um data warehouse e, ao mesmo tempo, tão flexível quanto um data lake.
A ideia ainda está em desenvolvimento e permanece relativamente nova. Como resultado, pode levar algum tempo para determinar se algo pode ou não se espalhar.
Todos devemos estar curiosos sobre a direção que a arquitetura Lakehouse está tomando.
Deixe um comentário