#mari talks 5: Como organizar dados — parte dois: Data Warehouse vs. Data Lake

Mari Martignago
6 min readJan 30, 2024

--

Essa é a segunda edição dos textos sobre organização de dados. na primeira edição falei sobre data lake, você pode conferir o conteúdo aqui.

Vamos explorar as diferenças essenciais entre Data Warehouse e Data Lake? nessa edição vou continuar desvendando o tema “armazenamento de dados, dessa vez com foco em data warehouse. Uma jornada elucidativa pelos mundos do armazenamento de dados, revelando como essas tecnologias impactam a análise e o gerenciamento eficiente de informações.

Introdução

Para facilitar o entendimento sobre armazenamento de dados, vou abordar nessa edição o conceito de data warehouse. Pode haver confusão entre o entendimento de data lake X data harehouse. Afinal, podem parecer a mesma coisa: um local para armazenamento de dados onde pode-se encontrar os dados e processá-los para determinados propósitos. Porém, há sim algumas diferenças.

É de suma importância reconhecer que um eficiente gerenciamento de dados é essencial para o sucesso de algoritmos, modelos e LLMs (Machine Learning Models) avançados. A engenharia e o gerenciamento de dados manterão um papel central em um futuro próximo, à medida que as organizações enfrentam conjuntos de dados cada vez mais complexos.

Data warehouse

Para aqueles que não estão familiarizados, um data warehouse é um depósito organizado que centraliza os dados de uma organização. Sua função vai além de consolidar informações, incluindo a facilitação da integração de dados provenientes de diversas fontes, bem como o rastreamento de dados históricos.

Ou seja, um Data Warehouse é como um único repositório de dados coletados de diferentes fontes, usando para isso vários processos de ETL.

Essas fontes de dados podem ser muito diversas entre si, fazendo com que haja diferentes representações de dados, e também podendo levar a informações divergentes.

Dá para pensar no Data Warehouse como um banco de dados relacional, onde os dados processados são armazenados. Mas não é somente isso.

Há um conceito denominado LSA — Layered Scalable Architecture (Arquitetura Escalável em Camadas). Essa arquitetura incorpora uma divisão lógica de estruturas com dados em diversos níveis funcionais. Os dados são transferidos entre os níveis e passam por transformações, garantindo que, ao final do processo, estejam disponíveis como informações coesas e apropriadas para análise.

Camada de Dados Primários ou Staging

Nesta fase, as informações são importadas dos sistemas de origem em sua qualidade original, e o histórico completo de alterações é preservado. Essa camada também atua como uma abstração, ocultando as camadas subsequentes de armazenamento da representação física dos dados provenientes das fontes, conforme são coletados e transformados. É comum a utilização de pipelines de ETL nessa camada para realizar a transferência dos dados dos sistemas de origem para o Data Warehouse.

Camada Central de Dados ou Core Data Layer

Esta camada desempenha um papel fundamental como um componente operacional, concentrando-se na agregação, normalização, deduplicação e limpeza dos dados, resultando em estruturas e colunas padronizadas.

É neste ponto que se realiza o trabalho primordial em termos de qualidade e transformações de dados, com o objetivo de abstrair os consumidores das complexidades inerentes ao arranjo lógico das fontes de dados e à necessidade de comparação entre elas. Além disso, busca-se garantir a integridade e qualidade dos dados. Todas as transformações e atualizações no estado do sistema derivam diretamente do modelo de dados.

Camada de Data Mart

Nesta etapa, os dados processados, limpos e agregados são transformados em estruturas que facilitam a análise e a utilização em painéis de Business Intelligence (BI) ou em outros sistemas de consumo. Em muitos casos, ocorre a desnormalização dos dados nesse nível.

Os Data Marts proporcionam visões distintas dos dados, específicas para cada domínio, e têm a capacidade de extrair informações de qualquer camada anterior.

Alguns exemplos de camada de Data Mart em diferentes contextos:

Vendas e Marketing:

  • Vendas Regionais: Contendo informações específicas de vendas por região, produtos mais vendidos e desempenho de equipes de vendas locais.
  • Campanhas de Marketing: Armazenando dados relacionados ao desempenho de campanhas publicitárias, resposta de clientes e análises de retorno sobre investimento.

Saúde:

  • Histórico de Pacientes: Armazenando informações médicas, histórico de consultas e tratamentos específicos de pacientes.
  • Eficiência Operacional em Hospitais: Incluindo dados sobre a utilização de recursos, tempos de espera e eficiência operacional.

Estes são apenas alguns exemplos e a escolha de Data Marts dependerá das necessidades específicas e dos domínios de negócios de uma organização. Cada Data Mart é projetado para fornecer informações valiosas em áreas específicas, contribuindo para uma visão mais detalhada e especializada dos dados.

Camada de Serviço ou Service Layer

Responsável pelo controle das camadas mencionadas anteriormente, esta instância não armazena dados, mas administra metadados e outras estruturas relacionadas à qualidade dos dados. Isso possibilita a auditoria abrangente de dados, MDM (Master Data Management), governança de dados, segurança e gerenciamento de carga. Além disso, ferramentas de monitoramento e diagnóstico de erros são acessíveis nesta camada, acelerando significativamente o processo de resolução de problemas.

Embora os Data Warehouses tenham a capacidade de lidar com dados não estruturados, sua eficiência nesse aspecto é limitada. Armazenar uma vasta quantidade de dados em um banco de dados ou Data Warehouse pode ser dispendioso, especialmente quando se lida com grandes volumes. Adicionalmente, os dados destinados aos Data Warehouses requerem processamento prévio antes de serem incorporados a algum esquema ou estrutura, demandando a definição de um modelo de dados, o que nem sempre é viável.

Em resposta a essas limitações, empresas passaram a adotar os Data Lakes, que centralizam todos os dados corporativos, tanto estruturados quanto não estruturados, em uma única plataforma em grande escala. Essa abordagem visa otimizar os custos associados, permitindo uma gestão mais econômica dos dados.

Principais diferenças em datawarehouse e datalake

  • Diferentes Níveis de Compreensão dos Dados: Nos Data Lakes, os dados são preservados, independentemente da sua estrutura, uma vez que são armazenados em um formato não processado. Esse atributo se revela particularmente vantajoso em ambientes com grandes volumes de dados, nos quais não é possível antecipar previamente quais informações serão relevantes durante a análise.
  • Diferentes finalidades: As finalidades divergem entre Data Warehouses e Data Lakes. Enquanto os Data Warehouses são utilziados por gerentes, analistas e demais usuários finais de negócios, os Data Lakes têm sua principal utilização voltada para cientistas de dados e engenheiros de dados. Importante ressaltar que o Data Lake armazena predominantemente dados brutos, não estruturados e semiestruturados, tais como telemetria, gráficos, registros de comportamento do usuário, métricas de sites e sistemas de informação, entre outros, com diferentes formatos de armazenamento. Embora ainda não sejam ideais para análises diárias em sistemas de Business Intelligence (BI), os Data Lakes podem ser explorados por cientistas de dados para testar novas hipóteses de negócios por meio de algoritmos estatísticos e métodos de aprendizado de máquina.
  • Métodos Distintos de Processamento. O ETL representa um paradigma amplamente adotado no processamento de dados em muitos data warehousing renomados. Basicamente, envolve a extração de dados de uma ou várias fontes, seguida pela limpeza e conversão desses dados nas informações estruturadas necessárias, antes de serem carregadas. No contexto dos Data Lakes, recorremos a outro paradigma, conhecido como ELT (Extract, Load, Transform), em que a transformação ocorre em estágios subsequentes e apenas quando necessário, diferentemente do ETL que realiza a transformação antecipadamente. Lembrando que essa é uma regra geral, e podem haver diferenças por aí, principalemente com a utilização de ETL ou ELT.
  • Diferentes abordagens de design: O design do Data Warehouse, por sua vez, fundamenta-se na lógica de manipulação de dados relacionais, adotando a terceira forma normal para armazenamento normalizado, e esquemas em estrela (stacr schema) ou floco de neve (snowflake) para armazenamento. No desenvolvimento do Data Lake, as pessoas arquiteta de Big Data e engenheira de dados dedicam maior atenção aos processos de ETL, considerando a diversidade de fontes e consumidores de informações. A questão do armazenamento é abordada de maneira mais direta: é necessário apenas um sistema de arquivos dimensionável, tolerante a falhas e relativamente econômico, como o HDFS ou o AWS S3.
  • Divergência de Custos: Tipicamente, a construção de um Data Lake é realizada com base em servidores acessíveis que utilizam Apache Hadoop, dispensando licenças dispendiosas e hardware poderoso. Isso contrasta com os custos substanciais associados à manutenção, projeto e aquisição de plataformas especializadas para Data Warehouse, como SAP, Oracle, Teradata, entre outras.

Mudando um pouco de assunto…

Entretenimento

🍿 A recomendação do momento: o filme Saltburn.

No enigmático filme de drama e suspense, um estudante em busca de sua identidade na prestigiosa Faculdade de Oxford é irresistivelmente atraído para o intrigante mundo de um aristocrata encantador. Cativado pela promessa de um verão memorável, o aluno aceita o convite para explorar Saltburn, a imponente mansão que abriga a família excêntrica do aristocrata. À medida que os dias de verão se desenrolam, segredos enterrados e relações complexas emergem, lançando o protagonista em um labirinto emocional e psicológico, onde a busca por identidade se entrelaça com o manto de mistério que envolve Saltburn. O filme promete uma narrativa envolvente, repleta de suspense e intriga, enquanto o protagonista enfrenta desafios que vão além das fronteiras da academia, adentrando um mundo de luxo, tradição e segredos sombrios.

--

--