Enterprise Data Warehouse: Concepts, Architecture, and Components
Timp de citire: 12 minute
În timpul zilei luăm multe decizii bazându-ne pe experiența anterioară. Creierul nostru stochează trilioane de biți de date despre evenimente trecute și valorifică aceste amintiri de fiecare dată când ne confruntăm cu necesitatea de a lua o decizie. La fel ca oamenii, companiile generează și colectează tone de date despre trecut. Iar aceste date pot fi folosite pentru a lua decizii mai bune.
În timp ce creierul nostru servește atât pentru a procesa, cât și pentru a stoca, companiile au nevoie de mai multe instrumente pentru a lucra cu datele. Iar unul dintre cele mai importante este un depozit de date.
În acest articol, vom discuta despre ce este un depozit de date de întreprindere, despre tipurile și funcțiile sale, precum și despre modul în care este utilizat în procesarea datelor. Vom defini modul în care depozitele de date de întreprindere sunt diferite de cele obișnuite, ce tipuri de depozite de date există și cum funcționează acestea. Accentul este pus pe furnizarea de informații despre valoarea de afaceri a fiecărei abordări arhitecturale și conceptuale pentru construirea unui depozit.
Ce este un depozit de date de întreprindere?
Dacă știți cât este un terabyte, probabil că ați fi impresionat de faptul că Netflix avea aproximativ 44 de terabyte de date în depozitul său în 2016. Numai mărimea sugerează de ce îl numim depozit, în loc de o simplă bază de date. Așadar, să începem cu elementele de bază.
Un Enterprise Data Warehouse (EDW) este o formă de depozit corporativ care stochează și gestionează toate datele de afaceri istorice ale unei întreprinderi. Informațiile provin de obicei din diferite sisteme, cum ar fi ERP, CRM, înregistrări fizice și alte fișiere plate. Pentru a pregăti datele pentru analize ulterioare, acestea trebuie să fie plasate într-o singură unitate de stocare. În acest fel, diferite unități de afaceri o pot interoga și analiza informațiile din mai multe unghiuri.
Cu un depozit de date, o întreprindere poate gestiona seturi uriașe de date, fără a administra mai multe baze de date. O astfel de practică este o modalitate de stocare a datelor pentru business intelligence (BI), care este un set de metode/tehnologii de transformare a datelor brute în informații utile. EDW fiind o parte importantă a acestuia, sistemul este similar unui creier uman care stochează informații, dar pe steroizi.
Enterprise data warehouse vs. depozitul de date obișnuit: care este diferența?
Care depozit de date este o bază de date care este întotdeauna conectată cu sursele de date brute prin intermediul unor instrumente de integrare a datelor la un capăt și interfețe analitice la celălalt. Dacă este așa, de ce izolăm forma de întreprindere pentru discuție?
Chiar orice depozit oferă stocare care dispune de mecanisme pentru a transforma datele, a le muta și a le prezenta utilizatorului final. Diferența dintre un depozit de date obișnuit și unul de întreprindere constă în diversitatea arhitecturală și funcționalitatea mult mai largă a acestuia. Din cauza structurii și dimensiunii complexe, EDW-urile sunt adesea descompuse în baze de date mai mici, astfel încât utilizatorii finali se simt mai confortabil în interogarea acestor baze de date mai mici. Având în vedere acest lucru, ne concentrăm asupra unui depozit de întreprindere pentru a acoperi întregul spectru de funcționalitate.
Cu toate acestea, dimensiunea unui depozit nu definește complexitatea sa tehnică, cerințele pentru capacitățile analitice și de raportare, numărul de modele de date și datele în sine. Așadar, pentru a înțelege ce face ca un depozit să fie un depozit, haideți să ne scufundăm în conceptele și funcționalitățile sale de bază.
Concepte și funcții ale Depozitului de date Enterprise Data Warehouse
Cu toate clopotele și fluierele, în inima fiecărui depozit se află concepte și funcții de bază. Acești piloni definesc un depozit ca fenomen tehnologic:
Servește ca depozit suprem. Un depozit de date de întreprindere este un depozit unificat pentru toate datele de afaceri corporative care apar vreodată în organizație.
Reflectă datele sursă. EDW are ca sursă datele din spațiile de stocare originale, cum ar fi Google Analytics, CRM-uri, dispozitive IoT etc. Dacă datele sunt împrăștiate în mai multe sisteme, este imposibil de gestionat. Prin urmare, scopul EDW este de a oferi asemănarea datelor sursă originale într-un singur depozit. Deoarece există întotdeauna date noi, relevante, generate atât în interiorul, cât și în afara companiei, fluxul de date necesită o infrastructură dedicată pentru a le gestiona înainte de a intra într-un depozit.
Stochează date structurate. Datele stocate într-un EDW sunt întotdeauna standardizate și structurate. Acest lucru face posibilă interogarea acestora de către utilizatorii finali prin intermediul interfețelor BI și a rapoartelor de formular. Și aceasta este ceea ce face ca un depozit de date să fie diferit de un lac de date. Lacurile de date sunt utilizate pentru a stoca date nestructurate în scopuri analitice. Dar, spre deosebire de depozite, lacurile de date sunt utilizate mai mult de inginerii de date/științifici pentru a lucra cu seturi mari de date brute.
Date orientate pe subiect. Obiectivul principal al unui depozit este reprezentat de datele de afaceri care se pot referi la diferite domenii. Pentru a înțelege la ce se referă datele, acestea sunt întotdeauna structurate în jurul unui subiect specific numit model de date. Un exemplu de subiect poate fi o regiune de vânzări sau vânzările totale ale unui anumit articol. În plus, se adaugă metadate pentru a explica în detaliu de unde provine fiecare informație.
Dependent de timp. Datele colectate sunt, de obicei, date istorice, deoarece descriu evenimente trecute. Pentru a înțelege când și pentru cât timp a avut loc o anumită tendință, majoritatea datelor stocate sunt de obicei împărțite în perioade de timp.
Nu volatile. Odată plasate într-un depozit, datele nu sunt niciodată șterse din el. Datele pot fi manipulate, modificate sau actualizate datorită schimbărilor de sursă, dar nu sunt niciodată menite să fie șterse, cel puțin de către utilizatorii finali. Întrucât vorbim despre date istorice, ștergerile sunt contraproductive în scopuri analitice. Cu toate acestea, revizuirile generale pot avea loc o dată la câțiva ani pentru a scăpa de datele irelevante.
Considerând principiile de bază, vom analiza tipurile de implementare a DW-urilor.
Tipurile de depozite de date
Considerând funcțiile EDW, există întotdeauna loc de discuții privind modul de proiectare tehnică a acestuia. În cazul stocării și prelucrării datelor, acestea sunt specifice și distincte pentru diferite tipuri de întreprinderi. În funcție de cantitatea de date, de complexitatea analitică, de problemele de securitate și de buget, bineînțeles, există întotdeauna o opțiune cu privire la modul de configurare a sistemului.
Depozitul de date clasic
Stocarea unificată care are hardware-ul și software-ul său dedicat este considerată o variantă clasică pentru un EDW. Cu stocarea fizică, nu trebuie să configurați instrumente de integrare a datelor între mai multe baze de date. În schimb, EDW poate fi conectat cu sursele de date prin intermediul API-urilor pentru a obține constant informații din sursă și a le transforma în timpul procesului. Astfel, toată munca se face fie în zona de pregătire (locul în care datele sunt transformate înainte de a fi încărcate în DW), fie în depozitul propriu-zis.
Un depozit de date clasic este considerat superlativ față de unul virtual (pe care îl discutăm mai jos), deoarece nu există un strat suplimentar de abstractizare. Acesta simplifică munca pentru inginerii de date și facilitează gestionarea fluxului de date pe partea de preprocesare, precum și raportarea propriu-zisă. Dezavantajele depozitului clasic depind de implementarea efectivă, dar pentru majoritatea afacerilor acestea sunt:
- Infrastructură tehnologică costisitoare, atât hardware, cât și software;
- Angajarea unei echipe de ingineri de date și specialiști DevOps pentru a configura și întreține întreaga platformă de date.
Când se utilizează: potrivit pentru organizațiile de toate dimensiunile care doresc să își prelucreze datele și să le utilizeze. Depozitele clasice permit transformarea în diferite stiluri arhitecturale ale platformei de date, precum și scalarea în sus și în jos în mod intenționat.
Depozit de date virtual
Un depozit de date virtual este un tip de EDW folosit ca o alternativă la un depozit clasic. În esență, acestea sunt mai multe baze de date conectate virtual, astfel încât acestea pot fi interogate ca un singur sistem.
O schemă de relații între abstractizarea DW virtual și bazele de date sursă
O astfel de abordare permite organizațiilor să păstreze simplitatea: Datele pot rămâne în sursele lor, dar pot fi totuși extrase cu ajutorul instrumentelor analitice. Depozitele virtuale pot fi utilizate dacă nu doriți să vă încurcați cu toată infrastructura de bază sau dacă datele pe care le aveți sunt ușor de gestionat așa cum sunt. Cu toate acestea, o astfel de abordare are multe dezavantaje:
- Bazele de date multiple vor necesita costuri și întreținere constantă a software-ului și a hardware-ului.
- Datele stocate într-un DW virtual necesită totuși un software de transformare pentru a le face digerabile pentru utilizatorii finali și pentru instrumentele de raportare.
- Interogările complexe de date pot dura prea mult timp, deoarece elementele de date necesare pot fi plasate în două baze de date separate.
Când se utilizează: potrivit pentru întreprinderile care au date brute într-o formă standardizată care nu necesită analize complexe. Se potrivește, de asemenea, organizațiilor care nu folosesc BI în mod sistematic sau care doresc să înceapă cu acesta.
Cloud Data Warehouse
De un deceniu, tehnologiile cloud/cloudless au devenit mai mult un standard pentru configurarea tehnologiilor la nivel de organizație. Veți găsi pe piață nenumărați furnizori care oferă warehousing-as-a-service. Pentru a numi doar câțiva:
- Amazon Redshift/ Pagina de prețuri
- IBM Db2/ Pagina de prețuri
- Google BigQuery/ Pagina de prețuri
- Snowflake/ Pagina de prețuri
- Microsoft SQL Data Warehouse/ Pagina de prețuri
Toți furnizorii menționați oferă servicii complet gestionate, scalabile ca parte a instrumentelor lor de BI, sau se concentrează pe EDW ca serviciu de sine stătător, așa cum face Snowflake. În acest caz, arhitectura cloud warehouse are aceleași beneficii ca orice alt serviciu cloud. Infrastructura sa este întreținută pentru dumneavoastră, ceea ce înseamnă că nu trebuie să vă configurați propriile servere, baze de date și instrumente pentru a o gestiona. Prețul pentru un astfel de serviciu va depinde de cantitatea de memorie necesară și de cantitatea de capacități de calcul pentru interogare.
Singurul aspect care v-ar putea îngrijora în ceea ce privește o platformă de cloud warehouse este securitatea datelor. Datele dvs. de afaceri sunt un lucru sensibil. Așadar, doriți să verificați dacă furnizorul pe care l-ați ales poate fi de încredere pentru a evita breșele. Acest lucru nu înseamnă neapărat că un depozit on-premise este mai sigur, dar în acest caz, siguranța datelor dumneavoastră este în mâinile dumneavoastră.
Când să utilizați: Platformele cloud sunt o alegere excelentă pentru organizațiile de orice dimensiune. Dacă aveți nevoie ca totul să fie pregătit pentru dumneavoastră, inclusiv integrarea gestionată a datelor, întreținerea DW și suportul BI.
Enterprise Data Warehouse Architecture
Chiar dacă există multe abordări arhitecturale care extind capacitățile depozitului într-un fel sau altul, ne vom concentra pe cele mai esențiale. Fără a intra în prea multe detalii tehnice, întreaga conductă de date poate fi împărțită în trei straturi:
- Capa de date brute (surse de date)
- Depozitul și ecosistemul său
- Interfața cu utilizatorul (instrumente analitice)
Instrumentele care se referă la Extragerea, transformarea și încărcarea datelor într-un depozit reprezintă o categorie separată de instrumente cunoscute sub numele de ETL. De asemenea, sub umbrela ETL, instrumentele de integrare a datelor efectuează manipulări cu datele înainte ca acestea să fie plasate într-un depozit. Aceste instrumente operează între un strat de date brute și un depozit.
Când datele sunt încărcate într-un depozit, ele pot fi, de asemenea, transformate. Astfel, depozitul va avea nevoie de anumite funcționalități pentru curățare/standardizare/dimensionalizare. Aceștia și alți factori vor determina complexitatea arhitecturii. Vom analiza arhitectura EDW din punctul de vedere al nevoilor organizaționale în creștere.
Arhitectura pe un singur nivel
După ce integrarea datelor este bine configurată, ne putem alege depozitul de date. În cele mai multe cazuri, un depozit de date este o bază de date relațională cu module care să permită date multidimensionale sau una care poate separa unele informații specifice unui domeniu pentru un acces mai ușor. În forma sa cea mai primitivă, depozitul de date poate avea doar o arhitectură pe un singur nivel.
Capa de raportare este conectată direct cu întreaga bază de date a EDW
Arhitectura pe un singur nivel pentru EDW înseamnă că aveți o bază de date conectată direct cu interfețele analitice unde utilizatorul final poate face interogări. Stabilirea conexiunii directe între un EDW și instrumentele analitice aduce mai multe provocări:
- În mod tradițional, puteți considera că depozitul dvs. este un depozit pornind de la 100GB de date. Lucrul direct cu acesta poate duce la rezultate dezordonate ale interogărilor, precum și la o viteză de procesare redusă.
- Cercetarea datelor direct din DW poate necesita o introducere precisă, astfel încât sistemul să poată filtra datele care nu sunt necesare. Ceea ce face ca abordarea instrumentelor de prezentare să fie puțin dificilă.
- Există o flexibilitate/capacități analitice limitate.
În plus, arhitectura pe un singur nivel stabilește anumite limite în ceea ce privește complexitatea raportării. O astfel de abordare este rareori utilizată pentru platformele de date la scară largă, din cauza lentoarei și imprevizibilității sale. Pentru a efectua interogări avansate de date, un depozit poate fi extins cu instanțe de nivel scăzut care facilitează accesul la date.
Arhitectura pe două niveluri (nivel de mart de date)
În arhitectura pe două niveluri, se adaugă un nivel de mart de date între interfața cu utilizatorul și EDW. Un mart de date este un depozit de nivel scăzut care conține informații specifice domeniului. Pur și simplu, este o altă bază de date, de dimensiuni mai mici, care extinde EDW cu informații dedicate pentru departamentele de vânzări/operaționale, marketing etc.
În arhitectura pe două niveluri, un EDW este extins prin marți de date pentru a furniza date specifice domeniului
Crearea nivelului de marți de date va necesita resurse suplimentare pentru a stabili hardware-ul și a integra aceste baze de date cu restul platformei de date. Dar, o astfel de abordare rezolvă problema cu interogarea: Fiecare departament va accesa mai ușor datele necesare, deoarece un anumit mart va conține doar informații specifice domeniului. În plus, marțurile de date vor limita accesul la date pentru utilizatorii finali, ceea ce face ca EDW să fie mai sigur.
Arhitectura pe trei niveluri (Procesare analitică online)
Pe lângă stratul de mart de date, întreprinderile folosesc și cuburi de procesare analitică online (OLAP). Un cub OLAP este un tip specific de bază de date care reprezintă date din mai multe dimensiuni. În timp ce bazele de date relaționale reprezintă datele în doar două dimensiuni (gândiți-vă la Excel sau Google Sheets), OLAP vă permite să compilați date în mai multe dimensiuni și să vă deplasați între dimensiuni.
Capa cuburilor OLAP poate proveni din informații din marți distribuite sau direct din EDW
Este destul de dificil de explicat în cuvinte, așa că haideți să ne uităm la acest exemplu la îndemână despre cum poate arăta un cub.
CubulOLAP care demonstrează date multidimensionale privind vânzările
Sursa: oreilly.com
Așa că, după cum puteți vedea, un cub adaugă dimensiuni la date. Vă puteți gândi la el ca la mai multe tabele Excel combinate între ele. Partea din față a cubului este tabelul bidimensional obișnuit, în care regiunea (Africa, Asia etc.) este specificată pe verticală, în timp ce numerele de vânzări și datele sunt scrise pe orizontală. Magia începe atunci când ne uităm la fațeta superioară a cubului, unde vânzările sunt segmentate pe rute, iar în partea de jos este specificată perioada de timp. Aceasta este cunoscută sub numele de date multidimensionale.
Valoarea comercială a OLAP este că permite utilizatorilor să taie și să taie datele pentru a compila rapoarte detaliate. Atâta timp cât cuburile sunt optimizate pentru a lucra cu depozitele, ele pot fi utilizate atât direct cu un EDW pentru a oferi acces la toate datele corporative, cât și cu fiecare mart de date în parte. În ceea ce privește implementarea, aproape toți furnizorii de depozite oferă OLAP ca serviciu. Ca exemplu, consultați documentația Microsoft privind oferta lor OLAP.
În acest punct, am discutat un design de nivel înalt al unui EDW aplicat la nevoile organizaționale. Acum vom detalia componentele tehnice pe care le poate include un depozit.
Data Warehouse vs Data Lake vs Data Mart
Să vorbim despre arhitectura de stocare a datelor, trebuie să menționăm opțiuni precum utilizarea unui mart de date sau a unui lac de date în locul unui depozit. Confundate frecvent, vom detalia definițiile.
Compararea a trei forme de stocare a datelor
Data warehouses sunt menite să stocheze date structurate, astfel încât instrumentele de interogare și utilizatorii finali să poată obține rezultate complete. Depozitele, utilizate în principal pentru BI, variază de obicei în dimensiune între 100GB și infinit.
Lacurile de date, însă, sunt utilizate pentru a stoca în principal date brute sau mixte. Acestea sunt adesea valorificate în scopuri de învățare automată, big data sau de extragere a datelor. În ultimii doi ani, lacurile de date au fost utilizate pentru BI: datele brute sunt încărcate într-un lac și transformate, ceea ce reprezintă o alternativă la procesul ETL. În timp ce această abordare are avantajele și dezavantajele sale, lacurile de date pot fi prea dezordonate pentru a ajunge la date structurate.
Apoi avem marți de date, care pot fi, de asemenea, utilizate ca o alternativă la DW. Astfel de modele (precum cel al lui Kimball) presupun utilizarea mai multor marți de date pentru a distribui informațiile pe domenii și a le conecta între ele. Dar, din cauza dimensiunii lor mici (de obicei, mai puțin de 100 GB), marțurile de date pot fi folosite cu greu de întreprinderi. Cel mai adesea, data mart-urile sunt folosite pentru a segmenta un DW mare în mai multe DW operabile.
Componente ale depozitelor de date ale întreprinderilor
Există o mulțime de instrumente folosite pentru a configura o platformă de depozitare. Vom fi menționat deja majoritatea dintre ele, inclusiv un depozit propriu-zis. Așadar, haideți să aruncăm o privire de ansamblu asupra scopului fiecărei componente și a funcțiilor acestora.
Surse:
Surse. Este simplu, bazele de date în care sunt stocate datele brute.
Extract, Transform, Load (ETL) sau Stratul Extract, Load, Transform (ELT). Acestea sunt instrumentele care realizează conexiunea efectivă cu datele sursă, extragerea acestora și încărcarea lor în locul în care vor fi transformate. Transformarea unifică formatul datelor. Abordările ETL și ELT diferă prin faptul că, în cazul ETL, transformarea se face înainte de EDW, într-o zonă de pregătire. ELT este o abordare mai modernă care se ocupă de toată transformarea într-un depozit.
Zona de staționare. În cazul ETL, zona de pregătire este locul în care datele sunt încărcate înainte de EDW. Aici, acestea vor fi curățate și transformate la un anumit model de date. Zona de pregătire poate include, de asemenea, instrumente pentru gestionarea calității datelor.
Bază de date EDW. Datele sunt în cele din urmă încărcate în spațiul de stocare. În ELT, este posibil ca aici să mai fie nevoie de o anumită transformare. Dar, în această etapă, toate modificările generale vor fi aplicate, astfel încât datele vor fi încărcate în modelul (modelele) său (sale) final(e). După cum am menționat, depozitele de date sunt cel mai adesea baze de date relaționale. DW va include, de asemenea, un sistem de gestionare a bazei de date și o stocare suplimentară pentru metadate.
Modulul de metadate. Pe scurt, metadatele sunt date despre date. Acestea sunt explicațiile care oferă indicii pentru utilizatori/administratori cu privire la ce subiect/domeniu se referă aceste informații. Aceste date pot fi metadate tehnice (de exemplu, sursa inițială) sau metadate de afaceri (de exemplu, regiunea de vânzare). Toate metadatele sunt stocate într-un modul separat al EDW și sunt gestionate de un manager de metadate.
Stratul de raportare. Acestea sunt instrumente care oferă utilizatorilor finali acces la date. Denumit și interfață BI, acest strat va servi drept tablou de bord pentru a vizualiza datele, a forma rapoarte și a extrage informații separate.
Gândul final
Înțelegerea lanțului de instrumente care transmit datele vă poate ajuta să vă dați seama ce se potrivește de fapt cerințelor platformei dumneavoastră de date. Planificarea înființării unui depozit poate dura ani de zile de planificare și testare, din cauza dimensiunii acestuia în cea mai elementară formă.
Ca proprietar de afacere, s-ar putea să fiți confuz de numărul de opțiuni și tehnologii utilizate, așa că este vital să vă consultați cu experți în domeniul depozitării, ETL și BI. În timp ce experții vă pot ajuta în ceea ce privește aspectul tehnic, pentru a defini scopul afacerii, discutați cu cei care vor folosi datele reale în activitatea lor.
.