03/29/2024

Aflați despre schema majoră: Star vs. Snowflake

Schema multidimensională este concepută pentru a construi un model de sisteme de depozit de date.

Scopul principal al acestor scheme este de a răspunde nevoilor bazelor de date mai mari construite în scopuri analitice (OLAP).

Această metodă este folosită pentru a ordona date în baza de date cu o bună aranjare a conținutului într-o bază de date. Schema permite clienților să pună întrebări asociate cu tendințele de afaceri sau ale pieței.

În plus, o schemă multidimensională reprezintă datele sub formă de cuburi de date care permit vizualizarea și modelarea datelor din perspective și dimensiuni diferite.

Este de trei tipuri, dar mulți confundă între stea și fulg de nea. Prin urmare, devine dificil pentru ei să aleagă modelul preferat.

Dacă sunteți unul dintre ei, să discutăm despre diferențele dintre schema stea și fulg de zăpadă, începând cu definirea și înțelegerea beneficiilor, provocărilor, diagramei și caracteristicilor acestora.

Ce este o Schemă Multidimensională?

Schema se referă la descrierea logică a unei baze de date complete și a magazinelor de date. Include numele înregistrărilor și descrierile acestora, inclusiv agregatele și elementele de date asociate.

O bază de date utilizează în general un model relațional pentru a descrie, în timp ce un sistem de depozit de date utilizează un model Schema.

Schema multidimensională poate fi definită cu Data Mining Query Language (DMQL).

Pentru a defini marturile de date și depozitele de date, utilizează două primitive – definiția dimensiunii și definiția cubului.

Schema multidimensională utilizează diferite tipuri de modele de schemă. Sunt:

  • Schema stea
  • Schema fulgilor de nea
  • Schema Galaxy

Să discutăm ce sunt schemele stea și Fulgi de zăpadă.

Star vs. Snowflake: Ce sunt ei?

Ce este Star Schema?

O schemă stea este un model arhitectural de depozitare a datelor și business intelligence care necesită un singur tabel de fapte pentru a stoca date măsurate și tranzacționale. De asemenea, utilizează diferite tabele cu dimensiuni mai mici pentru a deține atribute despre datele comerciale.

Este numit conform structurii sale. Ca o stea, tabelul de fapte își ia locul în centrul diagramei, iar tabelele dimensionale mici stau ca ramuri pe masa centrală pentru a forma o structură asemănătoare stelelor.

Fiecare schemă stea constă dintr-un singur tabel de fapte, dar mai multe tabele cu dimensiuni mici. Tabelele de fapte includ date specifice, măsurabile, care trebuie analizate, cum ar fi performanța înregistrată, datele financiare sau înregistrările vânzărilor. Poate fi o clipă de date istorice la un moment dat sau tranzacțional.

Mai mult, schema Star este cea mai simplă și cea mai fundamentală dintre depozitele de date și schemele de data mart. Este eficient în gestionarea interogărilor de bază. Schema stea acceptă în general business intelligence, interogări ad-hoc, aplicații analitice și cuburi de procesare analitică online.

Schema cu stea acceptă, de asemenea, numărare, medie, sumă și alte agregări ale multor înregistrări. Utilizatorii pot filtra și grupa cu ușurință agregările după dimensiuni. De exemplu, utilizatorii generează interogări precum „găsiți toate înregistrările vânzărilor în iunie” sau „analizați veniturile totale de la biroul XYZ în 2022”.

  Lista cu 31 de instrumente AI cele mai puternice de marcat pentru mai târziu [2023]

Ce este Schema fulgilor de zăpadă?

O schemă fulg de zăpadă este un model de date multidimensional care poate fi cunoscut și ca extensia schemei stelare. Acest lucru se datorează faptului că tabelele de dimensiuni din schema fulg de zăpadă se împart în subdimensiuni.

O schemă este un fulg de zăpadă dacă unul sau mai multe tabele de dimensiuni nu se leagă direct la tabelul de fapte, ci mai degrabă se conectează prin alte tabele de dimensiuni.

Fulgul de zăpadă este un fenomen care normalizează tabelele de dimensiuni într-o schemă în stea. Când normalizați toate tabelele de dimensiuni, structura rezultată seamănă cu un fulg de zăpadă care conține un tabel de fapte în mijlocul structurii.

Cu cuvinte simple, schema fulg de zăpadă constă dintr-un tabel de fapte în mijlocul modelului, care este conectat la tabelele de dimensiuni, care sunt din nou legate de alte tabele de dimensiuni. Această schemă este utilizată pentru a îmbunătăți performanța interogărilor.

Modelul este creat pentru interogări rapide și flexibile în relații și dimensiuni complexe. Este util pentru relații de la unul la mai mulți și de la multe la multe dintre diferitele niveluri de dimensiuni.

Datorită respectării mai stricte la mai multe standarde de normalizare, veți obține mai multă eficiență de stocare. Dar, redundanța datelor este neglijabilă, iar performanța este scăzută în comparație cu modelele de date denormalizate, cum ar fi schema stea.

Star vs. Snowflake: Cum funcționează?

Cum funcționează o schemă stelară?

Tabelul de fapte din mijlocul modelului stele stochează două tipuri de informații – valorile atributelor numerice și de dimensiune. Să le înțelegem cu un exemplu de bază de date de vânzări.

  • Valorile numerice sunt unice pentru fiecare rând și punct de date. Acest lucru nu se corelează sau se referă la datele stocate pe alt rând. Acestea sunt date despre o anumită tranzacție, cum ar fi suma totală, cantitatea comenzii, ora exactă, profitul net, ID-ul comenzii etc.
  • Valorile atributelor dimensionale nu stochează date în mod direct, ci mai degrabă stochează valorile cheii externe pentru rând într-un tabel dimensional. Diferite rânduri din tabelul central vor face referire la aceste informații, cum ar fi valoarea datelor, ID-ul angajatului de vânzări, ID-ul sucursalei, ID-ul produsului etc.

Tabelele de dimensiuni stochează întotdeauna informații de sprijin din tabelul de fapte. Fiecare tabel dimensional se referă la coloana unui tabel de fapte împreună cu o valoare dimensională și stochează date suplimentare despre acea valoare.

Exemplu: Tabelul cu dimensiunile angajaților folosește ID-ul angajatului ca valoare cheie și conține, de asemenea, informații, cum ar fi numele, sexul, adresa și numărul de telefon. În mod similar, un tabel cu dimensiunile produsului stochează informații, inclusiv numele produsului, culoarea, prima dată pe piață, costul de fabricație etc.

Cum funcționează o schemă fulg de zăpadă?

Gândiți-vă la un design fulg de zăpadă cu o cutie centrală și diferite conexiuni prin acea cutie la diferite puncte. Pentru a menține magazinele de date și depozitele de date, designul schemei cu fulgi de zăpadă intră în imagine.

Este similar cu schema stea, dar cu modificări minute. Spre deosebire de schema stea, schema fulg de zăpadă își extinde tabelele sub-dimensiuni, care sunt legate de tabelele de dimensiuni.

Scopul principal al acestui model este de a normaliza informațiile denormalizate ale modelului stea. În acest fel, poate rezolva probleme comune asociate cu o schemă stea.

  Ce aplicații muzicale sunt deblocate la școală?

În centrul schemei, veți găsi un tabel de fapte care face legătura cu informațiile conținute în tabelele de dimensiuni. Aceste tabele radiază din nou spre exterior către tabele sub-dimensiuni care au informații detaliate care descriu informațiile din tabelul de dimensiuni.

Exemplu: schema fulg de zăpadă conține un tabel cu date despre vânzări și tabele cu locația magazinului, linia, familia, produsul și dimensiunea de timp. Dimensiunile pieței constau din tabele cu două dimensiuni, cu magazinul ca tabel cu dimensiunile primare și locația magazinului ca tabel cu subdimensiuni. Dimensiunea produsului are trei tabele de subdimensiuni care menționează un tabel de subdimensiuni de produs, linie și familie.

Star vs. Snowflake: Caracteristici

Caracteristicile Schemei Stelare

  • Schema stea poate filtra datele din datele normalizate pentru a satisface nevoile de depozitare a datelor. Cheia unică este generată din informațiile asociate pentru fiecare tabel de fapte pentru a identifica fiecare rând.
  • Oferă calcule și agregari rapide, cum ar fi venitul din veniturile obținute și articolele totale vândute la sfârșitul fiecărei luni. Aceste detalii pot fi filtrate în funcție de nevoi prin încadrarea unor interogări adecvate.
  • Este măsurarea evenimentelor care include valori numerice finite constând din cheia externă. Aceste chei sunt legate de tabelele dimensionale. Există diferite tipuri de tabele de fapte care sunt încadrate cu valori la nivel atomic.
  • Tabelul de fapte ale tranzacției conține date despre evenimente specifice, cum ar fi vânzări și sărbători.
  • Faptele de înregistrare includ perioade date, cum ar fi informațiile despre cont la sfârșitul anului sau în fiecare trimestru.
  • Tabelul dimensional oferă date detaliate despre atributele sau înregistrările găsite în tabelul central.
  • Utilizatorul este capabil să proiecteze singur o masă în funcție de nevoi.
  • Puteți utiliza schema stea pentru a acumula tabele instantanee.

Caracteristicile Schemei Fulgi de Nea

  • Schema fulg de zăpadă are nevoie de spațiu mic pe disc.
  • Acest model este ușor de implementat datorită tabelelor de dimensiuni separate și principale.
  • Tabelele de dimensiuni conțin cel puțin două atribute pentru a defini informațiile la mai multe granule.
  • Datorită mai multor tabele, performanța este scăzută în comparație cu schema stea.
  • Schema fulg de zăpadă are cel mai înalt nivel de integritate a datelor și redundanțe scăzute datorită normalizării.

Star vs. Snowflake: Avantaje

Avantajele Schemei Stelare

  • Schema stea este cea mai simplă modalitate dintre schemele de data mart.
  • Are o logică simplă de raportare. Această logică este implicată dinamic.
  • Este conceput folosind cuburi de alimentare aplicate prin Procesul de tranzacție online pentru a face cuburile să funcționeze eficient și eficient.
  • Schema stea este formată cu o logică simplă și interogări care sunt ușor de extras din procesul tranzacțional.
  • Oferă performanțe îmbunătățite pentru aplicațiile de raportare.
  • Este implementat pentru a controla recuperarea rapidă a datelor.
  • Informațiile filtrate și selectate pot fi aplicate cu ușurință în diferite cazuri.

Avantajele Schemei Snowflake

  • Schema stea este utilizată pentru a dezvolta performanța interogărilor datorită mai puține cerințe de stocare pe disc.
  • Oferă o scalabilitate mai mare în relațiile dintre componente și nivelurile de dimensiune.
  • Este mai ușor de întreținut.
  • Schema stea oferă o recuperare rapidă a datelor.
  • Este o schemă de date comună și simplă pentru depozitarea datelor.
  • Ajută la îmbunătățirea calității datelor.
  • Datele structurate reduc problema integrității datelor.

Star vs. Snowflake: Limitări

Limitările Schemei Stelare

Are o stare ridicată de denormalizare și integritate. Întregul proces se va prăbuși dacă utilizatorul nu reușește să actualizeze datele. Securitatea și protecțiile sunt, de asemenea, limitate. În plus, schema stea nu este la fel de flexibilă ca modelul analitic. Nu oferă suport eficient diverselor relații.

  4 procese nesănătoase care vă pot distruge sprintul

Limitările Schemei Snowflake

Principala limitare pe care o veți găsi cu Snowflake este eforturile suplimentare de întreținere din cauza numărului tot mai mare de tabele de dimensiuni mici. Multe interogări complexe fac dificilă găsirea datelor necesare. În plus, timpul de implementare a întrebării este mare din cauza tabelelor mai mari. Acest model este, de asemenea, rigid și necesită costuri de întreținere mai mari.

Star vs. Snowflake: Diferențe

Steaua și Fulgul de zăpadă sunt tipuri de schemă multidimensională, dar au structuri și proprietăți diferite. Primul este ca o stea, iar cel din urmă seamănă cu un fulg de zăpadă, definindu-le numele.

În schema stea, doar o singură îmbinare construiește o relație între tabelul de fapte central și tabelele de dimensiuni laterale. Pe de altă parte, în schema fulg de zăpadă, sunt necesare mai multe îmbinări pentru a se conecta la tabelele de dimensiuni.

Schema cu stea este utilizată în general atunci când aveți un număr mai mic de rânduri în tabelul de dimensiuni, în timp ce schema fulg de zăpadă este utilizată atunci când un tabel de dimensiuni este relativ mare.

Diagrama de mai jos diferențiază cele două modele și modul în care tabelele de dimensiuni și tabelul de fapte sunt legate în scheme diferite.

ParametriSchema Star SchemaSnowflakeSpațiu pe discSchema Star folosește mai mult spațiu pe disc.Schema Snowflake utilizează mai puțin spațiu pe disc.Redundanța datelorAre redundanță mare a datelor.Are redundanță scăzută a datelor.NormalizareTabelele cu dimensiuni sunt denormalizate, ceea ce înseamnă repetarea aceleiași valori în tabel.Tabelele cu dimensiuni sunt complet normalizat.Performanța interogărilor. Executarea interogărilor necesită timp minim, rezultând o performanță mai bună. Execuția interogării durează mai mult decât schema stea, ceea ce o face mai puțin performantă decât schema stea. Complexitatea interogării Complexitatea interogării este scăzută. Complexitatea interogării este mai mare decât schema stea. ÎntreținereDatorită redundanței ridicate a datelor, menținerea schemei stea este puțin dificilă.Datorită redundanței scăzute a datelor, este ușor să mențineți și să schimbați schema fulgilor de zăpadă. copii există în tabelele de dimensiuni. Integritatea datelor este scăzută, deoarece normalizează complet tabelele de dimensiuni. Ierarhii Ierarhiile pentru tabelele de dimensiuni din schema stea sunt stocate în tabelul de dimensiuni. Ierarhiile sunt împărțite în tabele de dimensiuni separate. Design DB Are un design DB simplu. Are un design DB foarte complex. Tabelul de fapte este înconjurat de tabele de dimensiuni, care sunt, de asemenea, înconjurate de tabele de subdimensiuni. Setare schema Star este ușor de proiectat și configurat, deoarece relațiile directe le reprezintă. Pe de altă parte, schema fulg de zăpadă este puțin complex de configurat. Procesarea cubului Procesarea cubului este mai rapidă. Din cauza îmbinării complexe, procesarea cubului este puțin lentă. Chei străineAre un număr minim de chei străine. Are numărul maxim de chei străine.

Concluzie

Atât schemele Star, cât și Snowflake sunt utile în diferite sectoare. Deci, a decide care este mai bun dintre ei se bazează pe cerințele lor.

Schema fulg de zăpadă este extensia schemei stele, unde normalizează tabelele de dimensiuni din schema stea.

Schema stea este simplă în design, rulează interogări mai rapid și configurarea este ușoară. Pe de altă parte, schema fulg de zăpadă este mai ușor de întreținut, ocupă mai puțin spațiu pe disc și este mai puțin predispusă la probleme de integritate a datelor.

Deci, o schemă în stea ar putea fi opțiunea mai bună dacă aveți nevoie de un design simplu, mai puține chei străine și o procesare mai rapidă a cubului. Dar, dacă aveți nevoie de mai puțin spațiu pe disc, integritate scăzută a datelor și întreținere redusă, schema fulg de zăpadă poate fi mai potrivită.

De asemenea, puteți explora unele dintre cele mai bune soluții de baze de date grafice.