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 / CambioHa dati più ridondanti e quindi è più difficile da modificare o mantenereQuesto schema è più facile da modificare e mantenere a causa della minore ridondanza
ComprensibilitàLa complessità della query è inferiore e quindi è facile da capireLe query applicate sono più complesse e quindi difficili da comprendere
Tempo di esecuzione della queryHa meno chiavi esterne e quindi l'esecuzione della query è più veloce e richiede meno tempoA causa di più chiavi esterne, il tempo di esecuzione della query è maggiore o la query viene eseguita lentamente
Tipo di data warehouseMeglio per i datamart che hanno una singola relazione, cioè uno a uno o uno a moltiMeglio per relazioni complesse, cioè da molte a molte relazioni
Numero di joinHa più numero di joinHa meno numero di join
Tabella dimensionaleHa solo una tabella delle dimensioni per ogni dimensioneHa 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 stellaBuono da usare quando la dimensione della tabella delle dimensioni è maggiore
Normalizzazione e denormalizzazioneSia 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 datiSegue un approccio top-downSegue 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ù -

  1. Codifica vs decodifica: differenze principali
  2. Differenza tra piccoli dati e big data
  3. Test funzionali vs Test non funzionali
  4. Test del fumo vs test di integrità
  5. Che cos'è il test di integrità e come funziona?

Categoria: