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

Arhitectura multidimensională este concepută pentru a construi un model de sisteme dedicate stocării datelor.

Obiectivul principal al acestor structuri este de a satisface cerințele bazelor de date extinse, create pentru analiza informațiilor (OLAP).

Această metodă este folosită pentru a structura datele într-o bază de date, organizând eficient conținutul. Schema permite utilizatorilor să formuleze interogări legate de tendințele afacerilor sau ale pieței.

În plus, o schemă multidimensională reprezintă datele ca structuri cubice, facilitând vizualizarea și modelarea datelor din diverse perspective și dimensiuni.

Există trei tipuri principale, dar mulți utilizatori confundă schemele stea și fulg de zăpadă. Acest lucru face dificilă alegerea modelului potrivit.

Dacă vă aflați în această situație, vom analiza diferențele dintre schema stea și schema fulg de zăpadă, începând cu definițiile și înțelegerea avantajelor, provocărilor, diagramelor și caracteristicilor acestora.

Ce este o Schemă Multidimensională?

Schema se referă la descrierea logică a unei baze de date complete și a locurilor de stocare a datelor. Aceasta include denumirea înregistrărilor, descrierile lor, precum și agregatele și elementele de date conexe.

O bază de date utilizează în mod obișnuit un model relațional pentru descriere, în timp ce un sistem de stocare a datelor folosește un model de schemă.

Schema multidimensională poate fi definită utilizând Limbajul de Interogare pentru Extragerea Datelor (DMQL).

Pentru a defini depozitele de date, se folosesc două elemente de bază: definirea dimensiunii și definirea cubului.

Schema multidimensională utilizează diverse tipuri de modele de schemă. Acestea sunt:

  • Schema stea
  • Schema fulg de zăpadă
  • Schema galaxie

Să explorăm ce sunt schemele stea și fulg de zăpadă.

Stea vs. Fulg de Nea: Ce sunt acestea?

Ce este Schema Stea?

O schemă stea este un model arhitectural pentru stocarea datelor și analiza afacerilor, care se bazează pe un singur tabel de fapte pentru a reține date măsurabile și tranzacționale. De asemenea, folosește diferite tabele cu dimensiuni mai mici pentru a stoca atribute despre datele comerciale.

Numele provine din structura sa. Asemenea unei stele, tabelul de fapte ocupă centrul diagramei, iar tabelele dimensionale mai mici se extind ca ramuri de la tabelul central, formând o structură similară unei stele.

Fiecare schemă stea este compusă dintr-un singur tabel de fapte, dar mai multe tabele cu dimensiuni mai mici. Tabelele de fapte includ date concrete, măsurabile, care trebuie analizate, cum ar fi performanța înregistrată, datele financiare sau evidența vânzărilor. Acestea pot reprezenta date istorice într-un moment dat sau date tranzacționale.

Mai mult, schema stea este cea mai simplă și fundamentală dintre schemele depozitelor de date. Este eficientă în gestionarea interogărilor de bază. Schema stea sprijină în general analiza afacerilor, interogările ad-hoc, aplicațiile analitice și cuburile de procesare analitică online.

Schema stea acceptă, de asemenea, operații de numărare, calculare a mediilor, sume și alte agregări pentru numeroase înregistrări. Utilizatorii pot filtra și grupa cu ușurință datele agregate după dimensiuni. De exemplu, utilizatorii pot genera interogări precum „găsește toate înregistrările de vânzări din iunie” sau „analizează veniturile totale de la biroul XYZ din 2022”.

Ce este Schema Fulg de Zăpadă?

O schemă fulg de zăpadă este un model de date multidimensional, cunoscut și ca o extensie a schemei stea. Acest lucru se datorează faptului că tabelele dimensionale din schema fulg de zăpadă se împart în subdimensiuni.

O schemă este considerată un fulg de zăpadă dacă unul sau mai multe tabele dimensionale nu se conectează direct la tabelul de fapte, ci prin intermediul altor tabele dimensionale.

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

Mai simplu spus, schema fulg de zăpadă este formată dintr-un tabel de fapte în centrul modelului, care este conectat la tabelele dimensionale, care, la rândul lor, sunt legate de alte tabele dimensionale. Această schemă este folosită pentru a optimiza 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 tipul unu-la-mai-mulți și mulți-la-mulți între diversele niveluri de dimensiuni.

Datorită respectării unor standarde de normalizare mai stricte, se obține o eficiență mai mare a stocării. Cu toate acestea, redundanța datelor este redusă, iar performanța este mai scăzută în comparație cu modelele de date denormalizate, cum ar fi schema stea.

Stea vs. Fulg de Zăpadă: Cum funcționează?

Cum funcționează o schemă stea?

Tabelul de fapte din centrul modelului stea stochează două tipuri de informații: valorile atributelor numerice și de dimensiune. Să le înțelegem cu un exemplu simplu, o bază de date de vânzări.

  • Valorile numerice sunt unice pentru fiecare rând și punct de date. Acestea nu sunt corelate sau legate de datele stocate pe un alt rând. Acestea sunt date despre o anumită tranzacție, cum ar fi suma totală, cantitatea comandată, ora exactă, profitul net, ID-ul comenzii etc.
  • Valorile atributelor dimensionale nu stochează date în mod direct, ci mai degrabă chei externe ale unui rând din tabelul dimensional. Diverse 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 dimensionale stochează întotdeauna informații suplimentare despre datele din tabelul de fapte. Fiecare tabel dimensional face referire la o coloană din tabelul 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 precum numele, genul, adresa și numărul de telefon. În mod similar, un tabel cu dimensiunile produsului stochează informații, inclusiv numele produsului, culoarea, data lansării pe piață, costul de fabricație etc.

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

Imaginați-vă un design fulg de zăpadă cu o cutie centrală și diferite conexiuni prin acea cutie către diverse puncte. Pentru a gestiona magazinele de date și depozitele de date, designul schemei fulg de zăpadă devine relevant.

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

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

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

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 includ două tabele dimensionale, cu magazinul ca tabel dimensional principal și locația magazinului ca tabel sub-dimensional. Dimensiunea produsului are trei tabele sub-dimensionale, care includ un tabel sub-dimensional de produs, linie și familie.

Stea vs. Fulg de Zăpadă: Caracteristici

Caracteristicile Schemei Stea

  • Schema stea poate filtra datele din datele normalizate pentru a satisface cerințele de stocare a datelor. O cheie unică este generată din informațiile asociate pentru fiecare tabel de fapte pentru a identifica fiecare rând.
  • Permite calcule și agregări rapide, cum ar fi veniturile obținute și numărul total de articole vândute la sfârșitul fiecărei luni. Aceste detalii pot fi filtrate în funcție de necesități, prin formularea interogărilor corespunzătoare.
  • Este o măsurătoare a evenimentelor, care include valori numerice finite ce conțin chei externe. Aceste chei sunt legate de tabelele dimensionale. Există diferite tipuri de tabele de fapte, care sunt structurate cu valori la nivel atomic.
  • Tabelul de fapte al tranzacției conține date despre evenimente specifice, cum ar fi vânzările și sărbătorile.
  • Faptele de înregistrare includ perioade specificate, 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.
  • Utilizatorii pot concepe singuri un tabel în funcție de nevoi.
  • Puteți utiliza schema stea pentru a acumula tabele de tip instantaneu.

Caracteristicile Schemei Fulg de Nea

  • Schema fulg de zăpadă necesită un spațiu mic pe disc.
  • Acest model este ușor de implementat datorită tabelelor dimensionale separate și principale.
  • Tabelele dimensionale conțin cel puțin două atribute pentru a defini informațiile la mai multe niveluri de detaliere.
  • Datorită numărului mai mare de tabele, performanța este mai scăzută în comparație cu schema stea.
  • Schema fulg de zăpadă oferă cel mai înalt nivel de integritate a datelor și redundanță scăzută datorită normalizării.

Stea vs. Fulg de Zăpadă: Avantaje

Avantajele Schemei Stea

  • Schema stea este cea mai simplă modalitate dintre schemele de date mart.
  • Are o logică simplă de raportare. Această logică este aplicată dinamic.
  • Este concepută folosind cuburi de alimentare aplicate prin procesul de tranzacție online, pentru a face cuburile să funcționeze eficient și efectiv.
  • Schema stea este structurată 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 diverse cazuri.

Avantajele Schemei Fulg de Zăpadă

  • Schema fulg de zăpadă este utilizată pentru a îmbunătăți performanța interogărilor datorită cerințelor mai mici 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 fulg de zăpadă 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.

Stea vs. Fulg de Zăpadă: Limitări

Limitările Schemei Stea

Are un nivel ridicat de denormalizare și integritate. Întregul proces se poate bloca 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 tipuri de relații.

Limitările Schemei Fulg de Zăpadă

Principala limitare a schemei fulg de zăpadă este efortul suplimentar de întreținere datorită numărului tot mai mare de tabele dimensionale mici. Multe interogări complexe fac dificilă găsirea datelor necesare. În plus, timpul de implementare a interogării este mare datorită tabelelor mai mari. Acest model este, de asemenea, rigid și necesită costuri de întreținere mai ridicate.

Stea vs. Fulg de Zăpadă: Diferențe

Schemele stea și fulg de zăpadă sunt tipuri de scheme multidimensionale, dar au structuri și proprietăți diferite. Prima seamănă cu o stea, iar a doua cu un fulg de zăpadă, de unde le și vin denumirile.

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

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

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

Parametri Schema Stea Schema Fulg de Zăpadă
Spațiu pe disc Schema stea folosește mai mult spațiu pe disc. Schema fulg de zăpadă utilizează mai puțin spațiu pe disc.
Redundanța datelor Are o redundanță mare a datelor. Are o redundanță scăzută a datelor.
Normalizare Tabelele dimensionale sunt denormalizate, ceea ce înseamnă repetarea aceleiași valori în tabel. Tabelele dimensionale sunt complet normalizate.
Performanța interogărilor. Executarea interogărilor necesită timp minim, ceea ce conduce la o performanță mai bună. Execuția interogării durează mai mult decât în cazul schemei stea, ceea ce o face mai puțin performantă.
Complexitatea interogării Complexitatea interogării este scăzută. Complexitatea interogării este mai mare decât în cazul schemei stea.
Întreținere Datorită 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 fulg de zăpadă.
Integritatea datelor Integritatea datelor este scăzută, deoarece normalizează complet tabelele dimensionale. Integritatea datelor este mai mare datorită standardelor stricte de normalizare a datelor.
Ierarhii Ierarhiile pentru tabelele dimensionale din schema stea sunt stocate în tabelul dimensional. Ierarhiile sunt împărțite în tabele dimensionale separate.
Design DB Are un design DB simplu. Are un design DB foarte complex. Tabelul de fapte este înconjurat de tabele dimensionale, care sunt, de asemenea, înconjurate de tabele sub-dimensionale.
Configurare Schema stea 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 mai complex de configurat.
Procesarea cubului Procesarea cubului este mai rapidă. Din cauza îmbinării complexe, procesarea cubului este puțin lentă.
Chei străine Are un număr minim de chei străine. Are un număr maxim de chei străine.

Concluzie

Atât schemele stea, cât și fulg de zăpadă sunt utile în diverse domenii. Prin urmare, decizia cu privire la care este mai bună depinde de cerințele specifice.

Schema fulg de zăpadă este o extensie a schemei stea, în care sunt normalizate tabelele dimensionale din schema stea.

Schema stea are un design simplu, rulează interogări mai rapid, iar 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.

Așadar, o schemă stea ar putea fi o opțiune mai potrivită dacă aveți nevoie de un design simplu, mai puține chei străine și procesare mai rapidă a cubului. Dar, dacă aveți nevoie de mai puțin spațiu pe disc, integritate sporită a datelor și o î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.