Conoscere lo schema principale: stella contro fiocco di neve
Pubblicato: 2022-08-26Lo schema multidimensionale è progettato per creare un modello di sistemi di data warehouse.
Lo scopo principale di questi schemi è soddisfare le esigenze di database più grandi costruiti per scopi analitici (OLAP).
Questo metodo viene utilizzato per ordinare i dati nel database con una buona disposizione dei contenuti in un database. Lo schema consente ai clienti di porre domande associate alle tendenze commerciali o di mercato.
Inoltre, uno schema multidimensionale rappresenta i dati sotto forma di cubi di dati che consentono di visualizzare e modellare i dati da diverse prospettive e dimensioni.
È di tre tipi, ma molti confondono tra stella e fiocco di neve. Quindi, diventa difficile per loro scegliere il modello preferibile.
Se sei uno di loro, discutiamo le differenze tra lo schema a stella e quello a fiocco di neve, iniziando con la definizione e comprendendone vantaggi, sfide, diagramma e caratteristiche.
Che cos'è uno schema multidimensionale?
Schema si riferisce alla descrizione logica di un database completo e di data mart. Include il nome dei record e le relative descrizioni, inclusi gli aggregati e gli elementi di dati associati.
Un database utilizza generalmente un modello relazionale per descrivere, mentre un sistema di data warehouse utilizza un modello Schema.
Lo schema multidimensionale può essere definito con Data Mining Query Language (DMQL).
Per definire i data mart e i data warehouse, utilizza due primitive: definizione della dimensione e definizione del cubo.
Lo schema multidimensionale utilizza diversi tipi di modelli di schema. Sono:
- Schema a stella
- Schema del fiocco di neve
- Schema della galassia
Discutiamo di cosa sono gli schemi stella e fiocco di neve.
Stella contro fiocco di neve: cosa sono?

Cos'è lo schema a stella?
Uno schema a stella è un modello architetturale di data warehousing e business intelligence che richiede un'unica tabella dei fatti per archiviare i dati misurati e transazionali. Utilizza anche diverse tabelle dimensionali più piccole per contenere gli attributi sui dati aziendali.
Prende il nome dalla sua struttura. Come una stella, la tabella dei fatti prende il suo posto al centro del diagramma e le tabelle di piccole dimensioni siedono come rami rispetto alla tabella centrale per formare una struttura a stella.
Ogni schema a stella è costituito da una singola tabella dei fatti ma da più tabelle di piccole dimensioni. Le tabelle dei fatti includono dati specifici e misurabili che devono essere analizzati, come prestazioni registrate, dati finanziari o record di vendita. Può essere uno scatto di dati storici alla volta o transazionale.
Inoltre, lo schema Star è il più semplice e fondamentale tra i data warehouse e gli schemi di data mart. È efficiente nella gestione delle query di base. Lo schema a stella in genere supporta business intelligence, query ad hoc, applicazioni analitiche e cubi di elaborazione analitica online.
Lo schema a stella supporta anche il conteggio, la media, la somma e altre aggregazioni di molti record. Gli utenti possono facilmente filtrare e raggruppare le aggregazioni in base alle dimensioni. Ad esempio, gli utenti generano query come "trova tutti i record di vendita di giugno" o "analizza le entrate totali dell'ufficio XYZ nel 2022".
Che cos'è lo schema del fiocco di neve?

Uno schema a fiocco di neve è un modello di dati multidimensionale che può anche essere conosciuto come l'estensione dello schema a stella. Questo perché le tabelle delle dimensioni nello schema del fiocco di neve si suddividono in sottodimensioni.
Uno schema è un fiocco di neve se una e più tabelle dimensionali non si collegano direttamente alla tabella dei fatti ma si collegano invece tramite altre tabelle dimensionali.
Il fiocco di neve è un fenomeno che normalizza le tabelle dimensionali in uno schema a stella. Quando si normalizzano tutte le tabelle dimensionali, la struttura risultante assomiglia a un fiocco di neve contenente una tabella dei fatti al centro della struttura.
In parole semplici, lo schema del fiocco di neve consiste in una tabella dei fatti al centro del modello, che è collegata a tabelle dimensionali, che sono nuovamente collegate ad altre tabelle dimensionali. Questo schema viene utilizzato per migliorare le prestazioni delle query.
Il modello è stato creato per eseguire query rapide e flessibili su relazioni e dimensioni complesse. È utile per le relazioni da uno a molti e da molti a molti tra i vari livelli di dimensioni.
Grazie alla maggiore aderenza a più standard di normalizzazione, otterrai una maggiore efficienza di archiviazione. Tuttavia, la ridondanza dei dati è trascurabile e le prestazioni sono basse rispetto ai modelli di dati denormalizzati come lo schema a stella.
Stella contro fiocco di neve: come funzionano?

Come funziona uno schema a stella?
La tabella dei fatti al centro del modello a stella memorizza due tipi di informazioni: valori degli attributi numerici e dimensionali. Capiamoli con un esempio di database di vendita.
- I valori numerici sono univoci per ogni riga e punto dati. Questo non è correlato o correlato ai dati archiviati in un'altra riga. Questi sono fatti su una determinata transazione, come l'importo totale, la quantità dell'ordine, l'ora esatta, l'utile netto, l'ID dell'ordine, ecc.
- I valori degli attributi dimensionali non memorizzano direttamente alcun dato, ma memorizzano i valori di chiave esterna per la riga in una tabella dimensionale. Diverse righe nella tabella centrale faranno riferimento a queste informazioni, come il valore dei dati, l'ID dell'addetto alle vendite, l'ID della filiale, l'ID del prodotto e così via.
Le tabelle dimensionali memorizzano sempre le informazioni di supporto dalla tabella dei fatti. Ogni tabella dimensionale è correlata alla colonna di una tabella dei fatti insieme a un valore dimensionale e memorizza dati aggiuntivi su quel valore.
Esempio: la tabella delle dimensioni del dipendente utilizza l'ID dipendente come valore chiave e contiene anche informazioni quali nome, sesso, indirizzo e numero di telefono. Allo stesso modo, una tabella delle dimensioni del prodotto memorizza le informazioni, inclusi il nome del prodotto, il colore, la prima data di immissione sul mercato, il costo di produzione, ecc.
Come funziona uno schema di fiocchi di neve?

Pensa a un design a fiocco di neve con una scatola centrale e diverse connessioni attraverso quella scatola a punti diversi. Per mantenere i data mart e i data warehouse, entra in gioco il design dello schema del fiocco di neve.
È simile allo schema a stella ma con modifiche minime. A differenza dello schema a stella, lo schema del fiocco di neve estende le sue tabelle delle sottodimensioni, che sono collegate alle tabelle delle dimensioni.
Lo scopo principale di questo modello è normalizzare le informazioni denormalizzate del modello stellare. In questo modo, può risolvere problemi comuni associati a uno schema a stella.
Al centro dello schema, troverai una tabella dei fatti che si collega alle informazioni contenute nelle tabelle delle dimensioni. Queste tabelle si irradiano di nuovo verso l'esterno verso le tabelle delle sottodimensioni che contengono informazioni dettagliate che descrivono le informazioni della tabella delle dimensioni.
Esempio: lo schema del fiocco di neve contiene una tabella dei fatti di vendita e tabelle delle dimensioni dell'ubicazione del negozio, della riga, della famiglia, del prodotto e del tempo. Le dimensioni del mercato sono costituite da tabelle a due dimensioni, con il negozio come tabella delle dimensioni principali e l'ubicazione del negozio come tabella delle sottodimensioni. La dimensione del prodotto ha tre tabelle delle sottodimensioni che menzionano una tabella delle sottodimensioni del prodotto, della linea e della famiglia.
Stella contro fiocco di neve: caratteristiche

Caratteristiche dello schema a stella
- Lo schema a stella può filtrare i dati dai dati normalizzati per soddisfare le esigenze di data warehousing. La chiave univoca viene generata dalle informazioni associate per ciascuna tabella dei fatti per identificare ogni riga.
- Fornisce calcoli e aggregazioni veloci, come i ricavi delle entrate guadagnate e il totale degli articoli venduti alla fine di ogni mese. Questi dettagli possono essere filtrati in base alle esigenze inquadrando apposite query.
- È la misurazione di eventi che include valori numerici finiti costituiti dalla chiave esterna. Queste chiavi sono relative alle tabelle dimensionali. Esistono vari tipi di tabelle dei fatti che sono incorniciate con valori a livello atomico.
- La tabella dei fatti della transazione contiene dati su eventi specifici, come saldi e festività.
- I fatti di registrazione includono determinati periodi come le informazioni sull'account alla fine dell'anno o ogni trimestre.
- La tabella dimensionale fornisce dati dettagliati sugli attributi o record trovati nella tabella centrale.
- L'utente è in grado di progettare autonomamente un tavolo in base alle proprie esigenze.
- È possibile utilizzare lo schema a stella per accumulare tabelle di istantanee.
Caratteristiche dello schema del fiocco di neve
- Lo schema del fiocco di neve richiede poco spazio su disco.
- Questo modello è facile da implementare grazie alle sue tabelle dimensionali separate e principali.
- Le tabelle dimensionali contengono almeno due attributi per definire le informazioni a più grani.
- A causa di più tabelle, le prestazioni sono basse rispetto allo schema a stella.
- Lo schema del fiocco di neve ha il livello di integrità dei dati più elevato e basse ridondanza dovute alla normalizzazione.
Stella contro fiocco di neve: vantaggi

Vantaggi dello schema a stella
- Lo schema a stella è il modo più semplice tra gli schemi di data mart.
- Ha una semplice logica di segnalazione. Questa logica è implicita in modo dinamico.
- È progettato utilizzando cubi di alimentazione applicati tramite il processo di transazione in linea per far funzionare i cubi in modo efficiente ed efficace.
- Lo schema a stella è formato con una logica semplice e query facili da estrarre dal processo transazionale.
- Offre prestazioni migliorate per le applicazioni di reporting.
- Viene distribuito per controllare il ripristino rapido dei dati.
- Le informazioni filtrate e selezionate possono essere applicate facilmente in diversi casi.
Vantaggi dello schema del fiocco di neve
- Lo schema a stella viene utilizzato per sviluppare le prestazioni delle query a causa dei minori requisiti di archiviazione su disco.
- Offre una maggiore scalabilità nelle relazioni tra componenti e livelli dimensionali.
- È più facile da mantenere.
- Lo schema a stella offre un rapido recupero dei dati.
- È uno schema di dati comune e semplice per il data warehousing.
- Aiuta a migliorare la qualità dei dati.
- I dati strutturati riducono il problema dell'integrità dei dati.
Stella contro fiocco di neve: limiti
Limitazioni dello schema a stella
Ha un alto stato denormalizzato e di integrità. L'intero processo collasserà se l'utente non riesce ad aggiornare i dati. Anche la sicurezza e le protezioni sono limitate. Inoltre, lo schema a stella non è flessibile come il modello analitico. Non offre un supporto efficiente alle varie relazioni.

Limitazioni dello schema del fiocco di neve
Il limite principale che troverai con Snowflake sono gli sforzi di manutenzione aggiuntivi dovuti al numero crescente di tabelle di piccole dimensioni. Molte query complesse rendono difficile trovare i dati richiesti. Inoltre, il tempo di attuazione della domanda è elevato a causa delle tabelle più alte. Anche questo modello è rigido e richiede maggiori costi di manutenzione.
Stella contro fiocco di neve: differenze

Star e Snowflake sono tipi di schema multidimensionale ma hanno strutture e proprietà diverse. Il primo è come una stella e il secondo assomiglia a un fiocco di neve, definendo i loro nomi.
Nello schema a stella, solo un unico join crea una relazione tra la tabella dei fatti centrale e le tabelle delle dimensioni laterali. D'altra parte, nello schema del fiocco di neve, sono necessari più join per collegarsi alle tabelle delle dimensioni.
Lo schema a stella viene generalmente utilizzato quando si dispone di un numero inferiore di righe nella tabella delle dimensioni, mentre lo schema a fiocco di neve viene utilizzato quando una tabella delle dimensioni è relativamente grande.
Il diagramma seguente differenzia i due modelli e il modo in cui le tabelle delle dimensioni e la tabella dei fatti sono collegate in schemi diversi.
Parametri | Schema a stella | Schema del fiocco di neve |
Spazio sul disco | Lo schema a stella utilizza più spazio su disco. | Lo schema Snowflake utilizza meno spazio su disco. |
Ridondanza dei dati | Ha un'elevata ridondanza dei dati. | Ha una bassa ridondanza dei dati. |
Normalizzazione | Le tabelle dimensionali vengono denormalizzate, il che significa ripetere lo stesso valore all'interno della tabella. | Le tabelle dimensionali sono completamente normalizzate. |
Prestazioni di query | Richiede un tempo minimo per eseguire le query, con conseguente miglioramento delle prestazioni. | Richiede più tempo dello schema a stella per l'esecuzione della query, rendendola meno performante rispetto allo schema a stella. |
Complessità della query | La complessità della query è bassa. | La complessità della query è maggiore dello schema a stella. |
Manutenzione | A causa dell'elevata ridondanza dei dati, il mantenimento dello schema a stella è un po' difficile. | A causa della bassa ridondanza dei dati, è facile mantenere e modificare lo schema del fiocco di neve. |
Integrità dei dati | L'integrità dei dati è elevata perché i dati vengono archiviati in modo ridondante laddove sono presenti più copie nelle tabelle delle dimensioni. | L'integrità dei dati è bassa poiché normalizza completamente le tabelle delle dimensioni. |
Gerarchie | Le gerarchie per le tabelle delle dimensioni nello schema a stella vengono archiviate nella tabella delle dimensioni. | Le gerarchie sono suddivise in tabelle dimensionali separate. |
Progettazione DB | Ha un semplice design DB. | Ha un design DB molto complesso. |
Tabella dei fatti | Tabelle di dimensioni multiple circondano una tabella dei fatti. | La tabella dei fatti è circondata da tabelle dimensionali che sono anche circondate da tabelle di sottodimensioni. |
Impostare | Lo schema a stella è facile da progettare e impostare poiché le relazioni dirette lo rappresentano. | D'altra parte, lo schema del fiocco di neve è un po' complesso da configurare. |
Elaborazione del cubo | L'elaborazione del cubo è più veloce. | A causa dell'unione complessa, l'elaborazione del cubo è un po' lenta. |
Chiavi esterne | Ha un numero minimo di chiavi esterne. | Ha il numero massimo di chiavi esterne. |
Conclusione
Entrambi gli schemi Star e Snowflake sono utili in diversi settori. Quindi, decidere quale è il migliore tra loro si basa sulle loro esigenze.
Lo schema del fiocco di neve è l'estensione dello schema a stella, dove normalizza le tabelle delle dimensioni nello schema a stella.
Lo schema a stella è semplice nella progettazione, esegue le query più velocemente e l'installazione è semplice. D'altra parte, lo schema del fiocco di neve è più facile da mantenere, occupa meno spazio su disco ed è meno soggetto a problemi di integrità dei dati.
Quindi, uno schema a stella potrebbe essere l'opzione migliore se hai bisogno di un design semplice, meno chiavi esterne e un'elaborazione del cubo più veloce. Tuttavia, se hai bisogno di meno spazio su disco, bassa integrità dei dati e poca manutenzione, lo schema del fiocco di neve può essere più adatto.
Puoi anche esplorare alcune delle migliori soluzioni di database di grafici.