Cos'è lo schema multidimensionale?
Lo schema multidimensionale è progettato appositamente per modellare i sistemi di data warehouse. Gli schemi sono progettati per soddisfare le esigenze specifiche di database di grandi dimensioni progettati per scopi analitici (OLAP).
Tipi di schema di data warehouse:
Di seguito sono riportati 3 tipi principali di schemi multidimensionali, ciascuno con i suoi vantaggi unici.
- Schema a stella
- Schema del fiocco di neve
- Schema della galassia
In questo tutorial imparerai di più su-
- Cos'è uno schema a stella?
- Cos'è uno schema a fiocco di neve?
- Schema a stella vs schema a fiocco di neve: differenze chiave
- Cos'è uno schema Galaxy?
- Cos'è lo schema dell'ammasso stellare?
Cos'è uno schema a stella?
Schema a stella nel data warehouse, in cui il centro della stella può avere una tabella dei fatti e un numero di tabelle delle dimensioni associate. È noto come schema a stella poiché la sua struttura ricorda una stella. Il modello di dati Star Schema è il tipo più semplice di schema Data Warehouse. È anche noto come Star Join Schema ed è ottimizzato per eseguire query su set di dati di grandi dimensioni.
Nel seguente esempio di Star Schema, la tabella dei fatti è al centro che contiene le chiavi di ogni tabella delle dimensioni come Dealer_ID, Model ID, Date_ID, Product_ID, Branch_ID e altri attributi come Unità vendute e ricavi.

Caratteristiche dello schema a stella:
- Ogni dimensione in uno schema a stella è rappresentata con l'unica tabella a una dimensione.
- La tabella delle dimensioni dovrebbe contenere la serie di attributi.
- La tabella delle dimensioni viene unita alla tabella dei fatti utilizzando una chiave esterna
- Le tabelle dimensionali non sono unite tra loro
- La tabella dei fatti conterrebbe chiave e misura
- Lo schema Star è di facile comprensione e fornisce un utilizzo ottimale del disco.
- Le tabelle dimensionali non sono normalizzate. Ad esempio, nella figura sopra, Country_ID non ha una tabella di ricerca Paese come avrebbe un progetto OLTP.
- Lo schema è ampiamente supportato da BI Tools
Cos'è uno schema a fiocco di neve?
Lo schema del fiocco di neve nel data warehouse è una disposizione logica delle tabelle in un database multidimensionale in modo tale che il diagramma ER assomigli a una forma di fiocco di neve. Uno schema a fiocco di neve è un'estensione di uno schema a stella e aggiunge dimensioni aggiuntive. Le tabelle delle dimensioni sono normalizzate, il che divide i dati in tabelle aggiuntive.
Nel seguente esempio di schema Snowflake, Country viene ulteriormente normalizzato in una singola tabella.

Caratteristiche dello schema del fiocco di neve:
- Il vantaggio principale dello schema a fiocco di neve è l'utilizzo di uno spazio su disco inferiore.
- Più facile da implementare una dimensione viene aggiunta allo schema
- A causa di più tabelle, le prestazioni delle query sono ridotte
- La sfida principale che dovrai affrontare durante l'utilizzo dello schema a fiocco di neve è che devi eseguire più sforzi di manutenzione a causa del maggior numero di tabelle di ricerca.
Schema a stella vs schema a fiocco di neve: differenze chiave
Di seguito è riportata una differenza fondamentale tra Star Schema e Snowflake Schema:
Schema a stella | Schema del fiocco di neve |
---|---|
Le gerarchie per le dimensioni vengono memorizzate nella tabella dimensionale. | Le gerarchie sono suddivise in tabelle separate. |
Contiene una tabella dei fatti circondata da tabelle delle dimensioni. | Una tabella dei fatti circondata da una tabella delle dimensioni che a loro volta sono circondate da una tabella delle dimensioni |
In uno schema a stella, solo un join singolo crea la relazione tra la tabella dei fatti e le tabelle delle dimensioni. | Uno schema a fiocco di neve richiede molti join per recuperare i dati. |
Design DB semplice. | Progettazione DB molto complessa. |
Anche la struttura dei dati denormalizzata e le query vengono eseguite più velocemente. | Struttura dei dati normalizzata. |
Elevato livello di ridondanza dei dati | Ridondanza dei dati di livello molto basso |
La tabella a dimensione singola contiene dati aggregati. | Dati suddivisi in diverse tabelle delle dimensioni. |
L'elaborazione del cubo è più veloce. | L'elaborazione del cubo potrebbe essere lenta a causa del join complesso. |
Offre query con prestazioni più elevate utilizzando Star Join Query Optimization. Le tabelle possono essere collegate con più dimensioni. | Lo schema Snowflake è rappresentato da una tabella dei fatti centralizzata che difficilmente si collegava a più dimensioni. |
Cos'è uno schema galattico?
Uno schema Galaxy contiene due tabelle dei fatti che condividono le tabelle delle dimensioni tra di loro. È anche chiamato Fact Constellation Schema. Lo schema è visto come una raccolta di stelle da cui il nome Galaxy Schema.

Come puoi vedere nell'esempio sopra, ci sono due tabelle dei fatti
- Reddito
- Prodotto.
Nelle condivisioni dello schema Galaxy le dimensioni sono chiamate dimensioni conformi.
Caratteristiche dello schema galattico:
- Le dimensioni in questo schema sono separate in dimensioni separate in base ai vari livelli di gerarchia.
- Ad esempio, se la geografia ha quattro livelli di gerarchia come regione, paese, stato e città, lo schema Galaxy dovrebbe avere quattro dimensioni.
- Inoltre, è possibile costruire questo tipo di schema suddividendo lo schema a una stella in più schemi a stella.
- Le dimensioni sono grandi in questo schema che è necessario costruire in base ai livelli di gerarchia.
- Questo schema è utile per aggregare tabelle dei fatti per una migliore comprensione.
Cos'è lo schema dell'ammasso stellare?
Lo schema Snowflake contiene gerarchie completamente espanse. Tuttavia, questo può aggiungere complessità allo schema e richiede join aggiuntivi. D'altra parte, lo schema a stella contiene gerarchie completamente compresse, che possono portare alla ridondanza. Quindi, la soluzione migliore potrebbe essere un equilibrio tra questi due schemi che è il design dello schema dell'ammasso stellare.

Le dimensioni sovrapposte possono essere trovate come fork nelle gerarchie. Un fork si verifica quando un'entità funge da genitore in due diverse gerarchie dimensionali. Entità fork quindi identificate come classificazione con relazioni uno-a-molti.
Sommario:
- Lo schema multidimensionale è progettato appositamente per modellare i sistemi di data warehouse
- Lo schema a stella è il tipo più semplice di schema di Data Warehouse. È noto come schema a stella poiché la sua struttura ricorda una stella.
- Uno schema a fiocco di neve è un'estensione di uno schema a stella e aggiunge dimensioni aggiuntive. Si chiama fiocco di neve perché il suo diagramma ricorda un fiocco di neve.
- In uno schema a stella, solo il join singolo definisce la relazione tra la tabella dei fatti e le tabelle delle dimensioni.
- Lo schema a stella contiene una tabella dei fatti circondata da tabelle delle dimensioni.
- Lo schema Snowflake è circondato dalla tabella delle dimensioni che a sua volta è circondata dalla tabella delle dimensioni
- Uno schema a fiocco di neve richiede molti join per recuperare i dati.
- Uno schema Galaxy contiene due tabelle dei fatti che condividono le tabelle delle dimensioni. È anche chiamato Fact Constellation Schema.
- Lo schema Star cluster contiene attributi di Star e Snowflake Schema.