Ce este modelarea dimensională în Data Warehouse? Învață tipuri

⚡ Rezumat inteligent

Modelul dimensional în proiectarea depozitului de date organizează informațiile în tabele de fapte și dimensiuni, astfel încât analiștii să poată recupera și rezuma rapid măsurile numerice, urmând metoda Kimball în cinci pași care identifică procesul de business, granulația, dimensiunile, faptele și schema finală.

  • 🎯 Scop principal: Un model dimensional ajustează un depozit de date pentru citiri și raportare rapide, spre deosebire de modelele relaționale construite pentru tranzacții în timp real.
  • 🧱 Blocuri de construcții: Faptele conțin măsuri numerice, în timp ce dimensiunile și atributele acestora furnizează contextul cine, ce și unde din jurul fiecărui fapt.
  • 🔑 Tabele de fapte și dimensiuni: Un tabel de fapte stochează măsuri plus chei externe; tabelele de dimensiuni denormalizate stochează atribute descriptive și ierarhii.
  • 🪜 Metoda în cinci pași: Identificați procesul de afaceri, stabiliți granulația, alegeți dimensiunile, alegeți faptele, apoi construiți schema.
  • Alegerea schemei: Schemele stea mențin dimensiunile denormalizate pentru viteză, în timp ce schemele fulg de nea le normalizează pentru a economisi spațiu de stocare.
  • 🚀 Beneficiu cheie: Dimensiunile standardizate și ușor de utilizat pentru afaceri îmbunătățesc performanța interogărilor și permit adăugarea de noi dimensiuni cu întreruperi minime.

Model dimensional într-un depozit de date care prezintă tabele de fapte și dimensiuni

Ce este modelarea dimensională?

Modelare dimensională (DM) este o tehnică de structurare a datelor optimizată pentru stocarea datelor într-un depozit de date. Scopul său este de a regla baza de date pentru o regăsire mai rapidă a datelor. Conceptul a fost dezvoltat de Ralph Kimball și este construit în jurul a două tipuri de tabele: tabele „de fapte” și tabele „de dimensiuni”.

Un model dimensional dintr-un depozit de date este conceput pentru a citi, a rezuma și a analiza informații numerice, cum ar fi valori, solduri, numărări și ponderi. Modelele relaționale, în schimb, sunt optimizate pentru adăugarea, actualizarea și ștergerea datelor într-un sistem de procesare a tranzacțiilor online în timp real.

Fiecare dintre aceste abordări stochează datele în felul său propriu și fiecare oferă avantaje distincte.

Într-un model relațional, normalizarea și modelele ER reduc redundanța datelor. Un model dimensional, în schimb, aranjează datele astfel încât informațiile să fie mai ușor de recuperat, iar rapoartele să fie mai ușor de generat.

Din acest motiv, modelele dimensionale se potrivesc depozitarea datelor sisteme mai degrabă decât sisteme relaționale bazate pe tranzacții. Deoarece modelul stă la baza conceptului mai larg arhitectura depozitului de date, secțiunile de mai jos prezintă în detaliu elementele, tipurile și etapele de proiectare.

Elemente ale modelului de date dimensionale

Fapt

Faptele sunt măsurătorile sau indicatorii extrași dintr-un proces de afaceri. Într-un proces de vânzări, de exemplu, numărul vânzărilor trimestriale este un fapt - valoarea numerică pe care afacerea dorește să o analizeze.

Dimensiune

O dimensiune oferă contextul care înconjoară un eveniment al unui proces de business. În termeni simpli, dimensiunile furnizează cine, ce și unde se află un fapt. Pentru faptul „numărul de vânzări trimestrial”, dimensiunile ar fi:

  • Cine – Numele clienților
  • Unde – Locație
  • Ce – Numele produsului

Cu alte cuvinte, o dimensiune este o fereastră prin care vizualizați informațiile conținute în fapte.

Atribute

Atributele sunt diversele caracteristici ale unei dimensiuni în cadrul unui model de date dimensional.

Într-o dimensiune Locație, atributele pot fi:

  • Stat
  • Țară
  • Cod poștal

Atributele sunt folosite pentru a căuta, filtra și clasifica faptele, iar tabelele de dimensiuni reprezintă locul unde se află aceste atribute.

Tabel de fapte

Un tabel de fapte este tabelul principal dintr-un model dimensional.

Un tabel de fapte conține:

  1. Măsurători sau fapte
  2. Chei externe pentru tabelele de dimensiuni

Tabel de dimensiuni

Un tabel de dimensiuni conține dimensiunile unui fapt și se unește cu tabelul de fapte printr-o cheie externă. Principalele sale caracteristici sunt enumerate mai jos:

  • Tabelele de dimensiuni sunt tabele denormalizate.
  • Atributele dimensiunii formează coloanele tabelului.
  • Dimensiunile oferă caracteristici descriptive ale faptelor prin intermediul atributelor lor.
  • Nu există o limită fixă ​​a numărului de dimensiuni.
  • O dimensiune poate conține una sau mai multe relații ierarhice.

Tipuri de dimensiuni în depozitul de date

Modelarea dimensională utilizează mai multe tipuri de dimensiuni, fiecare potrivită unei anumite nevoi de proiectare. Principalele tipuri de dimensiuni într-un depozit de date sunt:

  • Dimensiune conformată
  • Dimensiunea stabilizatorului
  • Dimensiunea restrânsă
  • Dimensiunea jocului de rol
  • Tabel de dimensiuni la dimensiuni
  • Dimensiunea Junk
  • Dimensiunea degenerată
  • Dimensiune schimbabilă
  • Dimensiunea pasului

Etapele modelării dimensionale

Precizia modelării dimensionale determină succesul implementării depozitului de date. Există cinci pași pentru a construi un model dimensional:

  1. Identificați procesul de afaceri
  2. Identificați fibra (nivelul de detaliu)
  3. Identificați dimensiunile
  4. Identificați faptele
  5. Construiți schema

Per total, modelul finalizat ar trebui să descrie de ce, cât, când, unde, cine și ce din procesul dumneavoastră de afaceri.

Cei cinci pași ai modelării dimensionale într-un depozit de date

Pasul 1) Identificați procesul de afaceri

Prima sarcină este de a identifica procesul de afaceri pe care depozitul ar trebui să îl acopere - marketing, vânzări, resurse umane și așa mai departe - pe baza nevoilor organizației. analiza datelor nevoile și calitatea datelor disponibile. Acesta este cel mai important pas, deoarece o greșeală aici produce defecte în cascadă, greu de remediat.

Pentru a descrie procesul de business, puteți utiliza text simplu, Business Process Modelling Notation (BPMN) sau Unified Modeling Language (UML).

Pasul 2) Identificați boabele

Granularitatea definește nivelul de detaliu al problemei de business - cel mai scăzut nivel de informații stocate în orice tabel.

Dacă un tabel conține vânzări pentru fiecare zi, are granularitate zilnică; dacă conține totaluri lunare, are granularitate lunară.

În această etapă, veți răspunde la întrebări precum:

  1. Ar trebui ca depozitul să depoziteze toate produsele disponibile sau doar câteva tipuri de produse? Acest lucru depinde de procesele de business selectate.
  2. Ar trebui stocate vânzările de produse lunar, săptămânal, zilnic sau orar? Acest lucru depinde de rapoartele solicitate de directori.
  3. Cum afectează aceste două opțiuni dimensiunea bazei de date?

Exemplu de cereale: Imaginați-vă că directorul general al unei companii multinaționale dorește să vadă vânzările anumitor produse în diferite locații, măsurate zilnic.

În acest scenariu, cerealele devin „informații despre vânzările de produse pe locații, pe zile”.

Pasul 3) Identificați dimensiunile

Dimensiunile sunt substantive precum dată, magazin și inventar și conțin datele descriptive.

De exemplu, o dimensiune de tip dată poate conține un an, o lună și o zi lucrătoare.

Exemplu de dimensiuni: Aceeași cerință de vânzări zilnice determină alegerea dimensiunilor.

Pentru acest scenariu, dimensiunile sunt Produs, Locație și Timp.

Dimensiunea Produs conține atribute precum cheia produsului (o cheie externă), numele, tipul și specificațiile.

Dimensiunea Locație este organizată ca o ierarhie: țară, stat, oraș, adresă și nume.

Pasul 4) Identificați faptele

Acest pas este strâns legat de utilizatorii business ai sistemului, deoarece definește cifrele pe care le consumă din depozitul de date.

Majoritatea rândurilor din tabelul de fapte sunt valori numerice, cum ar fi prețul sau costul pe unitate.

Exemplu de fapte: Cerința privind vânzările zilnice stabilește din nou contextul.

Aici, faptul este suma vânzărilor pe produs, pe locație și pe timp.

Pasul 5) Construiți schema

În acest ultim pas, implementați modelul dimensional. O schemă este pur și simplu structura bazei de date — aranjamentul tabelelor — și două scheme sunt deosebit de comune.

Primul este schema stea, care este ușor de proiectat și numit după forma sa: un tabel central de fapte cu tabele de dimensiuni care radiază spre exterior precum vârfurile unei stele.

Într-o schemă stea, tabelul de fapte este în a treia formă normală, în timp ce tabelele de dimensiuni sunt denormalizate; aceasta Schema stea în modelarea depozitului de date Ghidul funcționează printr-un exemplu complet.

Al doilea este schema fulgului de nea, o extensie a schemei stea în care fiecare dimensiune este normalizată și legată de alte tabele de dimensiuni, așa cum se explică în acest schema fulgului de zăpadă în modelul depozitului de date ghid.

Reguli pentru modelarea dimensională

Următoarele reguli și principii ghidează modelarea dimensională eficientă:

  • Încărcați datele atomice în structurile dimensionale.
  • Construiți modele dimensionale în jurul proceselor de afaceri.
  • Asigurați-vă că fiecare tabel de fapte are asociat un tabel de dimensiuni de dată.
  • Păstrați toate faptele într-un singur tabel de fapte la aceeași granulație sau nivel de detaliu.
  • Stocați etichetele rapoartelor și valorile domeniului de filtrare în tabelele de dimensiuni.
  • Dați fiecărui tabel de dimensiuni o cheie surogat.
  • Echilibrați continuu cerințele cu realitățile pentru a oferi o soluție care să sprijine luarea deciziilor de afaceri.

Beneficiile modelării dimensionale

Modelarea dimensională oferă o serie de beneficii practice:

  • Dimensiunile standardizate permit o raportare ușoară și consistentă în toate domeniile afacerii.
  • Tabelele de dimensiuni stochează istoricul informațiilor dimensionale.
  • Noi dimensiuni pot fi introduse fără perturbări majore ale tabelului de fapte.
  • Datele sunt stocate astfel încât să fie mai ușor de recuperat odată ce se află în baza de date.
  • Comparativ cu modelul normalizat, tabelele dimensionale sunt mai ușor de înțeles deoarece informațiile sunt grupate în categorii comerciale clare.
  • Modelul se bazează pe termeni de afaceri, astfel încât afacerea știe ce înseamnă fiecare fapt, dimensiune sau atribut.
  • Deoarece modelul este denormalizat, este optimizat pentru interogări rapide, iar multe platforme relaționale își optimizează planurile de execuție pentru acesta.
  • Schema oferă performanțe ridicate, cu mai puține joncțiuni și redundanță minimizată a datelor.
  • Modelele dimensionale se adaptează ușor la schimbări, deoarece coloanele pot fi adăugate în tabelele de dimensiuni fără a afecta aplicațiile de business intelligence existente.

Ce este modelul de date multidimensional în depozitul de date?

A model de date multidimensional reprezintă datele sub formă de cuburi de date, permițându-vă să modelați și să vizualizați datele pe mai multe dimensiuni definite prin dimensiuni și fapte. Un astfel de model este de obicei organizat în jurul unei teme centrale și reprezentat de un tabel de fapte și formează baza OLAP Analiza.

Întrebări frecvente

Un tabel de fapte stochează măsuri numerice ale unui proces de business împreună cu chei externe pentru dimensiuni. Un tabel de dimensiuni stochează atribute descriptive, denormalizate - cum ar fi produsul, locația sau data - care oferă acestor măsuri contextul necesar pentru filtrare și grupare.ping.

Faptele sunt aditive, semi-aditive sau neaditive. Faptele aditive, cum ar fi suma vânzărilor, se însumează pe baza fiecărei dimensiuni. Faptele semi-aditive, cum ar fi soldurile conturilor, se însumează pe baza unor dimensiuni, dar nu și pe baza timpului. Faptele neaditive, cum ar fi rapoartele sau procentele, nu pot fi însumate în mod semnificativ.

A schema stea păstrează fiecare dimensiune într-un singur tabel denormalizat, oferind joncțiuni mai simple și interogări mai rapide. O schemă de tip fulg de nea normalizează dimensiunile în subtabele corelate, economisind spațiu de stocare, dar adăugând joncțiuni și complexitate. Schemele stea sunt alegerea analitică mai comună.

O cheie surogat este un număr întreg generat de sistem, utilizat ca cheie primară a unei dimensiuni în loc de o cheie de business naturală. Aceasta menține depozitul independent de modificările sistemului sursă, accelerează joncțiunile și face posibilă... track schimbări istorice în cadrul unei dimensiuni.

O dimensiune care se modifică lent este o dimensiune ale cărei valori ale atributelor se modifică în timp, cum ar fi adresa unui client. Strategiile obișnuite suprascriu valoarea veche (Tipul 1), adaugă un rând nou pentru a păstra istoricul (Tipul 2) sau stochează valoarea anterioară într-o coloană separată (Tipul 3).

Modelarea dimensională a lui Ralph Kimball construiește depozitul de jos în sus, din data mart-uri de tip schemă stea, optimizate pentru raportare. Bill Abordarea Inmon construiește mai întâi un depozit de produse normalizat, de sus în jos, apoi derivă marturi. Kimball livrează mai rapid, în timp ce Inmon pune accent pe consecvență la nivelul întregii companii.

Instrumentele de inteligență artificială pot profila datele sursă, pot sugera fapte și dimensiuni candidate, pot recomanda granulația și pot semnala atribute redundante. Acestea accelerează proiectarea și documentația, dar un inginer de date ar trebui să valideze fiecare fapt, dimensiune și ierarhie înainte ca modelul să ajungă în producție.

Da. Chat GPT poate elabora modele în schemă stea și explica compromisurile, în timp ce Copilotul GitHub completează automat comanda SQL pentru tabelele de fapte și dimensiuni. RevVizualizați ieșirea lor pentru a verifica dacă granulația, cheile și joncțiunile sunt corecte înainte de a rula.

Rezumați această postare cu: