A granularidade de dados no Data Warehouse

Por Diego Elias | 31 de Julho de 2014 às 09h45

Além dos tipos de cargas (incremental ou total), devemos também decidir sobre qual será a granularidade das tabelas Fatos. A granularidade é uma das mais importantes definições na modelagem de dados do Data Warehouse (DW) e requer atenção.

O grão é o menor nível da informação e é definido de acordo com as necessidades elencadas no início do projeto. Ele é determinado para cada tabela Fato, já que normalmente as Fatos possuem informações e granularidades distintas.

É importante entender o relacionamento existente entre o detalhamento e a granularidade. Quando falamos de menor granularidade, ou granularidade fina, significa maior detalhamento (menor sumarização) dos dados. Maior granularidade, ou granularidade grossa, significa menor detalhamento (maior sumarização). Assim podemos notar que a granularidade e o detalhamento são inversamente proporcionais.

Assista Agora: Nunca mais contrate funcionários para sua empresa! Comece o ano em uma realidade completamente diferente!

Granularidade

A granularidade afeta diretamente no volume de dados armazenados, na velocidade das consultas e no nível de detalhamento das informações do DW. Quanto maior for o detalhamento, maior será a flexibilidade para se obter respostas. Porém, maior será o volume e menor a velocidade das consultas. Já quanto menor for o detalhamento, menor será o volume, maior a sumarização dos dados e melhor será a performance. Entretanto, menor será a abrangência, ou seja, maior será as restrições das consultas às informações.

A sumarização e o detalhamento do grão também podem ser compreendidos pelas operações de Drill Down e Roll Up (Drill Up). Com o Drill Down estamos diminuindo o nível da granularidade, aumentando assim o nível de detalhes. Ao contrário disso, o Roll Up aumenta o nível da granularidade, diminuindo dessa forma, o nível de detalhamento das informações.

Granularidade

Deve ser avaliado o equilíbrio entre detalhamento e sumarização para que a granularidade seja modelada com a melhor eficiência e eficácia para as consultas dos usuários, sempre levando em consideração as necessidades levantadas no começo do projeto. Nada vai adianta deixar a granularidade alta sem que seja alcançado o grão exigido pelo negócio.

Também é necessário avaliar o tipo de métrica empregada nas Fatos. No aspecto de obtenção de respostas, as Fatos com métricas aditivas terão uma melhor flexibilidade para se ter menor granularidade. As métricas semi-aditivas, como saldo, ou métricas não-aditivas, como percentuais, serão indicadas para se definir uma alta granularidade.

Portanto, devemos analisar os diversos fatores e aspectos para uma melhor definição dos grãos das tabelas Fatos. As questões de volume de dados, performance e requisitos devem ser ponderados para se chegar a uma correta decisão. Por fim, a granularidade se trata de um assunto de grande importância e enorme impacto, que se mal dimensionado, pode acarretar até mesmo na inviabilização do projeto.

Gostou dessa matéria?

Inscreva seu email no Canaltech para receber atualizações diárias com as últimas notícias do mundo da tecnologia.