OLAP

OLAP ( English  online analytical processing , interactive analytical processing) este o tehnologie de prelucrare a datelor care constă în pregătirea de informații rezumative (agregate) bazate pe matrice mari de date structurate după un principiu multidimensional. Implementările tehnologiei OLAP sunt componente ale soluțiilor software din clasa Business Intelligence [1] .

Fondatorul termenului OLAP - Edgar Codd , a propus în 1993 „12 reguli pentru procesarea analitică în timp real” (similar celor formulate anterior „ 12 reguli pentru baze de date relaționale ”).

Acțiune OLAP

Motivul utilizării OLAP pentru procesarea interogărilor este viteza. Bazele de date relaționale stochează entitățile în tabele separate, care sunt de obicei bine normalizate. Această structură este convenabilă pentru bazele de date operaționale ( sisteme OLTP ), dar interogările complexe cu mai multe tabele sunt relativ lente în ea.

O structură OLAP creată din date de producție se numește cub OLAP . Un cub este creat din unirea tabelelor folosind fie o schemă stea, fie o schemă fulg de zăpadă . În centrul schemei stea se află tabelul de fapte , care conține faptele cheie pe care se fac interogările. Mai multe tabele cu dimensiuni sunt atașate unui tabel de fapte. Aceste tabele arată cum pot fi analizate datele relaționale agregate Numărul de agregări posibile este determinat de numărul de moduri în care datele originale pot fi afișate ierarhic.

De exemplu, toți clienții pot fi grupați după oraș sau regiune de țară (Vest, Est, Nord și așa mai departe), astfel încât 50 de orașe, opt regiuni și două țări alcătuiesc trei niveluri ale unei ierarhii cu 60 de membri. De asemenea, clienții pot fi grupați în funcție de produse; dacă există 250 de produse în 20 de categorii, trei grupuri de produse și trei divizii de produse, atunci numărul de agregate va fi de 16 560. Când se adaugă dimensiuni la schemă, numărul de opțiuni posibile ajunge rapid la zeci de milioane sau mai mult.

Un cub OLAP conține date de bază și informații despre dimensiune (agregate). Cubul poate conține toate informațiile care pot fi necesare pentru a răspunde oricăror întrebări. Cu un număr mare de unități, adesea un calcul complet are loc doar pentru unele măsurători, pentru restul se face „la cerere”.

Există trei tipuri de OLAP: [2]

MOLAP este forma clasică de OLAP, deci este adesea numită simplu OLAP. Utilizează o bază de date de însumare și creează schema de date multidimensională necesară, păstrând atât datele de bază, cât și agregatele.

ROLAP lucrează direct cu o bază de date relațională , faptele și tabelele de dimensiuni sunt stocate în tabele relaționale, iar tabele relaționale suplimentare sunt create pentru a stoca agregate.

HOLAP folosește tabele relaționale pentru a stoca date de bază și tabele multidimensionale pentru a stoca agregate.

Un caz special de ROLAP este ROLAP în timp real ( R-ROLAP ). Spre deosebire de ROLAP, R-ROLAP nu creează tabele relaționale suplimentare pentru a stoca agregate, dar agregatele sunt calculate în momentul interogării. În acest caz, o interogare multidimensională către sistemul OLAP este convertită automat într-o interogare SQL în date relaționale.

Fiecare tip de depozitare are anumite avantaje, deși există dezacord în evaluarea lor de către diferiți producători. MOLAP este cel mai potrivit pentru seturi de date mici, calculează rapid agregate și returnează răspunsuri, dar generează cantități uriașe de date. ROLAP este considerată o soluție mai scalabilă, mai economică din punct de vedere al spațiului de stocare, dar cu limitări în capacitățile de procesare analitică. HOLAP se află în mijlocul acestor două abordări, se scalează destul de bine și depășește o serie de limitări. Arhitectura R-ROLAP permite analiza multidimensională în timp real a datelor OLTP.

Complexitatea utilizării OLAP vine din crearea de interogări, alegerea datelor de bază și proiectarea schemei, astfel încât majoritatea produselor OLAP vin cu un număr mare de interogări preconfigurate. O altă problemă este în datele de bază, acestea trebuie să fie complete și consecvente.

Implementări OLAP

Din punct de vedere istoric, primul sistem multidimensional de gestionare a bazelor de date care este în esență o implementare OLAP este sistemul Express , dezvoltat în 1970 de IRI (ulterior, drepturile asupra produsului au fost achiziționate de Oracle Corporation și transformate într-o opțiune OLAP pentru Oracle Database ) [3] . Termenul OLAP a fost introdus de Edgar Codd într-o publicație din 1993 în Computerworld [4] , în care a propus 12 principii de procesare analitică, similare celor 12 reguli pentru bazele de date relaționale formulate de el cu un deceniu mai devreme, ca un produs de referință care satisface principii propuse. , a subliniat Codd sistemul Arbor Essbase (preluat în 1997 de Hyperion , care la rândul său a fost cumpărat de Oracle în 2007). În mod remarcabil, publicația a fost ulterior eliminată din arhivele Computerworld din cauza potențialelor conflicte de interese, deoarece Codd a furnizat ulterior servicii de consultanță pentru Arbor [5] .

În ceea ce privește implementarea, acestea sunt împărțite în „OLAP fizic” și „virtual” (relațional, ing.  Relațional OLAP , ROLAP ). „Fizic”, la rândul său, în funcție de implementare este împărțit în multidimensional ( engleză  Multidimensional OLAP , MOLAP ) și hibrid - ( engleză  Hybrid OLAP , HOLAP ).

În primul caz, există un program care, în stadiul de preîncărcare a datelor în OLAP, efectuează un calcul preliminar al agregatelor (calcule pe mai multe valori inițiale, de exemplu, „total pentru lună”), care sunt apoi stocate într-un bază de date multidimensională specială care oferă o recuperare rapidă și o stocare economică.

Implementarea hibridă este o combinație: datele în sine sunt stocate într-o bază de date relațională, iar agregatele sunt stocate într-una multidimensională.

În implementările ROLAP, toate datele sunt stocate și procesate în sisteme de management al bazelor de date relaționale, iar agregările pot să nu existe deloc sau să fie create la prima solicitare către baza de date sau cache-ul software analitic.

Din punctul de vedere al utilizatorului, toate opțiunile arată similar în ceea ce privește capabilitățile. OLAP găsește cea mai mare utilizare în produse de planificare financiară, depozite de date , soluții de clasă de business intelligence .

Produsele comerciale includ: Microsoft SQL Server Analysis Services , Essbase , Oracle Database OLAP Option, IBM Cognos TM1 ; există mai multe soluții libere , printre care se notează Mondrian și Palo [6] .

Vezi și

Note

  1. Definiții termeni IT  (engleză)  (link inaccesibil) . Gartner ( 2011 ). Consultat la 12 iunie 2011. Arhivat din original pe 3 februarie 2012.
  2. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5  - Pagina 123 „4.2 OLAP Server Architectures”
  3. Pendse, Nigel. Originile  produselor OLAP de astăzi . Raport OLAP (20 iulie 2002). — «1992. S-a lansat Essbase. Primul produs OLAP bine comercializat, care a devenit liderul serverului OLAP de pe piață până în 1997.” Data accesului: 3 ianuarie 2011. Arhivat din original la 21 decembrie 2007.
  4. Codd, Edgar F. Furnizarea de OLAP utilizatorilor-analiști: un mandat IT // Computerworld . - T. 27 , nr 30 . ISSN 0010-4841 . Arhivat din original pe 11 noiembrie 1998.
  5. Whitehorn, Mark OLAP și nevoia de SPEED. Într-o altă dimensiune  (ing.)  (link indisponibil) . dezvoltator . Registrul (26 ianuarie 2007). — „După ce lucrarea a fost publicată, a câștigat o oarecare notorietate deoarece Codd făcuse lucrări de consultanță pentru Arbor Software (acum Hyperion). Acest lucru a fost regretabil, deoarece lucrarea a discutat în mod activ unul dintre produsele Arbor, Essbase. În cele din urmă, Computerworld a făcut pasul neobișnuit de a retrage articolul; cu toate acestea, această lucrare marchează clar începutul utilizării termenului”. Consultat la 11 octombrie 2011. Arhivat din original pe 3 februarie 2012.
  6. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5  - Pagina 127 „4.5 Exemple de instrumente OLAP comerciale”

Link -uri