1. O que é OLAP?
OLAP (Online Analytical Processing) são técnicas e sistemas especialmente criados para análise multidimensional de dados grandes—permitindo navegação por cubos de informação (fatos e dimensões) com alta performance em consultas agregadas, filtros, drill-down, etc.
- OLTP x OLAP:
- OLTP (Transacional): Focado em operações rápidas de inserção, atualização e deleção de dados (sistemas operacionais, e-commerce, bancos).
- OLAP (Analítico): Focado em consultar, analisar e sumarizar grandes volumes de dados históricos (BI, relatórios, dashboards, Data Warehouse).
2. Arquitetura Estrela de Data Warehouse
Na modelagem estrela:
- Tabela fato: Armazena eventos transacionais (grande volume de dados), geralmente com medidas numéricas (ex: vendas, visitas).
- Tabelas dimensão: Armazenam os contextos/descritores dos fatos (ex: produto, cliente, data). Têm baixo volume, e são ligadas à fato por chaves substitutas.
Esquema Estrela:
A tabela fato fica no centro e cada dimensão "orbita" ao redor.
3. Exemplo Prático com ClickHouse
3.1. Modelagem: Cenário "Visitas em Site"
Vamos criar:
- Tabela fato:
fato_visita
- Tabelas dimensão:
dim_usuario, dim_pagina, dim_tempo
3.2. Comandos para Criar as Dimensões
Entre via terminal no ClickHouse com:
docker exec -it clickhouse clickhouse-client
a) Tabela Dimensão Usuário
CREATE TABLE dim_usuario (
id_usuario UInt32,
nome String,
cidade String
) ENGINE = MergeTree()
PRIMARY KEY id_usuario;
b) Tabela Dimensão Página