Prelucrare analitică operațională. Procesare analitică on-line (OLAP)

De mulți ani, tehnologia informației s-a concentrat pe construirea de sisteme care să sprijine procesarea tranzacțiilor corporative. Astfel de sisteme trebuie să fie vizual tolerante la erori și să ofere un răspuns rapid. O soluție eficientă a fost oferită de OLTP, care sa concentrat pe un mediu de baze de date relaționale distribuite.

O dezvoltare mai recentă în acest domeniu a fost adăugarea unei arhitecturi client-server. Au fost publicate multe instrumente pentru dezvoltarea aplicațiilor OLTP.

Accesul la date este adesea cerut atât de aplicațiile OLTP, cât și de sistemele informaționale de asistență pentru decizii. Din păcate, încercarea de a deservi ambele tipuri de solicitări poate fi problematică. Prin urmare, unele companii au ales calea împărțirii bazei de date în tip OLTP și tip OLAP.

OLAP (Prelucrare analitică online - procesare analitică operațională) este un proces de informare care permite utilizatorului să interogheze sistemul, să efectueze analize etc. în modul operațional (online). Rezultatele sunt generate în câteva secunde.

Pe de altă parte, într-un sistem OLTP, volume uriașe de date sunt procesate la fel de repede cum sunt primite ca intrare.

Sistemele OLAP sunt realizate pentru utilizatorii finali, în timp ce sistemele OLTP sunt realizate pentru utilizatorii IS profesioniști. OLAP include activități precum generarea de interogări, interogarea rapoartelor ad-hoc, efectuarea de analize statistice și construirea de aplicații multimedia.

Furnizarea OLAP necesită lucrul cu un depozit de date (sau un depozit multidimensional), precum și un set de instrumente, de obicei capabilități multidimensionale. Aceste instrumente pot fi instrumente de interogare, foi de calcul, instrumente de extragere a datelor, instrumente de vizualizare a datelor etc.

Conceptul OLAP se bazează pe principiul reprezentării multidimensionale a datelor. E. Codd a examinat deficiențele modelului relațional, subliniind în primul rând incapacitatea de a combina, vizualiza și analiza datele din punctul de vedere al dimensiunilor multiple, adică în cel mai înțeles mod pentru analiștii corporativi, și a identificat cerințe generale pentru sistemele OLAP care extind funcționalitatea SGBD-urilor relaționale și includ analiza multidimensională ca una dintre caracteristicile sale.

Într-un număr mare de publicații, acronimul OLAP denotă nu numai o vedere multidimensională a datelor, ci și stocarea datelor în sine într-o bază de date multidimensională. În general, acest lucru nu este adevărat, deoarece Codd însuși notează că bazele de date relaționale au fost, sunt și vor fi cea mai potrivită tehnologie pentru stocarea datelor întreprinderii. Nu este nevoie de o nouă tehnologie de baze de date, ci mai degrabă de instrumente de analiză care completează funcționalitatea SGBD-urilor existente și sunt suficient de flexibile pentru a găzdui și automatiza diferitele tipuri de minerit inerente în OLAP.

Potrivit Codd, o viziune conceptuală multidimensională este o perspectivă multiplă constând din mai multe dimensiuni independente de-a lungul cărora pot fi analizate seturi specifice de date. Analiza simultană pe mai multe dimensiuni este definită ca analiză multivariată. Fiecare dimensiune include zone de consolidare a datelor, constând dintr-o serie de niveluri succesive de generalizare, unde fiecărui nivel superior îi corespunde un grad mai mare de agregare a datelor pentru dimensiunea corespunzătoare. Astfel, dimensiunea Performer poate fi determinată de direcția de consolidare, constând în niveluri de generalizare „întreprindere – divizie – departament – ​​angajat”. Dimensiunea Timp poate include chiar și două direcții de consolidare - „an - trimestru - lună - zi” și „săptămână - zi”, deoarece numărarea timpului pe lună și pe săptămână este incompatibilă. În acest caz, devine posibil să se selecteze în mod arbitrar nivelul dorit de detaliu al informațiilor pentru fiecare dintre dimensiuni. Operația de coborâre corespunde mișcării de la cele mai înalte trepte de consolidare la cele mai joase; dimpotrivă, operaţiunea de ascensiune înseamnă deplasare de la nivelurile inferioare la cele superioare.

Codd a definit 12 reguli pe care trebuie să le îndeplinească un produs software de clasă OLAP. Aceste reguli:

1. Reprezentarea conceptuală multidimensională a datelor.

2. Transparență.

3. Disponibilitate.

4. Performanță constantă.

5. Arhitectura client - server.

6. Egalitatea măsurătorilor.

7. Prelucrarea dinamică a matricelor rare.

8. Suport pentru modul multi-utilizator.

9. Suport nelimitat pentru operațiuni transdimensionale.

10. Manipularea intuitivă a datelor.

11. Mecanism flexibil de generare a rapoartelor.

12. Număr nelimitat de dimensiuni și niveluri de agregare.

Setul acestor cerințe, care a servit drept definiție reală a OLAP, ar trebui considerat drept recomandări, iar produsele specifice ar trebui evaluate în funcție de gradul de apropiere de conformitatea ideală deplină a tuturor cerințelor.

Exploatarea datelor.

Data mining (DMA), sau Data Mining, este un termen folosit pentru a descrie descoperirea cunoștințelor în baze de date, extragerea cunoștințelor, extragerea datelor, extragerea datelor, procesarea mostrelor de date, curățarea datelor și extragerea datelor; Aceasta înseamnă și software însoțitor. Toate aceste acțiuni sunt efectuate automat și permit chiar și non-programatorilor să obțină rezultate rapide.

Solicitarea este făcută de utilizatorul final, eventual în limbaj natural. Solicitarea este convertită în format SQL. Solicitarea SQL este trimisă prin rețea către SGBD, care gestionează baza de date sau stocarea datelor. SGBD găsește răspunsul la cerere și îl returnează. Utilizatorul poate apoi proiecta prezentarea sau raportul conform cerințelor sale.

Multe decizii importante în aproape orice domeniu al afacerilor și sferei sociale se bazează pe analiza unor baze de date mari și complexe. IBP poate fi de mare ajutor în aceste cazuri.

Metodele de extragere a datelor sunt strâns legate de tehnologiile OLAP și de tehnologiile de depozit de date. Prin urmare, cea mai bună opțiune este o abordare integrată a implementării lor.

Pentru ca depozitele de date existente să faciliteze luarea deciziilor de management, informațiile trebuie prezentate analistului în forma cerută, adică acesta trebuie să aibă dezvoltate instrumente de accesare și prelucrare a datelor din depozit.

De foarte multe ori, sistemele informatice și analitice, create cu așteptarea utilizării directe de către factorii de decizie, se dovedesc a fi extrem de ușor de utilizat, dar foarte limitate ca funcționalitate. Astfel de sisteme statice sunt numite Sisteme Informaționale Executive. Acestea conțin seturi predefinite de interogări și, deși sunt suficiente pentru revizuirea zilnică, nu sunt în măsură să răspundă la toate întrebările despre datele disponibile care pot apărea la luarea deciziilor. Rezultatele unui astfel de sistem, de regulă, sunt rapoarte cu mai multe pagini, după un studiu atent al cărora analistul are o nouă serie de întrebări. Cu toate acestea, fiecare cerere nouă care nu a fost prevăzută la proiectarea unui astfel de sistem trebuie mai întâi descrisă formal, codificată de programator și abia apoi executată. Timpul de așteptare în acest caz poate fi de ore și zile, ceea ce nu este întotdeauna acceptabil. Astfel, simplitatea externă a sistemelor informaționale de suport pentru deciziile statistice, pentru care se luptă activ majoritatea clienților sistemelor informatice și analitice, are ca rezultat o pierdere a flexibilității.

Sistemele dinamice de sprijinire a deciziilor, dimpotrivă, sunt concentrate pe procesarea cererilor de date nereglementate (ad-hoc) ale analiștilor. Munca analiștilor cu aceste sisteme constă într-o secvență interactivă de formare a interogărilor și studierea rezultatelor acestora.

Dar sistemele dinamice de sprijinire a deciziilor pot funcționa nu numai în domeniul prelucrării analitice online (OLAP). Suportul pentru luarea deciziilor de management pe baza datelor acumulate poate fi realizat în trei domenii de bază.

1. Domeniul de aplicare al datelor detaliate. Acesta este domeniul de aplicare al majorității sistemelor de recuperare a informațiilor. În cele mai multe cazuri, SGBD-urile relaționale fac față bine sarcinilor care apar aici. Standardul general acceptat pentru limbajul de manipulare a datelor relaționale este SQL. Sistemele de recuperare a informațiilor care oferă o interfață pentru utilizatorul final în sarcinile de căutare a informațiilor detaliate pot fi utilizate ca suplimente atât pe bazele de date individuale ale sistemelor tranzacționale, cât și pe un depozit general de date.

2. Domeniul de aplicare al indicatorilor agregați. O privire cuprinzătoare asupra informațiilor colectate într-un depozit de date, generalizarea și agregarea acestuia și analiza multidimensională sunt sarcinile sistemelor OLAP. Aici vă puteți concentra fie pe SGBD-uri multidimensionale speciale, fie să rămâneți în cadrul tehnologiilor relaționale. În al doilea caz, datele preagregate pot fi colectate într-o bază de date în formă de stea, sau agregarea informațiilor poate fi efectuată în procesul de scanare a tabelelor detaliate ale unei baze de date relaționale.

3. Sfera tiparelor. Prelucrarea intelectuală se realizează folosind metode de data mining, ale căror obiective principale sunt căutarea tiparelor funcționale și logice în informațiile acumulate, construirea de modele și reguli care explică anomaliile constatate și/sau prezice dezvoltarea anumitor procese.

Structura completă a sistemului informațional și analitic construit pe baza unui depozit de date este prezentată în Fig. 3.2. În implementări specifice, componentele individuale ale acestui circuit lipsesc adesea.

Fig.3.2. Structura sistemului informatic și analitic corporativ.

Conceptul OLAP se bazează pe principiul reprezentării multidimensionale a datelor. Într-un articol din 1993, E. F. Codd a abordat deficiențele modelului relațional, subliniind în primul rând incapacitatea de a „fuziona, vizualiza și analiza datele în termeni de dimensiuni multiple, adică în cel mai înțeles mod pentru analiștii de întreprindere”, și a definit cerințe generale pentru sistemele OLAP care extind funcționalitatea SGBD relațional și includ analiza multidimensională ca una dintre caracteristicile sale.

Într-un număr mare de publicații, acronimul OLAP denotă nu numai o vedere multidimensională a datelor, ci și stocarea datelor în sine într-o bază de date multidimensională. În general, acest lucru nu este adevărat, deoarece Codd însuși notează că „Bazele de date relaționale au fost, sunt și vor fi cea mai potrivită tehnologie pentru stocarea datelor întreprinderii. Nu este nevoie de o nouă tehnologie de baze de date, ci mai degrabă de instrumente de analiză care să completeze funcțiile SGBD-urile existente și suficient de flexibile pentru a activa și automatiza diferitele tipuri de minerit inerente OLAP.” O astfel de confuzie duce la opoziții precum „OLAP sau ROLAP”, ceea ce nu este în întregime corect, întrucât ROLAP (OLAP relațional) la nivel conceptual susține toată funcționalitatea definită de termenul OLAP. Pare mai de preferat să folosiți termenul special MOLAP pentru OLAP bazat pe SGBD-uri multidimensionale, așa cum se face în.

Potrivit Codd, o viziune conceptuală multidimensională este o perspectivă multiplă constând din mai multe dimensiuni independente de-a lungul cărora pot fi analizate seturi specifice de date. Analiza simultană pe mai multe dimensiuni este definită ca analiză multivariată. Fiecare dimensiune include zone de consolidare a datelor, constând dintr-o serie de niveluri succesive de generalizare, unde fiecărui nivel superior îi corespunde un grad mai mare de agregare a datelor pentru dimensiunea corespunzătoare. Astfel, dimensiunea Performer poate fi determinată de direcția de consolidare, constând din nivelurile de generalizare „întreprindere – divizie – departament – ​​angajat”. Dimensiunea Timp poate include chiar și două direcții de consolidare - „an - trimestru - lună - zi” și „săptămână - zi”, deoarece numărarea timpului pe lună și pe săptămână este incompatibilă. În acest caz, devine posibil să se selecteze în mod arbitrar nivelul dorit de detaliu al informațiilor pentru fiecare dintre dimensiuni. Operațiunea de foraj în jos corespunde mișcării de la stadiile superioare la cele inferioare de consolidare; dimpotrivă, operația de rulare înseamnă deplasare de la niveluri inferioare la niveluri superioare (Fig. 2).

Orez. 2. Dimensiuni și direcții de consolidare a datelor

Baze de date corporative ale sistemelor informatice economice

3. Procesare analitică on-line (OLAP)

Tehnologia pentru analiza complexă a datelor multidimensionale se numește OLAP (On-Line Analytical Processing). OLAP este o componentă cheie a depozitării datelor. Conceptul OLAP a fost descris în 1993 de Edgar Codd și are următoarele cerințe pentru aplicațiile de analiză multidimensională:

reprezentarea conceptuală multidimensională a datelor, inclusiv suport complet pentru ierarhii și ierarhii multiple (o cerință cheie a OLAP);

furnizarea utilizatorului de rezultate de analiză într-un timp acceptabil (de obicei nu mai mult de 5 s), cu prețul unei analize mai puțin detaliate;

capacitatea de a efectua orice analiză logică și statistică specifică unei aplicații date și de a o salva într-o formă accesibilă utilizatorului final;

acces multi-utilizator la date cu suport pentru mecanisme de blocare adecvate si mijloace de acces autorizate;

capacitatea de a accesa orice informație necesară, indiferent de volumul acesteia.

Un sistem OLAP este format din mai multe componente. La cel mai înalt nivel de prezentare, sistemul include o sursă de date, o bază de date multidimensională (MDB), care oferă posibilitatea implementării unui mecanism de raportare bazat pe tehnologia OLAP, un server OLAP și un client. Sistemul este construit pe principiul client-server și oferă acces la distanță și multi-utilizator la serverul MDB.

Să ne uităm la componentele unui sistem OLAP.

Surse. Sursa în sistemele OLAP este serverul care furnizează date pentru analiză. În funcție de utilizarea produsului OLAP, sursa poate fi un depozit de date, o bază de date moștenită care conține date comune, un set de tabele care agregă date financiare sau orice combinație a celor de mai sus.

Magazin de date. Datele sursă sunt colectate și stocate într-un depozit proiectat conform principiilor de depozitare a datelor. Depozitul de date este o bază de date relațională (RDB). Tabelul de date principal (tabelul de fapte) conține valorile numerice ale indicatorilor pentru care sunt colectate informații statistice.

Baza de date multidimensionala. Un depozit de date servește ca furnizor de informații pentru o bază de date multidimensională, care este o colecție de obiecte. Clasele principale ale acestor obiecte sunt dimensiunile și măsurile. Dimensiunile includ seturi de valori (parametri) prin care datele sunt indexate, de exemplu, ora, regiunile, tipul de instituție etc. Fiecare dimensiune este completată cu valori din tabelele de dimensiuni corespunzătoare ale depozitului de date. Setul de măsurători determină spațiul procesului studiat. Indicatorii se referă la cuburi de date multidimensionale (hipercuburi). Hipercubul conține datele în sine, precum și sume agregate pentru dimensiunile incluse în indicator. Indicatorii constituie conținutul principal al BMD și sunt completați în conformitate cu tabelul de fapte. De-a lungul fiecărei axe a unui hipercub, datele pot fi organizate într-o ierarhie reprezentând diferite niveluri de detaliu. Acest lucru vă permite să creați dimensiuni ierarhice, care vor fi utilizate pentru a agrega sau a detalia prezentarea datelor în timpul analizei ulterioare a datelor. Un exemplu tipic de dimensiune ierarhică este o listă de obiecte teritoriale grupate pe districte, regiuni și districte.

Server. Partea aplicativă a sistemului OLAP este serverul OLAP. Această componentă face toată munca (în funcție de modelul sistemului) și stochează toate informațiile la care este oferit accesul activ. Arhitectura serverului este guvernată de diferite concepte. În special, principala caracteristică funcțională a produselor OLAP este utilizarea MDB sau RDB pentru stocarea datelor.

Aplicație client. Datele structurate în consecință și stocate în MDB sunt disponibile pentru analiză folosind o aplicație client. Utilizatorul are posibilitatea de a accesa date de la distanță, de a formula interogări complexe, de a genera rapoarte și de a obține subseturi arbitrare de date. Obținerea unui raport se reduce la selectarea unor valori de măsurare specifice și la construirea unei secțiuni a unui hipercub. Secțiunea transversală este determinată de valorile de măsurare selectate. Datele pentru alte măsurători sunt rezumate.

Principalele concepte ale unui model de date multidimensional sunt: ​​Data Hypercube, Dimension, Memders, Cell și Measure.

Un hipercub de date conține una sau mai multe dimensiuni și este o colecție ordonată de celule. Fiecare celulă este definită de un singur set de valori de dimensiune—etichete. Celula poate conține date - o măsură sau poate fi goală.

O dimensiune este un set de semne care formează una dintre fețele unui hipercub. Un exemplu de dimensiune de timp este o listă de zile, luni, trimestre. Un exemplu de dimensiune geografică ar putea fi o listă de obiecte teritoriale: așezări, districte, regiuni, țări etc.

Pentru a accesa datele, utilizatorul trebuie să specifice una sau mai multe celule selectând valorile dimensiunilor care corespund celulelor dorite. Procesul de selectare a valorilor de măsurare se numește etichete de fixare, iar setul de valori de măsurare selectate se numește set de etichete fixe.

Avantajele utilizării instrumentelor OLAP server în comparație cu instrumentele OLAP client: atunci când se utilizează instrumente server, calculul și stocarea datelor agregate au loc pe server, iar aplicația client primește doar rezultatele interogărilor către acestea, ceea ce permite în general reducerea traficului de rețea și execuția interogărilor cerinţele de timp şi resurse consumate de aplicaţia client.

1. Reprezentarea datelor multidimensionale - instrumente pentru utilizatorul final care asigură vizualizarea și manipularea multidimensională a datelor; Stratul de reprezentare multidimensională face abstracție din structura fizică a datelor și tratează datele ca fiind multidimensionale.

2. Procesare multidimensională - un mijloc (limbaj) pentru formularea de interogări multidimensionale (limbajul relațional tradițional SQL este nepotrivit aici) și un procesor care poate procesa și executa o astfel de interogare.

3. Stocare multidimensională - mijloc de organizare fizică a datelor, asigurând executarea eficientă a interogărilor multidimensionale.

Primele două niveluri sunt obligatorii în toate instrumentele OLAP. Al treilea nivel, deși larg răspândit, nu este necesar, deoarece datele pentru o reprezentare multidimensională pot fi extrase și din structuri relaționale obișnuite.

În orice depozit de date - atât obișnuit, cât și multidimensional - alături de datele detaliate extrase din sistemele operaționale, sunt stocați și indicatori agregați (indicatori totali), precum suma volumelor vânzărilor pe lună, pe categorii de produse etc.

Principalele dezavantaje sunt creșterea volumului de informații stocate (la adăugarea unor noi dimensiuni, volumul de date care alcătuiește cubul crește exponențial) și timpul necesar pentru încărcarea acestora.

Gradul de creștere a volumului de date la calcularea agregatelor depinde de numărul de dimensiuni ale cubului și de structura acestor dimensiuni, i.e. raportul dintre numărul de „părinți” și „descendenți” la diferite niveluri de măsurare. Pentru a rezolva problema stocării agregatelor, se folosesc scheme complexe, care fac posibilă obținerea unei creșteri semnificative a performanței interogării atunci când se calculează nu toate agregatele posibile.

Atât datele brute, cât și cele agregate pot fi stocate în structuri relaționale sau multidimensionale. În acest sens, sunt utilizate în prezent trei metode de stocare a datelor multidimensionale:

MOLAP (Multidimensional OLAP) - datele sursă și agregate sunt stocate într-o bază de date multidimensională. Stocarea datelor în structuri multidimensionale vă permite să manipulați datele ca o matrice multidimensională, datorită căreia viteza de calcul a valorilor agregate este aceeași pentru oricare dintre dimensiuni. Cu toate acestea, în acest caz, baza de date multidimensională este redundantă, deoarece datele multidimensionale conțin în întregime datele relaționale originale.

Aceste sisteme oferă un ciclu complet de procesare OLAP. Acestea fie includ, pe lângă componenta server, propria interfață client integrată, fie folosesc programe externe de foi de calcul pentru a comunica cu utilizatorul.

ROLAP (OLAP relațional) - datele originale rămân în aceeași bază de date relațională în care au fost localizate inițial. Datele agregate sunt plasate în tabele de servicii special create pentru stocarea lor în aceeași bază de date.

HOLAP (Hybrid OLAP) - datele originale rămân în aceeași bază de date relațională în care au fost localizate inițial, iar datele agregate sunt stocate într-o bază de date multidimensională.

Unele instrumente OLAP acceptă stocarea datelor doar în structuri relaționale, altele doar în cele multidimensionale. Cu toate acestea, majoritatea instrumentelor moderne OLAP de server acceptă toate cele trei metode de stocare a datelor. Alegerea metodei de stocare depinde de volumul și structura datelor sursă, de cerințele pentru viteza de execuție a interogărilor și de frecvența actualizării cuburilor OLAP.

Tehnologiile OLAP ca instrument puternic pentru prelucrarea datelor în timp real

Dr. E.F. (Ted) Coddy a inventat sintagma Procesare analitică online (OLAP) în 1993...

Prelucrarea datelor analitice (OLAP). Depozit de date de informații. Modele de date utilizate pentru construirea depozitelor de informații

Sarcina principală pentru modelul OLTP este procesarea rapidă a interogărilor, menținerea integrității datelor, accesul multiplu la mediu, eficiența acestuia este măsurată prin numărul de tranzacții pe secundă...

Selectarea și justificarea configurației unui computer personal orientat pentru lucrul cu sunet la nivel amator

Memoria cu acces aleatoriu (RAM) este o parte volatilă a unui sistem de memorie de computer care stochează temporar datele și comenzile necesare procesorului pentru a efectua o operațiune...

Selectarea și justificarea configurației unui computer personal concentrat pe realizarea unei game specifice de sarcini

Memoria cu acces aleatoriu (memorie cu acces aleatoriu; jargon computer: Memorie, RAM) este o parte volatilă a sistemului de memorie al computerului în care datele și comenzile sunt stocate temporar...

algoritmul de programare a procesorului În sistemele de procesare online, timpul mediu pentru deservirea cererilor este utilizat ca principal criteriu de eficiență. Este ușor de observat că în cazul în care timpii de rezolvare a problemelor sunt cunoscuți a priori...

Studiul algoritmilor de gestionare a resurselor pentru servere cu un singur procesor în timpul procesării sarcinilor online (algoritmi SPT și RR)

Algoritmul SPT este utilizat când se cunosc timpii de rezolvare a problemelor (proceselor). Pentru a face acest lucru, înainte de a o rezolva direct, mai întâi sortează problemele în ordine crescătoare...

Baze de date corporative ale sistemelor informatice economice

Tehnologia pentru analiza complexă a datelor multidimensionale se numește OLAP (On-Line Analytical Processing). OLAP este o componentă cheie a depozitării datelor. Conceptul de OLAP a fost descris în 1993...

Perspective pentru dezvoltarea PC-ului

Memoria cu acces aleatoriu (RAM) este o serie de celule cristaline capabile să stocheze date. RAM este un element foarte important al unui computer. Stochează programe și date cu care PC-ul lucrează direct...

Proiectarea unui PC pentru calcularea cheltuielilor de vacanță

De o importanță deosebită în ceea ce privește tehnologiile informatice și telecomunicațiile sunt modurile „online” și „offline”. Modul „Online” este un mod neautonom de operare a computerului, o conexiune constantă la Internet. Produse software...

Plăci de bază, tipuri și specificații

Memoria cu acces aleatoriu (RAM) este o parte volatilă a sistemului de memorie al computerului care stochează temporar datele și comenzile necesare procesorului pentru a efectua operațiuni (Figura 3)...

Echipamente informatice multimedia moderne

După cum știți, un computer stochează date în principal pe un dispozitiv special - un hard disk. Și în procesul de lucru o ia de acolo. Unde ajung informațiile mai târziu? Este clar...

1.1.1 Produsul software Skype Skype este un program care vă permite să comunicați prin Internet cu colegii, prietenii, rudele din întreaga lume...

Analiza comparativă a sistemelor de învățare la distanță

1.2.2 Sistemul de învățare la distanță Moodle Moodle LMS este un mediu de învățământ la distanță conceput pentru crearea și utilizarea cursurilor la distanță...

Tehnologia OLAP

La construirea unui sistem informatic, funcționalitatea OLAP poate fi implementată folosind atât instrumente OLAP pentru server, cât și pentru client...

Instrumentele clasei OLAP (Procesare analitică on-line, traducere tradițională rusă - „procesare analitică online”) sunt astăzi instrumente analitice populare, fără de care este aproape imposibil să ne imaginăm un sistem informatic și analitic. Însuși termenul OLAP a fost inventat în 1993 de Codd, care a discutat despre deficiențele modelului relațional din punctul de vedere al analiștilor corporativi. Instrumentul care trebuia să corecteze aceste deficiențe a fost conceptul OLAP. Pentru a fi corect, trebuie spus că înainte de introducerea acestui termen a fost folosită o abordare similară cu OLAP (și anume reprezentarea multidimensională a datelor), dar impulsul pentru răspândirea pe scară largă a tehnologiei și implementarea acesteia în multe produse analitice a fost articolul lui Codd. .

Printre dezavantajele modelului relațional și ale SGBD relațional în raport cu sarcinile de analiză, Codd a remarcat următoarele. În primul rând, interogările analitice sunt destul de complexe și implică un număr mare de operațiuni de îmbinare relațională relativ lente. În al doilea rând, alcătuirea de interogări către bazele de date relaționale nu este disponibilă pentru analiștii corporativi (de acum înainte îi vom numi „factori de decizie” sau factori de decizie). Al doilea dezavantaj provoacă un ciclu destul de lung pentru obținerea informațiilor necesare de la decident - este necesar, de exemplu, să contactați serviciul de informații, unde vor pregăti un formular de raport cu informațiile relevante și apoi vor utiliza rapoartele acestui formă. Codd a văzut o soluție la aceste probleme într-un instrument analitic care susține un model multidimensional, la fel de înțeles pentru factorul de decizie. Adică, sunt identificate mai multe dimensiuni, în contextul cărora sunt luați în considerare diverși indicatori ai performanței întreprinderii. Un astfel de model, datorită clarității și intuitivității sale, ar trebui să permită decidentului să acceseze el însuși informațiile necesare. Pe de altă parte, răspunsurile la interogări trebuie generate suficient de rapid (această cerință este responsabilă pentru partea „On-Line” a acronimului OLAP).

Codd a formulat, de asemenea, 12 reguli pe care un sistem OLAP trebuie să le îndeplinească. Ulterior, aceste reguli au fost reelaborate în 18 proprietăți, împărțite în 4 grupuri. Acest set de reguli nu este popular. Poate pentru că, spre deosebire de binecunoscutul manifest din 1970 al lui Codd, care descrie modelul de date relaționale, lucrarea din 1993 conținea o justificare mult mai puțin fundamentală și era mai puțin verificată teoretic. În plus, a fost publicat sub auspiciile unui furnizor reputat de sisteme analitice, iar regulile formulate în acesta pot să nu fie universale, dar țin cont de specificul produselor acestui furnizor. Într-un fel sau altul, așa-numitul test FASMI este mai popular, care poate fi confundat cu definiția OLAP. FASMI este un acronim care înseamnă:

Rapid – Timpul de răspuns al sistemului trebuie măsurat în secunde. Studiile independente arată că timpul de așteptare al unui utilizator pentru un răspuns de la un computer este de aproximativ 20 de secunde. După această perioadă, utilizatorul începe să simtă disconfort. Fără îndoială, realizarea oricăror interogări cu privire la cantități mari de informații în câteva secunde este o sarcină dificilă pentru producătorii de instrumente OLAP. De fapt, aceasta este una dintre principalele direcții de dezvoltare în acest domeniu. Cu toate acestea, după cum arată unele sondaje, viteza de operare nesatisfăcătoare este încă una dintre principalele plângeri ale utilizatorilor cu privire la instrumentele din această clasă.

Analiză (analiza) - sistemul este conceput pentru un studiu cuprinzător al datelor, iar acest studiu poate conține elemente de logică de afaceri, poate suporta dependențe definite de utilizator și așa mai departe.

Partajat (partajat, multi-utilizator) - sistemul trebuie să suporte lucrul cu mai mulți utilizatori, asigurând în același timp nivelul necesar de confidențialitate. Dacă corectarea datelor de către utilizator este permisă, atunci aceasta trebuie controlată prin mecanisme de blocare cunoscute la nivelul necesar.

Multidimensional - Datele trebuie prezentate într-o formă multidimensională. Aceasta este partea principală a definiției OLAP.

Informații (informații) - această componentă sugerează că rezultatul analizei este informație (spre deosebire de datele stocate într-o bază de date relațională).

Testul FASMI, ca și regulile lui Codd, stabilește un anumit standard - „instrumentul OLAP ideal”. De fapt, diferite produse pot fi comparate în funcție de cât de bine îndeplinesc aceste prevederi. În prezent nu există produse care să le satisfacă pe deplin.

Conexiune între OLAP și stocarea datelor

Depozitele de date reflectă tendința modernă de colectare și curățare a datelor din sistemele tranzacționale și stocarea acestora în scopuri de analiză. Apariția tehnologiei de depozit de date se datorează parțial acelorași condiții prealabile ca OLAP - diferența dintre interogările analitice și interogările tipice la sistemele contabile. În plus, dorința de a colecta date din toate sursele din întreprindere pentru a crea o imagine a informațiilor mai holistică s-a dovedit a fi foarte relevantă.

Un tip de depozit de date este data marts (sau data marts). Diferența lor față de depozitele de date constă în principal în dimensiune. Dacă datele întreprinderii ajung în depozitul de date, atunci vitrina prezintă date referitoare la o singură divizie, serviciu sau ramură. O vitrină poate fi creată fie independent, fie ca subset al unui depozit de date corporative.

Colectate din surse diferite, datele consistente și uneori agregate sunt ideale pentru analiză. Prin urmare, în cele mai multe cazuri, instrumentele OLAP sunt implementate în mod specific pe baza unui depozit sau a unui data mart și sunt concepute pentru a analiza datele conținute acolo. Aceasta este o tendință atât de generală încât în ​​unele surse conceptele de Data Warehouse (data mart) și OLAP nu se disting. Cu toate acestea, din necesitate metodologică, încă mai trebuie făcută o distincție. Tehnologia depozitului de date se concentrează mai mult pe colectarea, curățarea și stocarea datelor, iar OLAP se concentrează mai mult pe procesarea și prezentarea acestora.


Informații conexe.


Termen prelucrare analitică operațională(On-Line Analytical Processing - OLAP) a fost menționat pentru prima dată într-un raport pregătit pentru Arbor Software Corp. în 1993, deși definiția acestui termen, ca și în cazul depozitelor de date, a fost formulată mult mai târziu. Conceptul desemnat de acest termen poate fi definit ca „procesul interactiv de creare, menținere, analiză a datelor și emitere de rapoarte”. În plus, se adaugă de obicei că datele în cauză ar trebui percepute și prelucrate ca și cum ar fi stocate în matrice multidimensională. Dar înainte de a discuta perspectiva multidimensională în sine, să ne uităm la ideile relevante în ceea ce privește tabelele SQL tradiționale.

Prima caracteristică este că procesarea analitică necesită în mod necesar o anumită agregare date, de obicei, efectuate folosind mai multe metode diferite simultan sau, cu alte cuvinte, conform mai multor criterii de grupare diferite. În esență, una dintre principalele probleme ale prelucrărilor analitice este că numărul de moduri posibile de grupare

foarte curând devine prea mare. Cu toate acestea, utilizatorii ar trebui să ia în considerare toate sau majoritatea acestor metode. Desigur, standardul SQL acceptă acum o astfel de agregare, dar orice interogare SQL dată produce un singur tabel ca rezultat, iar toate rândurile din acel tabel rezultat au aceeași formă și aceeași interpretare10 (cel puțin așa funcționează)

9 Iată câteva sfaturi dintr-o carte despre depozitarea datelor: „[Abandonați] normalizarea... Încercarea de a normaliza oricare dintre tabelele dintr-o bază de date multidimensională doar pentru a economisi spațiu pe disc [așa e!] este o pierdere de timp... Tabelele dimensionale nu ar trebui să fie normalizate... Tabelele de dimensiuni normalizate exclud posibilitatea de vizualizare."

10 Cu excepția cazului în care acest tabel de rezultate include valori nedefinite sau valori NULL (vezi Capitolul 19, Secțiunea 19.3, „Informații suplimentare despre predicate”). De fapt, constructele SQL: 1999 care urmează să fie descrise în această secțiune pot fi caracterizate ca „bazate pe utilizarea” acestui instrument SQL extrem de descurajat (?); de fapt, ele evidențiază faptul că în diferitele lor manifestări, semnificațiile nedefinite pot avea semnificații diferite și, prin urmare, permit reprezentarea multor predicate diferite într-un singur tabel (așa cum va fi arătat mai jos).

a fost înainte de apariția standardului SQL: 1999). Prin urmare, pentru a pune în aplicare P diferite metode de grupare, trebuie să efectuați P interogări separate și, ca rezultat, creați l tabele separate. De exemplu, luați în considerare următoarea secvență de interogări care rulează pe baza de date a furnizorilor și a pieselor.

1. Determinați numărul total de livrări.

2. Determinați numărul total de livrări pe furnizor.

3. Determinați numărul total de piese furnizate.

4. Determinați numărul total de livrări pe furnizor și parte.

(Desigur, cantitatea „totală” pentru un anumit furnizor și pentru o anumită piesă este pur și simplu cantitatea reală pentru un anumit furnizor și o anumită piesă. Exemplul ar fi mai realist dacă s-ar folosi o bază de date cu furnizori, piese și proiecte. Dar pentru a păstra acest lucru simplu, de exemplu, ne-am stabilit în continuare pe baza de date obișnuită a furnizorilor și a pieselor.)

Acum să presupunem că există doar două părți, cu numerele P1 și P2, iar tabelul de aprovizionare arată astfel.

Baze de date multidimensionale

Până acum am presupus că datele OLAP sunt stocate într-o bază de date obișnuită folosind limbajul SQL (să nu mai vorbim că am atins ocazional terminologia și conceptul). baze de date multidimensionale). De fapt, fără a indica în mod explicit, am descris așa-numitul sistem ROLAP(Relațional OLAP relaționale OLAP). Cu toate acestea, mulți cred că folosind sistemul MOLAP(Multidimensional OLAP- OLAP multidimensional) este o cale mai promițătoare. În această subsecțiune, principiile construirii sistemelor MOLAP vor fi discutate mai detaliat.

Sistemul MOLAP menține baze de date multidimensionale,în care datele sunt stocate conceptual în celulele unui tablou multidimensional.

Notă. Deși mai sus Și s-a spus despre conceptual metoda de organizare a stocării, de fapt organizarea fizică a datelor în MOLAP foarte asemănătoare cu organizarea lor logică.

SGBD suport este numit multidimensionale. Un exemplu simplu este o matrice tridimensională care reprezintă produse, clienți și, respectiv, perioade de timp. Valoarea fiecărei celule individuale poate reprezenta volumul total al unui articol specificat vândut unui client într-o anumită perioadă de timp. După cum s-a menționat mai sus, tabele încrucișate din subsecțiunea anterioară pot fi, de asemenea, considerate astfel de matrice.

Dacă există o înțelegere suficient de clară a structurii unui set de date, atunci toate relațiile dintre date pot fi cunoscute. În plus, variabile o astfel de colecție (nu în sensul limbajelor de programare obișnuite), aproximativ vorbind, poate fi împărțită în dependentȘi independent. ÎN exemplul anterior produs, clientȘi perioada de timp pot fi considerate variabile independente și cantitate - singura variabilă dependentă. În general, variabilele independente sunt variabile ale căror valori împreună determină valorile variabilelor dependente (la fel cum, în terminologia relațională, o cheie candidată este un set

coloane ale căror valori determină valorile coloanelor rămase). În consecință, variabilele independente specifică dimensiunea matricei cu care sunt organizate datele și, de asemenea, formează schema de adresare11 pentru o matrice dată. Valorile variabilelor dependente, care reprezintă datele reale, sunt stocate în celule matrice.

Notă. Diferența dintre valorile independent sau dimensional, variabile

și valorile celor dependente, sau nedimensional, variabilele sunt uneori caracterizate ca diferența dintre LocațieȘi conţinut.

„De aceea, celulele matricelor sunt adresate simbolic, mai degrabă decât utilizarea indicilor numerici, care sunt de obicei utilizați pentru lucrul cu matrice.

Din păcate, caracterizarea de mai sus a bazelor de date multidimensionale este prea simplistă, deoarece majoritatea colecțiilor de date rămân inițial Nu pe deplin studiat. Din acest motiv, de obicei ne străduim să analizăm mai întâi datele pentru a le înțelege mai bine. Adesea, lipsa de înțelegere poate fi atât de semnificativă încât este imposibil să se determine în prealabil care variabile sunt independente și care sunt dependente. Apoi variabilele independente sunt selectate în funcție de înțelegerea curentă a acestora (adică, pe baza unor ipoteze), iar matricea rezultată este apoi examinată pentru a determina cât de bine au fost selectate variabilele independente (vezi Secțiunea 22.7). Această abordare are ca rezultat o mulțime de iterații de încercare și eroare. Prin urmare, sistemul permite de obicei înlocuirea variabilelor dimensionale și nedimensionale, iar această operație este numită schimbarea axelor de coordonate(pivotant). Alte operațiuni acceptate includ transpunerea matriceiȘi reordonarea dimensiunilor. Ar trebui să existe și o modalitate de a adăuga dimensiuni.

Apropo, din descrierea anterioară ar trebui să fie clar că celulele matrice sunt adesea goale (și cu cât mai multe dimensiuni, cu atât mai des este observat acest fenomen). Cu alte cuvinte, matricele sunt de obicei rar. Să presupunem, de exemplu, că produsul p nu a fost vândut clientului c pe toată perioada de timp t. Apoi celula [s, p, t] va fi goală (sau, în cel mai bun caz, conține zero). SGBD-urile multidimensionale acceptă diverse metode de stocare a tablourilor rare într-o reprezentare mai eficientă, comprimată12. Trebuie adăugat că celulele goale corespund informatie lipsași, prin urmare, sistemele trebuie să ofere un anumit suport de calcul pentru celulele goale. Un astfel de suport este într-adevăr disponibil de obicei, dar stilul său, din păcate, este similar cu stilul adoptat în limbajul SQL. Vă rugăm să rețineți că, dacă această celulă este goală, atunci informațiile sunt fie necunoscute, fie nu au fost introduse, fie nu sunt aplicabile, fie lipsesc din alte motive.

(vezi capitolul 19).

Variabilele independente sunt adesea legate ierarhie, definirea căilor pe care poate avea loc agregarea datelor dependente. De exemplu, există un temporar

o ierarhie care leagă secunde cu minute, minute cu ore, ore cu zile, zile cu săptămâni, săptămâni cu luni, luni cu ani. Sau un alt exemplu: o ierarhie este posibilă

compoziții care conectează piese cu un set de piese, seturi de piese cu o unitate, unități cu un modul, module cu un produs. Adesea, aceleași date pot fi agregate în multe moduri diferite, de ex. aceeași variabilă independentă poate aparține multor ierarhii diferite. Sistemul oferă operatori pt trecând în sus(foraj) și trecând în jos(drill down) conform acestei ierarhii. Trecând în susînseamnă o tranziție de la nivelul inferior de agregare la cel superior și trecând în jos -

tranziție în sens invers. Există și alte operații pentru lucrul cu ierarhii, cum ar fi o operație de reordonare a nivelurilor de ierarhie.

Notă.Între operații trecând în sus(foraj) și acumulare de rezultate(rola

sus) există o diferență subtilă: operația acumulare de rezultate - aceasta este o operațiune de implementare

12 Observați diferența față de sistemele relaționale. În analogul relațional real al acestui exemplu, în linie Ic, p, t) nu ar exista „celula” de cantitate goală datorită faptului că linia (s, p, t) ar lipsi pur și simplu. Prin urmare, atunci când se utilizează modelul relațional, spre deosebire de tablourile multidimensionale, nu este nevoie să se suporte „matrice rare”, sau mai degrabă „tabele rare”, și, prin urmare, nu sunt necesare tehnici de compresie sofisticate pentru a lucra cu astfel de tabele.

metodele necesare de grupare și agregare și operațiunea trecând în sus- aceasta este o operațiune acces la rezultatele implementării acestor metode. Și un exemplu de operație trecând în jos Ar putea fi utilizată următoarea interogare: „Numărul total de livrări este cunoscut; obțineți totalurile pentru fiecare furnizor în parte.” Desigur, pentru a răspunde acestei solicitări, trebuie să fie disponibile (sau calculabile) niveluri mai granulare de date.

Produsele de baze de date multivariate oferă, de asemenea, o serie de funcții statistice și alte funcții matematice care ajută la formularea și testarea ipotezelor (adică ipoteze despre relațiile formulate). În plus, sunt furnizate instrumente de vizualizare și raportare pentru a ajuta la rezolvarea unor astfel de probleme. Din păcate, încă nu există un limbaj standard de interogare pentru bazele de date multidimensionale, deși sunt în curs de desfășurare cercetări pentru a dezvolta un calcul pe care să se bazeze un astfel de standard. Dar, din păcate, nu există nimic ca teoria relațională a normalizării care ar putea servi drept bază științifică pentru proiectarea bazelor de date multidimensionale.

În încheierea acestei secțiuni, observăm că unele produse combină ambele abordări - ROLAP și MOLAP. ca aceasta sistem hibrid OLAP numit HOLAP. Există o dezbatere considerabilă cu privire la care dintre aceste trei abordări este mai bună, așa că merită să încercăm să spunem câteva cuvinte pe această temă13. În general, sistemele MOLAP oferă calcule mai rapide, dar suportă cantități mai mici de date în comparație cu sistemele ROLAP, de exemplu. devin mai puțin eficiente pe măsură ce volumul de date crește. Și sistemele ROLAP oferă capacități de scalabilitate, concurență și control mai avansate decât capabilitățile similare ale sistemelor MOLAP. În plus, standardul SQL a fost recent extins pentru a include multe funcții statistice și analitice (vezi Secțiunea 22.8). Rezultă că produsele ROLAP sunt acum capabile să ofere și funcționalități avansate.