Bir veri martının / deposunun yapı taşlarını tasarlamaya başlıyoruz ve tüm zaman dilimlerini destekleyebilmemiz gerekiyor (müşterilerimiz dünyanın her yerinden). Çevrimiçi (ve kitaplarda) tartışma okumaktan, ortak bir çözüm, ayrı bir tarih ve saat boyutunun yanı sıra olgu tablolarında bir zaman damgasına sahip olmak gibi görünüyor.
Ancak, yanıtlamakta zorlandığım soru, tarih ve saat boyutlarının dinamik saat dilimi gereksinimlerimi göz önünde bulundurarak benim için gerçekten ne işe yaradığıdır? Bir zaman boyutu biraz daha mantıklı ama tarih boyutuyla zor zamanlar geçiriyorum. Bir tarih boyutu için genel bir tasarım yaklaşımı genellikle gün adı, haftanın günü, ay adı vb. Özellikleri içerir. 31 Aralık 2013 Salı günü UTC'de Çarşamba günü saat 11:00 , 1 Ocak 2014 UTC + 2'den sonraki tüm saat dilimlerinde.
Yani her sorgu (ve rapor) tüm bu zaman dilimi dönüşümleri yapmak zorunda kalacak, o zaman sahip ve muhtemelen asla kullanmayacağım (bu gibi) bu özellikleri depolamak ne anlamı var? Bazı insanlar her saat dilimi için gerçek satırları olmasını önerir, ancak bu bana saçma geliyor. Her ay milyonlarca kayıt depolayabilmemiz gerekir.
Diğerleri, bir şey yapmakla birlikte, müşteri uygulamalarımın ve raporlarımın bir tarihten kolayca anlayabilmesi gereken bir şeyi başarmak için ekstra karmaşıklık ve ekstra eklemeler gibi görünüyor (raporlama öncelikle web tabanlı olacak) tarihlerin dönüştürülmesinde, görüntülenmesinde ve biçimlendirilmesinde yardımcı olacak sayısız kütüphane vardır).
Düşünebildiğim tek şey, tarih ve saate göre gruplamanın kolaylığı ve muhtemelen performansı, ancak bir uygulamanın datepart'a göre gruplandırmanın ne kadar kötü olduğudur (MS SQL kullanıyoruz, ancak milyonlarca satırı sorgulayacağız) veya düşünmeliyiz sadece saat, gün, ay ve yıl sayısından fazla olmayan son derece basit tarih ve saat boyutları, Pazartesi gibi çoğu değişmez zaman dilimleri devreye girdiğinde fazla bir şey ifade etmez mi?