Tabelas fatos são coleções de métricas associadas com
processos de negócios específicos. Estas métricas são armazenadas em colunas. Por
dedução, percebemos que este tipo de coluna é conhecido como Measures (métricas). Este tipo de coluna
é a essência de uma tabela Fato, são geralmente tipos numéricos que podem
sofrer agregações. Eles geralmente armazenam valores que são de interesse do
negócio, como total de vendas, quantidade de pedidos ou total de desconto.
Uma tabela Fato também é composta de Foreign Keys (chaves estrangeiras). Estas
colunas são um tipo a parte, pois são responsáveis pelo relacionamento entre as fatos e as dimensões. Em um relacionamento entre tabelas Fato e Dimensões, a Fato sempre será o lado Many (muitos). Quando agrupamos as Foreign Keys, geralmente
temos um identificador único da linha, o que podemos utilizar para compor nossa
Primary Key (Chave primaria).
Você também irá encontrar um tipo de campo muito comum em Data Warehouse, trata-se do Surrogate Key. Este tipo de coluna é único em uma
tabela Fato, identificando a linha exclusivamente.
Assim como em tabelas dimensões, temos as colunas do tipo
Lineage, que armazenam informações de processamento do Data Warehouse, são úteis
para auditoria e controle de carga. Este tipo de coluna nunca é exposto ao
usuário final.
Em resumo, temos as seguintes colunas em uma tabela Fato:
- Measures – são as métricas em si, essência de uma tabela Fato;
- Foreign Key – fazem as relações entre as tabelas Fatos e as Dimensões;
- Lineage – colunas opcionais, armazenam informações para auditoria;
- Surrogate Keys – Primary Key (chaves únicas) – identificam unicamente as linhas em uma tabela Fato.
As tabelas fatos armazenam geralmente a maior quantidade de
informação em um Data warehouse, grande parte do esforço de carga é empregado
em torno destas tabelas. Para uma boa performance e eficiência de um DW, é
importante a escolha dos tipos corretos de campos e forma de armazenamento das
colunas em uma tabela Fato, escolher um tipo inteiro em lugar de um tinyint
pode ser inofensivo quando tratamos com centenas de registros, mas pode
significar muito espaço quando tratamos de milhões de linhas.
Conhecer a composição de uma tabela Fato é essencial para
uma boa modelagem e assim aplicação de boas práticas em um DW.
;) até mais
Um comentário:
Ótimo conteúdo... parabéns!
Postar um comentário