Un modello di data warehouse è una forma applicata di un modello di dati di sistema informatico. Nei sistemi informatici, il flusso di dati è modellato sulla base di informazioni teoriche al fine di testare le capacità ei limiti del sistema. Quando è nato il data warehousing, questi stessi modelli hanno iniziato a trovare applicazioni fisiche reali nella costruzione dei dati. Sarebbe simile a una persona che fa semplicemente problemi di matematica, e poi usa quelle equazioni per costruire un nuovo tipo di motore.
Ci sono diverse idee dietro un modello di data warehouse. Ognuno di essi ha i propri punti di forza e di debolezza, oltre a tipi di dati che è più adatto a gestire. Non è raro che diversi modelli di data warehouse o sistemi ibridi che sfruttano i punti di forza di più tipi esistano nello stesso sistema.
Il sistema Flat è il tipo di modello di data warehouse che molti utenti riconoscerebbero come il più semplice. Questa modalità di archiviazione dei dati prevede righe e colonne di informazioni interconnesse, simili a un foglio di calcolo. Mentre questo metodo è facile da leggere per gli umani, è più difficile per i computer e lento da correlare.
Un modello di data warehouse gerarchico archivia le informazioni in una serie continua di livelli. Ogni livello contiene informazioni che dipendono dalla generazione precedente. Questo è molto simile al modello di rete, che contiene anche una serie di livelli dipendenti. La differenza sta nelle loro dipendenze: in un sistema gerarchico, ogni blocco di dati può avere solo un livello di dipendenza più alto, ma in un modello di rete possono averne quanti ne hanno bisogno. In entrambi i casi, un singolo blocco di informazioni può connettersi a più blocchi sottostanti.
Un modello di data warehouse relazionale è una variante del sistema Flat. I dati sono contenuti in tabelle, simili a quelle di un sistema Flat, e ad ogni dato fondamentale viene assegnato un identificatore univoco. Questo identificatore viaggia insieme ai dati, garantendone l’unicità. Ad esempio, se un datore di lavoro ha due dipendenti con lo stesso nome, il loro identificatore li separerebbe comunque nel sistema. Questo identificatore è correlato attraverso l’intero sistema: se tutto funziona correttamente, ogni volta che qualcosa relativo alle informazioni univoche entra nel sistema, si correla con le informazioni preesistenti basate sul solo identificatore.
Il modello dimensionale si basa sul Gerarchico. Un singolo fatto viene utilizzato come punto di partenza, quindi ulteriori informazioni relative a quel fatto ne derivano. Un elemento come un numero di dipendente sarebbe un fatto iniziale; quindi le date relative a quel lavoratore, così come la retribuzione o le ferie, si collegherebbero ad esso quando entrano nel sistema.
I modelli di data warehouse relazionale e dimensionale sono i due stili più comuni. Esistono altri tipi di data warehousing, ma sono minori rispetto a questi. In genere, i nuovi modelli sono costruiti sui sistemi Flat, Gerarchico o Network; spesso, sono solo semplici miglioramenti al loro metodo di base di organizzazione.