A granularidade de dados no Data Warehouse

Por Diego Elias | 31.07.2014 às 09:45 - atualizado em 30.06.2015 às 15:32

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.

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.