
Data Warehouse
Un data warehouse nu este o bază de date cu tabele mai mari.
Este un mod diferit de a gândi datele — orientat spre analiză, istorie, decizii.
Diferența dintre un DWH care funcționează și unul care devine o problemă stă aproape întotdeauna în model. Tabele de fapte cu granularitatea greșită, dimensiuni prost proiectate, ierarhii care nu suportă interogările de agregare. Probleme care nu se văd în faza de dezvoltare, dar explodează când business-ul cere rapoarte pe care modelul nu le poate livra.
În această secțiune împărtășesc cazuri reale de proiectare și restructurare de data warehouse-uri: modelare dimensională, ierarhii echilibrate, slowly changing dimensions, strategii de încărcare. Nu teorie din cartea lui Kimball, ci soluții aplicate în producție pe sisteme care servesc decizii de afaceri reale.
Pentru că un data warehouse nu se construiește pentru a conține date.
Se construiește pentru a răspunde la întrebări.
Ierarhii dezechilibrate: când clientul nu are părinte și grupul nu are bunic
Un client cu o ierarhie pe trei niveluri — Top Group, Group, Client — unde nu toate ramurile sunt complete. Cum am echilibrat o ragged hierarchy cu self-parenting: cine nu are părinte devine propriul părinte.
SCD Tip 2: istoria pe care business-ul nu știa că o vrea
Un director comercial întreabă câți clienți avea regiunea Nord în iunie trecut. DWH-ul nu poate răspunde pentru că fiecare actualizare suprascrie datele anterioare. Cum am implementat o SCD Tip 2 cu chei surogat și date de valabilitate pentru a reda business-ului memoria istorică.
Granularitate greșită: când fact table nu răspunde la întrebările potrivite
O fact table construită pe totalul lunar al facturării părea perfectă. Apoi business-ul a cerut detalii pe produs, pe linie, pe client. Și data warehouse-ul a amuțit.


