Nous commençons tout juste la conception d'un nouvel entrepôt de données et nous essayons de concevoir le fonctionnement de nos dimensions de date et d'heure. Nous devons être en mesure de prendre en charge plusieurs fuseaux horaires (probablement au moins GMT, IST, PST et EST). Nous pensions au départ que nous aurions une large dimension de date et d'heure combinée jusqu'à une granularité de peut-être 15 minutes, de cette façon, nous avons une clé dans nos tables de faits et toutes les différentes données de date et heure pour tous les fuseaux horaires pris en charge sont dans une table de dimension. (c.-à-d. clé de date, date GMT, heure GMT, date IST, heure IST, etc.)
Kimball suggère d'avoir une dimension de jour distincte de la dimension d'heure pour éviter que la table ne devienne trop grande (la boîte à outils de l'entrepôt de données p. 240), ce qui semble bien, mais cela signifierait que nous avons deux clés dans nos tables de faits pour chaque fuseau horaire. nous devons prendre en charge (un pour la date et un pour l'heure).
Comme je suis très inexpérimenté dans ce domaine, j'espère que quelqu'un connaît les compromis entre les deux approches, c'est-à-dire les performances par rapport à la gestion de toutes les différentes clés de fuseau horaire. Il y a peut-être d'autres approches aussi, j'ai vu certaines personnes parler d'avoir une ligne distincte dans la table de faits par fuseau horaire, mais cela semble être un problème si vos tables de faits sont des millions de lignes, vous devez la quadrupler pour ajouter des fuseaux horaires .
Si nous faisons le grain de 15 minutes, nous aurons 131400 (24 * 15 * 365) lignes par an dans notre tableau de dimension date-heure, ce qui ne semble pas trop horrible pour les performances, mais nous ne le saurons pas avant d'en avoir testé requêtes de prototype. L'autre souci d'avoir des clés de fuseau horaire distinctes dans la table de faits est que la requête doit joindre la table de dimension à une colonne différente en fonction du fuseau horaire souhaité, c'est peut-être quelque chose que SSAS prend en charge pour vous, je ne suis pas sûr .
merci pour toutes vos pensées, -Matt