Hogyan kezeljük az időzónákat az adattárházban?
Adott egy multinacionális vállalat, amely eltérő időzónájú országokban is értékesít. A kérdés az, hogy milyen időponton szerepeltessük az eseményeket az adattárházban? Lokális időponton, vagy valamilyen egyezményes (pl.: UTC) időpontra konvertáltan? Esetleg mindkettőn?
időzónák
A kérdés megválaszolásához nézzük meg mit szeretnének a felhasználók. Vegyünk példának egy légitársaságot (csak fiktív példa, a valóság nem ilyen :-) ):
- A marketing látni szeretné, hogy hányan repültek reggel, délelőtt, délután, stb. Ehhez lokális időpontra összegezve kell kimutatnunk az indulási időpontokat
- Ugyanakkor mindezek mellett a kontrollingnak szüksége van olyan adatokra is, amelyekből megállapíthatják, hogy mennyi időt töltöttek repüléssel a gépek. Ehhez viszont olyan időpontra van szükségük, amely az időzónáktól függetlenül, egységesen mutatja a felszállási és leszállási időpontokat. (UTC idő)
Látszik tehát, hogy bizonyos esetekben a lokális és az UTC időpont is szükséges lehet. Ha ezt elfogadjuk, akkor már csak egy kérdés maradt:
Hogyan kezeljük mind a két időpontot?
- a ténytáblában 2 külön oszlopban tárolhatnánk a két időpontot (lokális idő; UTC idő)
- csak a lokális időpontot tárolnánk le, és mellé eltárolnánk az időzónát is.
Kezdjük ez utóbbival:
1. Lokális idő + időzóna
Ha az időzónás tárolás mellett döntenénk, akkor lekérdezés időben kéne a felhasználóknak konvertálni az időpontokat UTC időre.
2. Lokális idő + UTC idő
Ha viszont a betöltés során letároljuk mindkét időpontot, akkor a felhasználók mentesülnek az állandó konvertálástól. Igaz, hogy így vesztünk némi helyet a lemezen, de nem feltétlenül a helytakarékosságra kell optimalizálnunk...
Konklúzió: Célszerű mindkét időpontot letárolni, mert ez az ami nagyobb elégedettséggel tölti el felhasználóinkat. Persze csak akkor, ha az UTC idő tényleg szükséges...
Kővári Attila - BI projekt
hozzászólás
Földi Tamás
p, 03/18/2011 - 18:30
Permalink
Normálisabb
Kővári Attila
szo, 03/19/2011 - 08:14
Permalink
Időzónát is tartalmazó adattípusok
Marton Tamás
szo, 03/19/2011 - 09:54
Permalink
Szia Attila, A helyi idő
Földi Tamás
szo, 03/19/2011 - 12:52
Permalink
DateTime típus
Kővári Attila
szo, 03/19/2011 - 19:08
Permalink
Szia Tamás, Ennek a blognak
Földi Tamás
szo, 03/19/2011 - 19:30
Permalink
Semmi ilyesmi, én kérek
Kővári Attila
szo, 03/19/2011 - 19:30
Permalink
DateTime
Új hozzászólás