Hoje vamos comentar um pouco sobre as principais arquiteturas que são utilizadas amplamente no mercado para armazenamento e análise de dados.
DW (Data Warehouse)
Quando falamos de um banco de dados Data Warehouse (DW), geralmente podemos imaginar um banco com tamanho entre GB e TB, que é armazenado em um único local. Esse banco pode ser dividido em Data Marts e centraliza as informações de todo o negócio, unindo diferentes fontes de dados.
O DW é construído com tabelas Dimension e Fact, que armazenam as informações descritivas e quantitativas do negócio.
Esses dados são extraídos das fontes utilizando processos de ETL (extração, transformação e carga), e geralmente atualizados em batch, que ocorrem uma vez ao dia ou em alguns casos, com períodos menores, a cada uma hora ou 15 minutos, por exemplo.
MDW (Modern Data Warehouse)
O Modern Data Warehouse (MDW) surgiu com a ideia de melhorar a estrutura de DW convencional para comportar o aumento da demanda. Os bancos MDW possuem a estrutura Massively Parallel Processing (MPP), onde o processamento é divido entre diferentes nós.
Com ele, é possível escalar o processamento e o armazenamento. Como no DW, aqui os dados também são atualizados e incrementados no formato batch.
Essa estrutura de banco de dados pode ser contratada nos principais provedores de nuvem do mercado que oferecem PaaS, onde o processamento e armazenamento é adquirido conforme a demanda, para exemplificar, podemos citar o Dedicated SQL Pool do Azure.
DL (Data Lake)
Podemos definir o Data Lake como um disco que não possui limite tamanho. Ele é utilizado para centralizar as diferentes fontes e tipos de dados. Os dados são extraídos de diversas fontes ou salvos diretamente no Data Lake através de microsserviços, dispositivos de IoT etc.
Quando falamos de Data Lake, utilizamos o conceito de ELT (extração, carga e transformação), significa que os dados são primeiro extraídos na forma original, salvos no Data Lake, para posteriormente fazer as análises.
LH (Lakehouse)
O Lakehouse consegue unir as melhores características do DW e do Data Lake. Ele é construído com a utilização de um Storage Layer que roda em cima de Data Lake. O conceito surgiu após o adevento das ferramentas Delta Lake, Apache Iceberg e Apache Hudi, que são utilizadas nesse processo de construção do Storage Layer.
Com essas ferramentas, é possível aplicar controles de transação (ACID), Time Travel (possibilidade de voltar no tempo, considerando uma tabela do Data Lake), Structured Streaming, Schema Evolution, entre outros.
Não podemos esquecer de mencionar o Apache Spark, que é uma das ferramentas disponíveis no mercado, utilizada para construção do Lakehouse. O Apache Spark, é utilizado para processar e armazenar os dados no Lakehouse para que eles possam ser posteriormente consumidos pelos usuários e ferramentas de visualização.
Até o próximo post! 😊