Właśnie rozpoczynamy projektowanie nowej hurtowni danych i staramy się zaprojektować, jak będą działać nasze wymiary daty i godziny. Musimy być w stanie obsługiwać wiele stref czasowych (prawdopodobnie przynajmniej GMT, IST, PST i EST). Początkowo myśleliśmy, że będziemy mieli jeden szeroki łączny wymiar daty i czasu, może do 15 minut granulacji, w ten sposób mamy jeden klucz w naszych tabelach faktów, a wszystkie różne dane daty i godziny dla wszystkich obsługiwanych stref czasowych znajdują się w jednej tabeli wymiarów. (tj. klucz daty, data GMT, godzina GMT, data IST, godzina IST itp.)
Kimball sugeruje, aby mieć wymiar oddzielny od wymiaru pory dnia, aby zapobiec zbyt dużemu powiększeniu tabeli (zestaw narzędzi hurtowni danych, s. 240), co brzmi dobrze, ale oznaczałoby to, że mamy dwa klucze w naszych tabelach faktów dla każdej strefy czasowej musimy wesprzeć (jeden dla daty i jeden dla pory dnia).
Ponieważ jestem bardzo niedoświadczony w tym obszarze, mam nadzieję, że ktoś tam zna kompromisy między tymi dwoma podejściami, tj. Wydajność vs. zarządzanie wszystkimi różnymi kluczami strefy czasowej. Być może są też inne podejścia, widziałem, jak niektórzy mówią o oddzielnym wierszu w tabeli faktów na strefę czasową, ale wydaje się to problemem, jeśli faktyczne tabele mają miliony wierszy, to trzeba je czterokrotnie zwiększyć, aby dodać strefy czasowe .
Jeśli wykonamy 15-minutowe ziarno, będziemy mieli 131 400 (24 * 15 * 365) wierszy rocznie w naszej tabeli wymiarów daty i czasu, co nie brzmi zbyt okropnie dla wydajności, ale nie będziemy tego pewni, dopóki nie przetestujemy niektórych prototypowe zapytania. Innym problemem związanym z posiadaniem oddzielnych kluczy strefy czasowej w tabeli faktów jest to, że zapytanie musi połączyć tabelę wymiarów z inną kolumną w oparciu o pożądaną strefę czasową, być może jest to coś, czym zajmuje się SSAS, nie jestem pewien .
dzięki za wszelkie przemyślenia, -Matt