Differenza tra schema stella e fiocco di neve

Il data warehousing è un sistema progettato per archiviare e organizzare i dati negli archivi centrali, compresi i dati provenienti da altre fonti. È un concetto chiave di business intelligence in modelli di database relazionali che impiegano tecniche analitiche per integrare i dati aziendali in un database centrale.

Esistono due modelli architetturali comuni utilizzati nel data warehousing:

  • Star Scheme
  • Schema Snowflake

Entrambi sono i modelli di database multidimensionali comuni utilizzati per soddisfare le esigenze di database di grandi dimensioni per scopi analitici in veri e propri data warehouse.

Presentiamo un confronto imparziale tra i due per capire meglio quale sia l'uno migliore dell'altro.

Cos'è lo Star Schema?

È il modello architettonico più comune e più ampiamente utilizzato per lo sviluppo di data warehouse e data mart nei quali i dati sono organizzati in fatti e dimensioni. È il modello architettonico più semplice in cui una tabella dei fatti viene utilizzata per fare riferimento a tabelle a più dimensioni, imitando uno schema a stella.

Come suggerisce il nome, il diagramma assomiglia a una stella con la tabella dei fatti al centro e le tabelle a più dimensioni che si irradiano da essa, creando uno schema simile a una stella.

È anche noto come Star Join Schema e memorizza tutti gli attributi di una dimensione in una tabella dei fatti denormalizzata per navigare rapidamente attraverso insiemi di dati multidimensionali di grandi dimensioni che rappresentano tempi di risposta rapidi alle query.

Cos'è lo schema Snowflake?

È un'estensione dello schema a stella con funzionalità aggiunte. A differenza dello schema a stella, le tabelle delle dimensioni nello schema a fiocco di neve vengono normalizzate in più tabelle correlate.

Il modello architettonico rappresenta una disposizione logica delle tabelle in una gerarchia di relazioni molti-a-uno in cui le tabelle di più dimensioni vengono normalizzate in tabelle di sotto-dimensione, simili a un motivo simile a un fiocco di neve, da cui il nome.

È una versione più complessa dello schema a stella con più join tra le tabelle di dimensioni che rappresentano tempi di elaborazione lenti per il recupero dei dati, il che significa tempi di risposta delle query lenti. Riduce al minimo la ridondanza dei dati, che a sua volta migliora le prestazioni delle query.

Differenza tra schema stella e fiocco di neve

Architettura di Star and Snowflake Schema

Nei database relazionali, lo schema a stella è il modello architettonico più semplice utilizzato per lo sviluppo di data warehouse e data mart multidimensionali. Come suggerisce il nome, il modello assomiglia a una stella con punti che si irradiano dal centro, il che significa che la tabella dei fatti è il centro ei punti sono le tabelle delle dimensioni. Come altri modelli dimensionali, è costituito da dati sotto forma di fatti e dimensioni. Lo schema Snowflake, d'altra parte, è il modello architettonico più complesso che fa riferimento a un database multidimensionale con disposizione logica di tabelle sotto forma di un fiocco di neve.

Tabella delle dimensioni

Lo schema del fiocco di neve è abbastanza simile allo schema a stella, tranne per il fatto che può avere più di una tabella di dimensioni che vengono ulteriormente normalizzate in più tabelle correlate denominate tabelle di sotto-dimensione. Rappresenta più livelli di relazioni che si diramano in uno schema a fiocco di neve. Tuttavia, lo schema a stella memorizza tutti gli attributi correlati di una dimensione in una tabella di dimensioni denormalizzata che semplifica la comprensione e gestisce le query più semplici.

Modello di business di Star e Snowflake Schema

Una tabella dimensionale non può contenere righe duplicate in modelli di database relazionali per il semplice fatto che potrebbe creare ambiguità nel recupero. Ogni tabella dovrebbe avere una colonna o una combinazione di colonne chiamata la chiave primaria che identifica in modo univoco tutti i record della tabella. Una chiave esterna è una colonna o un gruppo di colonne che fornisce un collegamento tra due tabelle. Nello schema a stella, ogni tabella dimensionale ha una chiave primaria correlata a una chiave esterna nella tabella dei fatti. La gerarchia aziendale in uno schema a fiocco di neve è rappresentata da una chiave primaria / relazione di chiave esterna tra le tabelle di dimensioni.

Integrità dei dati nello schema di stelle e fiocchi di neve

La differenza chiave tra i due modelli di database relazionali è la normalizzazione. Le tabelle delle dimensioni nello schema a stella non sono normalizzate, il che significa che il modello di business utilizzerà uno spazio relativamente maggiore per memorizzare le tabelle di dimensioni e più spazio significa più record ridondanti che alla fine causerebbero incoerenze. Lo schema Snowflake, d'altra parte, riduce al minimo la ridondanza dei dati perché le tabelle delle dimensioni sono normalizzate e rappresentano conti ridondanti di gran lunga inferiori. La gerarchia aziendale e le sue dimensioni sono preservate attraverso l'integrità referenziale, il che significa che le relazioni possono essere aggiornate indipendentemente nei data warehouse.

Prestazioni di query

Lo schema a stella ha meno join tra la tabella delle dimensioni e la tabella dei fatti rispetto a quello dello schema a fiocco di neve che ha più join che tiene conto di una minore complessità delle query. Poiché le dimensioni in uno schema a stella sono collegate tramite una tabella dei fatti centrale, sono chiari percorsi di join che significano tempi rapidi di risposta alle query e tempi di risposta rapidi significano prestazioni migliori. Lo schema Snowflake ha un numero maggiore di join, quindi tempi di risposta alle query più lunghi che si traducono in query più complesse che alla fine compromettono le prestazioni.

Schema stella contro schema fiocco di neve: schema di confronto


Riassunto di Star Verses Snowflake Schema

Entrambi sono i modelli architettonici più comuni e ampiamente utilizzati per lo sviluppo di magazzini di database e data mart. Tuttavia, ogni modello di business ha la sua giusta quota di pro e contro. Mentre lo schema a stella è il modello multidimensionale più semplice utilizzato per organizzare i dati in fatti e dimensioni, è ideale per lo sviluppo di data mart che coinvolgono relazioni meno complesse. Lo schema Snowflake è una rappresentazione logica delle tabelle in un database multidimensionale in cui le dimensioni sono memorizzate in tabelle di sottodimensioni. La principale differenza tra i due è la normalizzazione. Le tabelle delle dimensioni in uno schema a fiocco di neve sono completamente normalizzate in più tabelle di ricerca, mentre in uno schema a stella le tabelle delle dimensioni vengono denormalizzate in una tabella dei fatti centrale.