Differenza tra schema a stella e schema a fiocco di neve
In questo articolo, discuteremo in dettaglio le differenze tra schema a stella e schema a fiocco di neve. Lo schema è il modo di descrivere logicamente tutti i database o i data warehouse utilizzando database relazionali. La descrizione può includere il nome e i dettagli dei record di qualsiasi tipo con tutti gli aggregati e gli elementi di dati. I data warehouse utilizzano lo schema Star, Snowflake, Fact Constellation e Galaxy.
Star Schema
È lo schema di data warehouse più semplice. Come suggerisce il nome, la sua struttura è come una stella. In questo schema, la tabella dei fatti è presente al centro e il numero di tabelle delle dimensioni è associato ad essa tramite chiave esterna e la tabella delle dimensioni contiene l'insieme di attributi. In questo schema, ogni dimensione è rappresentata solo con una singola tabella delle dimensioni ma le tabelle delle dimensioni non sono unite tra loro. I suoi vantaggi includono suddivisione, facile comprensione dei dati, utilizzo ottimale del disco e aumento delle prestazioni. Vediamo un esempio per una migliore comprensione.
Esempio:
Consideriamo un'azienda produttrice di frigoriferi e dobbiamo creare uno schema per le vendite di questa azienda produttrice di frigoriferi. Le vendite avranno le seguenti dimensioni:
- Articolo
- Posizione
- Ramo
- Tempo
Lo schema ha una tabella dei fatti al centro per le vendite che conterrebbe le chiavi da associare a ciascuna dimensione, con due misure: unità vendute e dollari venduti.
Schema di fiocchi di neve
Snowflake Schema è l'estensione dello schema a stella. Aggiunge ulteriori dimensioni ad esso. Come suggerisce il nome, sembra un fiocco di neve. In questo schema, le tabelle delle dimensioni sono normalizzate, ovvero i dati vengono suddivisi in tabelle aggiuntive. Dividere la tabella riduce la ridondanza e lo spreco di memoria. Ha la forma gerarchica di tabelle dimensionali. Le tabelle delle dimensioni e delle dimensioni secondarie sono associate alle chiavi primarie ed esterne nella tabella dei fatti. È più facile da implementare e utilizza meno spazio su disco. Poiché ha più tabelle, le prestazioni della query sono ridotte. È necessaria una maggiore manutenzione perché sono presenti più tabelle di ricerca. Vediamo un esempio per una migliore comprensione.
Esempio:
Considerando lo stesso esempio di cui sopra della società produttrice di frigoriferi, nello schema a fiocchi di neve la tabella dei fatti è la stessa dello schema a stella, ma la principale differenza sta nella definizione o nel layout delle tabelle delle dimensioni.
In questo schema, la tabella delle dimensioni singole dell'articolo è stata normalizzata ed è stata suddivisa ed è stata creata una nuova tabella dei fornitori con informazioni sul tipo di fornitore. Allo stesso modo, la tabella dimensionale della posizione viene normalizzata e i dati vengono suddivisi in una nuova tabella della città contenente i dettagli della città particolare.
Confronto testa a testa tra Star Schema e Snowflake Schema (Infographics)
Di seguito sono elencate le prime 9 differenze tra Star Schema vs Snowflake Schema.
Differenze chiave tra schema a stella e schema a fiocco di neve
Vediamo alcune importanti differenze tra Star Schema e Snowflake Schema.
Schema a stella:
- Le gerarchie di dimensioni nello schema a stella sono memorizzate nella tabella delle dimensioni.
- Contiene una tabella dei fatti centrale circondata dalla tabella delle dimensioni.
- In questo, un singolo join associava la tabella dei fatti a una tabella delle dimensioni.
- Ha un design semplice.
- La struttura dei dati è denormalizzata.
- La query viene eseguita a una velocità maggiore.
- In questo cubo, l'elaborazione è più veloce.
- Ha dati più ridondanti.
- Utilizza query semplici.
- Lo schema a stella è facile da capire.
- In uno schema a stella, viene consumato più spazio.
Schema di fiocchi di neve:
- Le gerarchie in uno schema a fiocco di neve sono archiviate in tabelle separate.
- Contiene anche una tabella dei fatti circondata dalla tabella delle dimensioni e queste tabelle delle dimensioni sono ulteriormente circondate da una tabella delle dimensioni.
- In questo schema, sono necessari molti join per recuperare i dati.
- Ha un design complesso.
- La struttura dei dati è normalizzata nello schema del fiocco di neve.
- La query viene eseguita relativamente più lentamente dello schema a stella.
- Nello schema del fiocco di neve, l'elaborazione del cubo è più lenta.
- Contiene dati meno ridondanti.
- Utilizza query complesse.
- Lo schema del fiocco di neve è relativamente difficile da capire quello schema a stella.
- Nello schema del fiocco di neve, viene consumato meno spazio.
Tabella comparativa Star Schema vs Snowflake Schema
Discutiamo i confronti tra Star Schema vs Snowflake Schema.
Caratteristica |
Star Schema |
Schema di fiocchi di neve |
Manutenzione / Cambio | Ha dati più ridondanti e quindi è più difficile da modificare o mantenere | Questo schema è più facile da modificare e mantenere a causa della minore ridondanza |
Comprensibilità | La complessità della query è inferiore e quindi è facile da capire | Le query applicate sono più complesse e quindi difficili da comprendere |
Tempo di esecuzione della query | Ha meno chiavi esterne e quindi l'esecuzione della query è più veloce e richiede meno tempo | A causa di più chiavi esterne, il tempo di esecuzione della query è maggiore o la query viene eseguita lentamente |
Tipo di data warehouse | Meglio per i datamart che hanno una singola relazione, cioè uno a uno o uno a molti | Meglio per relazioni complesse, cioè da molte a molte relazioni |
Numero di join | Ha più numero di join | Ha meno numero di join |
Tabella dimensionale | Ha solo una tabella delle dimensioni per ogni dimensione | Ha una o più tabelle delle dimensioni per una singola dimensione |
usabilità | Se la dimensione della tabella delle dimensioni è inferiore, cioè un numero inferiore di righe, si preferisce lo schema a stella | Buono da usare quando la dimensione della tabella delle dimensioni è maggiore |
Normalizzazione e denormalizzazione | Sia la tabella dei fatti che le tabelle delle dimensioni sono denormalizzate. | Una tabella dei fatti viene denormalizzata mentre la tabella delle dimensioni è normalizzata |
Modello di dati | Segue un approccio top-down | Segue un approccio dal basso verso l'alto |
Conclusione
In questo articolo, abbiamo discusso dettagliatamente dello Star Schema vs Snowflake Schema. Questi schemi sono usati per rappresentare il data warehouse. Sono simili in alcuni aspetti e diversi in altri. Snowflake è l'estensione dello schema a stella. Quando i dati sono maggiori, si preferisce il fiocco di neve in quanto riduce la ridondanza ma la stella è relativamente più popolare dello schema del fiocco di neve.
Articoli consigliati
Questa è una guida a Star Schema vs Snowflake Schema. Qui discutiamo anche le differenze chiave tra Schema stellare e Schema fiocco di neve con infografica e tabella comparativa. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Codifica vs decodifica: differenze principali
- Differenza tra piccoli dati e big data
- Test funzionali vs Test non funzionali
- Test del fumo vs test di integrità
- Che cos'è il test di integrità e come funziona?