Parte 4 - Descomplicando Soluções Analíticas


No último artigo, desmistificamos o processo de centralização dos dados, mergulhando no mundo do Data Warehouse e entendendo a grande mudança entre ETL e ELT. Agora que nossos dados brutos estão centralizados e prontos para o próximo passo, é hora de abordar um tópico onde a verdadeira mágica acontece, transformando dados crus em informações valiosas e acessíveis: a Modelagem de Dados para Análise.
Prepare-se para desvendar como a modelagem de dados não é apenas uma tarefa técnica, mas uma ponte essencial entre a complexidade dos dados e as necessidades do seu negócio.
Por Que a Modelagem é Necessária?
Imagine que sua empresa é uma empresa de software como serviço (SaaS). E o CEO, tem uma pergunta simples: "Fulano, qual a receita recorrente mensal (MRR) das novas assinaturas nesta região?". O Fulano aqui é o analista de dados, e ele sabe que a resposta está lá, mas precisa traduzir a lógica de negócios ("MRR de novas assinaturas é a soma das taxas mensais dos clientes que assinaram este mês e que estão ativos") para a lógica de dados ("as taxas mensais estão na tabela subscriptions
, preciso somar a coluna monthly_fee
, filtrar por status
\='active', e verificar a start_date
e a region
na tabela customers
através de um JOIN
").
O que acontece aqui? O Analista de Dados se torna um tradutor de dados. Ele entende a pergunta de negócio, mapeia-a para os dados, escreve a consulta (geralmente SQL), obtém os resultados e os formata e entrega para o CEO. Embora funcional, esse processo é um gargalo. Se o Analista de Dados estiver ocupado, de férias, ou sair da empresa, esse conhecimento é perdido ou atrasado. E o CEO precisa esperar horas ou dias por uma resposta que, idealmente, ele deveria conseguir sozinho.
A solução? Precisamos externalizar o conhecimento que está na cabeça do Analista de Dados para um sistema onde qualquer um possa entendê-lo. É aqui que entra a Modelagem de Dados. Ela não é apenas sobre otimização de performance ou explorabilidade, mas fundamentalmente sobre pegar dados brutos e transformá-los em um formato que seja imediatamente útil para medições de negócios.
A Importância da Camada de Modelagem de Dados
Na era ELT, onde os dados são carregados primeiro no Data Warehouse antes da transformação, a modelagem é realizada dentro do próprio Data Warehouse. Existem hoje diversas ferramentas que seguem a filosofia moderna de ELT, onde a transformação ocorre dentro do Data Warehouse, geralmente com SQL gerado automaticamente ou escrito diretamente, e com foco em reutilização de modelos, versionamento, e governança de métricas. Elas se conectam ao seu Data Warehouse, tratam a modelagem como a transformação de tabelas existentes em novas tabelas dentro do Data Warehouse, e geram SQL nos bastidores para executar essas transformações.
Essas ferramentas permitem que os usuários:
Anotem, gerenciem e rastreiem as mudanças nos modelos de dados ao longo do tempo.
Tracem a linhagem das transformações de dados.
Facilita a criação de novas transformações para atender necessidades que surgem no dia-a-dia, os desafios colocados pelas áreas de negócio.
Com uma camada de modelagem de dados bem mantida, todos ganham:
Qualquer usuário de negócio pode realizar análises de autoatendimento.
O analista de dados foca na manutenção do pipeline e da camada de modelagem, em vez de ser bombardeado com solicitações ad-hoc.
A empresa inteira tem uma camada de conhecimento de dados bem documentada e organizada.
Conceitos Essenciais
Vamos aprofundar nos conceitos essenciais que você encontrará ao trabalhar com uma camada de modelagem de dados.
Modelo de Dados (Data Model): Em vez de lidar diretamente com tabelas físicas, você cria um objeto abstrato sobre elas. Um modelo de dados é uma visão abstrata de uma tabela física do banco de dados, permitindo a manipulação sem afetar diretamente os dados subjacentes. Ele contém metadados adicionais, como descrições textuais, dimensões calculadas que capturam lógica de negócios e mapeamentos de relacionamento. Enquanto tabelas guardam dados, modelos de dados fornecem contexto.
Mapeamento de Relacionamento (Relationship Mapping): É a definição de como dois modelos de dados se relacionam, análogo ao conceito de chave estrangeira em bancos de dados relacionais. Isso permite construir modelos que derivam de outros modelos, não apenas de tabelas subjacentes.
Lógica de Campo Personalizado (Custom Field Logic): Permite criar campos calculados que combinam outros campos dentro do modelo. Por exemplo, você pode definir "receita média por cliente" combinando
monthly_fee
e o número deactive_customers
em uma tabela de assinaturas, encapsulando essa lógica diretamente no modelo. Isso incorpora a lógica de negócio diretamente nos modelos de dados, evitando que analistas precisem replicá-la repetidamente em consultas.Modelos Construídos sobre Outros Modelos (Models Built On Top of Other Models): Você pode criar um novo modelo transformado que se baseia em modelos existentes. Isso significa que um modelo pode ser uma
SELECT
statement queJOIN
s outros modelos, e o novo modelo será atualizado automaticamente quando os modelos subjacentes (ou suas tabelas) forem atualizados.Persistência do Modelo (Model Persistence): Permite que as transformações sejam persistidas como novas tabelas dentro do Data Warehouse. Isso é equivalente a uma "view materializada" em um banco de dados tradicional e é útil para melhorar a performance de relatórios, pois as consultas podem rodar sobre dados pré-calculados.
A essência do trabalho analítico é um processo contínuo de modelar tabelas brutas em modelos base e, em seguida, modelar modelos base em modelos transformados, criando uma teia de dados que representam o que o negócio precisa saber.
Os Princípios de Kimball: "Apenas o Suficiente"
Ao lado da camada de modelagem, é crucial entender a influência de Ralph Kimball e sua Modelagem Dimensional. Nos anos 90, Kimball introduziu o conceito de Star Schema, composto por:
Uma tabela de fatos (fact table): contém as medições e métricas primárias de um processo de negócio (ex: itens de linha de pedidos).
Muitas tabelas de dimensão (dimension tables): contêm atributos descritivos da tabela de fatos (ex: produtos, promoções, datas).
O Star Schema de Kimball foi revolucionário porque oferecia uma forma padronizada, flexível, extensível e performática de organizar dados para análise em bancos de dados relacionais (RDBMS). Ele lidava com a lentidão e o alto custo do hardware da época, garantindo que os dados já chegassem pré-processados e otimizados para consultas, exigindo menos poder computacional do Data Warehouse.
No entanto, o cenário mudou bastante nos últimos anos. Os Data Warehouses na nuvem, que antes eram caros e complexos, agora se tornaram acessíveis, fáceis de usar e comuns em muitas empresas. Hoje, os Data Warehouses modernos são:
Extremamente poderosos: usam arquiteturas de processamento massivamente paralelo (MPP) e armazenamento colunar, permitindo o processamento de milhões de linhas em segundos.
Custo-efetivos: cobram pelo uso (pay-per-usage), eliminando grandes investimentos iniciais em hardware.
Essa mudança fundamental significa que muitas das técnicas complexas de Kimball, embora ainda válidas como "melhores práticas", agora se tornam opcionais, e não requisitos rígidos. Por exemplo, a necessidade de criar "tabelas de snapshot" para gerenciamento de inventário ou "dimensões de alteração lenta (SCDs)" com lógicas complexas pode ser simplificada. Em vez disso, a abordagem moderna favorece:
Modelar apenas quando necessário ("just-in-time"): Comece com relatórios a partir de dados brutos e só modele formalmente quando as necessidades de relatórios se tornarem dolorosas. A facilidade de transformação dentro do Data Warehouse (graças ao ELT) permite essa flexibilidade.
Usar a tecnologia para substituir o trabalho manual: Em vez de manter pipelines ETL complexos para SCDs, por exemplo, o armazenamento barato e a capacidade de particionamento de tabelas em Data Warehouses modernos permitem "snapshots" diários ou semanais das dimensões, simplificando a lógica de consulta.
A grande sacada é que o custo de contratar um engenheiro de dados para manter fluxos de trabalho complexos geralmente supera o custo marginal de computação em um Data Warehouse de nuvem.
A Entrega Final: O Self-Service de Dados
A camada de modelagem de dados, combinada com a agilidade do ELT e o poder dos Data Warehouses modernos, entrega resultados e benefícios significativos:
Reusabilidade: Cada transformação se torna um "componente de dados" que pode ser reutilizado em múltiplos relatórios.
Consistência: A lógica de negócios é escrita uma vez no modelo de dados, evitando discrepâncias em métricas em diferentes relatórios.
Performance e Custo-efetivo: Dados transformados e agregados são processados uma única vez, reduzindo o tempo de processamento de relatórios e os custos gerais do servidor.
O objetivo final de todo esse esforço é o autoatendimento (self-service). Ferramentas como Power BI, Tableau e Looker permitem que usuários de negócios explorem dados por meio de interfaces visuais, sem precisar escrever SQL. Por trás das cenas, a camada de modelagem traduz suas seleções em consultas SQL otimizadas, entregando insights de forma rápida e confiável. Isso significa que sua organização não será mais um gargalo na equipe de dados.
Conclusão
A modelagem de dados, especialmente no paradigma ELT com ferramentas de camada de modelagem, é a chave para transformar seu Data Warehouse de um repositório de dados em uma fonte de inteligência de negócios acessível e consistente. Adotar essa abordagem não só otimiza processos e custos, mas, mais importante, capacita sua equipe a tomar decisões baseadas em dados de forma autônoma.
No próximo artigo, exploraremos como os dados modelados são, de fato, "usados" e entregues aos tomadores de decisão, mergulhando no fascinante mundo das ferramentas de Business Intelligence.
Até lá, que seus dados sejam sempre claros e seus insights, transformadores!
Subscribe to my newsletter
Read articles from Anderson Braz directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Anderson Braz
Anderson Braz
I'm Solutions Specialist and Data Engineer. Also i'm an Enthusiast in Open Software, Technologies and AI.