Dimensió temps: Esquema d'estrella o floc de neu?

 

Hola a tots:

Estic preparant el disseny d'un DW per utilitzar-lo amb Pentaho, i en revisar la definició de la dimensió temps m'han sorgit alguns dubtes. Us conte:

És un Dw per anàlisi de vendes. En el model tinc dues taules de fets, una per a les vendes, la granuralidad és a nivell de dia, client, producte, etc, i una altra taula de fets on es registra la informació de la previsió de vendes (aquesta taula té un nivell de granuralidad diferent, sent a nivell de mes i canal de client (que és un dels atributs de la dimensió client)). Les claus de la taula de fets no són per tant les claus de la taula de dimensions, sinó un component dins de la dimensió.

 

 

 

Model Logico Inicial

Tenint en compte això, em sorgeixen bastants dubtes sobre el millor disseny a triar per construir la base de dades:

1) En tenir les taules de fets en un nivell diferent de granuralidad, és necessari o recomanable passar les dimensions implicades a un esquema d'estrella perquè després funcionin correctament les consultes?.

2) Pot donar-se el cas que aspectes de disseny com aquest siguin condicionats per l'eina que utilitzarem posteriorment?. Per exemple, si es que vaig a utilitzar Pentaho, o Microstrategy, etc, pot donar-se el cas que el utilitzar una eina o una altra aquest determinant una forma de modelar en alguns aspectes concrets?. He llegit en algun bloc que per exemple, Microstrategy recomana passar-nos a un esquema de floc de neu (fins i tot els exemples que proporciona amb la seva plataforma, els Analytic Modules, estan construïts d'aquesta manera).

3) ¿Podríem generalitzar que per a un esquema senzill utilitzem sense problemes un esquema estrella total, però en el moment que compliquem el model amb més taules de fets i diferents granuralidades és millor passar-se a floc de neu?. Per seguir la metodologia de Kimball pel que fa a les dimensions conformades cal fer també això, i així poder abordar els models complexos amb múltiples taules de fets?.

Espero que em feu un cable, sobretot aquells que teniu experiència en la construcció de DW. És un tema que per mi és una mica confús (a més en els exemples sempre s'utilitzen esquemes en estrella senzills per il lustrar, que després no corresponen amb la realitat més complexa).

Per liar encara més la història, mirar com Microstrategy implementa la dimensió temps en els seus Analytic Modules, com us deia abans:

 

No és exactament un floc de neu i des de la data podem arribar al mes, al trimestre o l'any (és un graf ciclic).
En el Bloc la Mina Digital hi ha una interessant entrada sobre el dilema. El curiós és que no es decanta clarament per cap, tot i que dóna unes premisses que ens poden ser útils per la decisió.