Instrumente Olap. tehnologii OLAP. Stocarea datelor active într-o bază de date relațională

Mecanismul OLAP este una dintre metodele populare de analiză a datelor astăzi. Există două abordări principale pentru a rezolva această problemă. Primul dintre ele se numește OLAP multidimensional (MOLAP) - implementarea mecanismului folosind o bază de date multidimensională pe partea de server, iar al doilea OLAP relațional (ROLAP) - construirea de cuburi din mers pe baza interogări SQL la un SGBD relațional. Fiecare dintre aceste abordări are avantajele și dezavantajele sale. Lor analiză comparativă depășește domeniul de aplicare al acestui articol. Vom descrie implementarea noastră a nucleului modulului ROLAP desktop.

Această sarcină a apărut după utilizarea unui sistem ROLAP construit pe baza componentelor Decision Cube incluse în Borland Delphi. Din păcate, utilizarea acestui set de componente a arătat performanțe slabe pe cantități mari de date. Această problemă poate fi atenuată încercând să tăiați cât mai multe date posibil înainte de a le introduce în cuburi. Dar acest lucru nu este întotdeauna suficient.

Puteți găsi o mulțime de informații despre sistemele OLAP pe Internet și în presă, dar aproape nicăieri nu se spune despre cum funcționează în interior. Prin urmare, soluția la majoritatea problemelor ne-a fost dată prin încercare și eroare.

Schema de operare

Schema generală de funcționare a unui sistem desktop OLAP poate fi reprezentată după cum urmează:

Algoritmul de operare este următorul:

  1. Primirea datelor sub forma unui tabel plat sau rezultatul executării unei interogări SQL.
  2. Memorarea în cache a datelor și conversia acestora într-un cub multidimensional.
  3. Afișarea cubului construit folosind o tablă încrucișată sau o diagramă etc. În general, un număr arbitrar de vederi poate fi conectat la un cub.

Să luăm în considerare modul în care un astfel de sistem poate fi aranjat intern. Vom începe asta din partea care poate fi văzută și atinsă, adică de pe afișaje.

Afișajele utilizate în sistemele OLAP vin cel mai adesea în două tipuri: tabele încrucișate și diagrame. Să ne uităm la un tabel încrucișat, care este modalitatea de bază și cea mai comună de a afișa un cub.

Masă încrucișată

În figura de mai jos, rândurile și coloanele care conțin rezultate agregate sunt afișate cu galben, celulele care conțin fapte sunt în gri deschis, iar celulele care conțin date dimensionale sunt în gri închis.

Astfel, tabelul poate fi împărțit în următoarele elemente, cu care vom lucra în viitor:

Când completăm matricea cu fapte, trebuie să procedăm după cum urmează:

  • Pe baza datelor de măsurare, determinați coordonatele elementului adăugat în matrice.
  • Determinați coordonatele coloanelor și rândurilor totalurilor care sunt afectate de elementul adăugat.
  • Adăugați un element la matrice și coloanele și rândurile totale corespunzătoare.

Trebuie remarcat faptul că matricea rezultată va fi foarte rară, motiv pentru care este organizată în formă matrice bidimensională(opțiunea aflată la suprafață) nu este doar irațională, dar, cel mai probabil, imposibilă din cauza dimensiunii mari a acestei matrice, pentru stocarea căreia nu va fi suficientă RAM. De exemplu, dacă cubul nostru conține informații despre vânzări pentru un an și dacă are doar 3 dimensiuni - Clienți (250), Produse (500) și Data (365), atunci vom obține o matrice de fapte cu următoarele dimensiuni:

Număr de elemente = 250 x 500 x 365 = 45.625.000

Și asta în ciuda faptului că pot exista doar câteva mii de elemente umplute în matrice. Mai mult, cu cât numărul de dimensiuni este mai mare, cu atât matricea va fi mai rară.

Prin urmare, pentru a lucra cu această matrice, trebuie să utilizați mecanisme speciale pentru a lucra cu matrice rare. Sunt posibile diferite opțiuni pentru organizarea unei matrice rare. Ele sunt destul de bine descrise în literatura de programare, de exemplu, în primul volum al cărții clasice „Arta programarii” de Donald Knuth.

Să considerăm acum cum putem determina coordonatele unui fapt, cunoscând dimensiunile corespunzătoare acestuia. Pentru a face acest lucru, să aruncăm o privire mai atentă asupra structurii antetului:

În acest caz, puteți găsi cu ușurință o modalitate de a determina numerele celulei corespunzătoare și totalurile în care se încadrează. Aici pot fi propuse mai multe abordări. Una dintre ele este să folosiți un arbore pentru a găsi celule care se potrivesc. Acest arbore poate fi construit prin parcurgerea selecției. În plus, o formulă de recurență analitică poate fi definită cu ușurință pentru a calcula coordonatele necesare.

Pregătirea datelor

Datele stocate în tabel trebuie transformate pentru a fi utilizate. Astfel, pentru a îmbunătăți performanța la construirea unui hipercub, este de dorit să găsim elemente unice stocate în coloane care sunt dimensiunile cubului. În plus, puteți efectua o agregare preliminară a faptelor pentru înregistrările care au aceleași valori de dimensiune. După cum am menționat mai sus, valorile unice disponibile în câmpurile de măsurare sunt importante pentru noi. Apoi se poate propune următoarea structură pentru stocarea lor:

Prin utilizarea acestei structuri, reducem semnificativ necesarul de memorie. Ceea ce este destul de relevant, pentru că... Pentru a crește viteza de operare, este indicat să stocați datele în RAM. În plus, puteți stoca doar o matrice de elemente și puteți arunca valorile acestora pe disc, deoarece vom avea nevoie de ele doar când afișăm tabul încrucișat.

Biblioteca de componente CubeBase

Ideile descrise mai sus au stat la baza creării bibliotecii de componente CubeBase.

TCubeSource efectuează stocarea în cache și conversia datelor într-un format intern, precum și agregarea preliminară a datelor. Componentă TCubeEngine efectuează calcule ale hipercubului și operațiuni cu acesta. De fapt, este un motor OLAP care transformă un tabel plat într-un set de date multidimensional. Componentă TCubeGrid afișează tabul încrucișat și controlează afișarea hipercubului. TCubeChart vă permite să vedeți hipercubul sub formă de grafice și componenta TCubePivote controlează funcționarea miezului cubului.

Comparație de performanță

Acest set de componente a arătat performanțe mult mai mari decât Decision Cube. Deci, pe un set de 45 de mii de înregistrări, componentele Decision Cube au necesitat 8 minute. a construi tabel pivot. CubeBase a încărcat date în 7 secunde. și construirea unui tabel pivot în 4 secunde. La testarea a 700 de mii de înregistrări Decision Cube, nu am primit un răspuns în 30 de minute, după care am anulat sarcina. CubeBase a încărcat date în 45 de secunde. și construirea unui cub în 15 secunde.

Pe volume de date de mii de înregistrări, CubeBase a procesat de zeci de ori mai rapid decât Decision Cube. Pe mese cu sute de mii de înregistrări - de sute de ori mai rapid. Iar performanța ridicată este unul dintre cei mai importanți indicatori ai sistemelor OLAP.

Utilizarea unui sistem OLAP vă permite să automatizați nivelul strategic de management al organizației. OLAP (Online Analytical Processing - procesarea datelor analitice în timp real) este o tehnologie puternică pentru prelucrarea și cercetarea datelor. Sistemele construite pe baza tehnologiei OLAP oferă virtual posibilități nelimitate la intocmirea de rapoarte, efectuarea de calcule analitice complexe, construirea de prognoze si scenarii, dezvoltarea multor optiuni pentru planuri.

Sistemele OLAP cu drepturi depline au apărut la începutul anilor 90, ca urmare a dezvoltării sistemelor informaționale de suport decizional. Ele sunt concepute pentru a transforma date diverse, adesea disparate, în informatii utile. Sistemele OLAP pot organiza datele în funcție de un set de criterii. Cu toate acestea, nu este necesar ca criteriile să aibă caracteristici clare.

Sistemele OLAP și-au găsit aplicarea în multe probleme ale managementului strategic al unei organizații: managementul performanței afacerii, planificarea strategică, bugetarea, prognoza dezvoltării, întocmirea situațiilor financiare, analiza muncii, modelarea prin simulare a mediului extern și intern al organizației, stocarea datelor. și raportare.

Structura sistemului OLAP

Funcționarea unui sistem OLAP se bazează pe prelucrarea matricelor de date multidimensionale. Matricele multidimensionale sunt proiectate în așa fel încât fiecare element al matricei să aibă multe conexiuni cu alte elemente. Pentru a forma o matrice multidimensională, sistemul OLAP trebuie să obțină date sursă de la alte sisteme (de exemplu, sisteme ERP sau CRM) sau prin intrare externă. Utilizatorul sistemului OLAP primește datele necesare într-o formă structurată în conformitate cu solicitarea sa. Pe baza procedurii specificate, ne putem imagina structura sistemului OLAP.

În general, structura unui sistem OLAP constă în următoarele elemente:

  • baza de date. Baza de date este sursa de informații pentru funcționarea sistemului OLAP. Tipul bazei de date depinde de tipul de sistem OLAP și de algoritmii de operare ai serverului OLAP. În mod obișnuit, sunt utilizate baze de date relaționale, baze de date multidimensionale, depozite de date etc.
  • server OLAP. Oferă managementul structurii de date multidimensionale și relația dintre baza de date și utilizatorii sistemului OLAP.
  • aplicații personalizate. Acest element al structurii sistemului OLAP gestionează cererile utilizatorilor și generează rezultatele accesării bazei de date (rapoarte, grafice, tabele etc.)

În funcție de metoda de organizare, procesare și stocare a datelor, sistemele OLAP pot fi implementate calculatoare locale utilizatori sau folosind servere dedicate.

Există trei modalități principale de stocare și procesare a datelor:

  • la nivel local. Datele sunt plasate pe computerele utilizatorilor. Prelucrarea, analiza și gestionarea datelor sunt efectuate la stațiile de lucru locale.
  • Această structură a sistemului OLAP are dezavantaje semnificative legate de viteza de prelucrare a datelor, securitatea datelor și utilizarea limitată a analizei multidimensionale.. Aceste baze de date sunt utilizate atunci când un sistem OLAP funcționează împreună cu un sistem CRM sau un sistem ERP. Datele sunt stocate pe serverul acestor sisteme sub formă de baze de date relaționale sau depozite de date. Serverul OLAP accesează aceste baze de date pentru a forma structurile multidimensionale necesare și pentru a efectua analize.
  • baze de date multidimensionale. În acest caz, datele sunt organizate sub forma unui depozit de date special pe un server dedicat. Toate operațiunile de date sunt efectuate pe acest server, care transformă datele sursă în structuri multidimensionale. Astfel de structuri se numesc cuburi OLAP. Surse de date pentru formare cub OLAP sunt baze de date relaționale și/sau fișiere client. Serverul de date realizează pregătirea și prelucrarea preliminară a datelor. Un server OLAP funcționează cu un cub OLAP fără acces direct la sursele de date (baze de date relaționale, fișiere client etc.).

Tipuri de sisteme OLAP

În funcție de metoda de stocare și procesare a datelor, toate sistemele OLAP pot fi împărțite în trei tipuri principale.


1. ROLAP (Relational OLAP - relational OLAP systems) - acest tip de sistem OLAP functioneaza cu baze de date relationale. Datele sunt accesate direct într-o bază de date relațională. Datele sunt stocate sub formă de tabele relaționale. Utilizatorii au capacitatea de a efectua analize multidimensionale ca în sistemele tradiționale OLAP. Acest lucru se realizează prin utilizarea instrumentelor SQL și a interogărilor speciale.

Unul dintre beneficiile ROLAP este capacitatea de a procesa mai eficient cantități mari de date. Un alt avantaj al ROLAP este capacitatea de a procesa eficient atât datele numerice, cât și cele text.

Dezavantajele ROLAP includ performanța scăzută (comparativ cu sistemele OLAP tradiționale), deoarece Prelucrarea datelor este efectuată de serverul OLAP.


Un alt dezavantaj este funcționalitatea limitată din cauza utilizării SQL. 2. MOLAP (Multidimensional OLAP - multidimensional OLAP systems). Acest tip de sisteme OLAP se referă la sistemele tradiționale. Diferența dintre un sistem OLAP tradițional și alte sisteme este pregătire prealabilă

Sistemele MOLAP sunt cele mai eficiente în prelucrarea datelor, deoarece... ele facilitează reorganizarea și structurarea datelor pentru a se potrivi diferitelor solicitări ale utilizatorilor. Instrumentele analitice MOLAP vă permit să efectuați calcule complexe. Un alt avantaj al MOLAP este capacitatea de a genera rapid interogări și de a obține rezultate. Acest lucru se realizează prin formarea preliminară a cuburilor OLAP.

Dezavantajele sistemului MOLAP includ limitarea volumului de date prelucrate și redundanța datelor, deoarece Pentru a forma cuburi multidimensionale, în diverse aspecte, datele trebuie duplicate.


3. HOLAP (Hybrid OLAP - sisteme hibride OLAP). Sistemele hibride OLAP sunt o combinație de sisteme ROLAP și MOLAP. În sistemele hibride, au încercat să combine avantajele a două sisteme: utilizarea bazelor de date multidimensionale și managementul bazelor de date relaționale. Sistemele HOLAP vă permit să stocați o cantitate mare de date în tabele relaționale, iar datele procesate sunt plasate în cuburi OLAP multidimensionale pre-construite.

Avantajele acestui tip de sistem sunt scalabilitatea datelor, procesarea rapidă a datelor și accesul flexibil la sursele de date.

Există și alte tipuri de sisteme OLAP, dar ele sunt mai mult un truc de marketing al producătorilor decât un tip independent de sistem OLAP.

SOLAP (Spatial OLAP). Acest tip de sistem OLAP este conceput pentru prelucrarea datelor spațiale. A apărut ca urmare a integrării sistemelor informaționale geografice și sistemelor OLAP. Aceste sisteme vă permit să procesați date nu numai în format alfanumeric, ci și sub formă de obiecte vizuale și vectori.

Avantajele sistemului OLAP

Principalele avantaje ale sistemului OLAP sunt:

  • coerența informațiilor inițiale și a rezultatelor analizei. Cu un sistem OLAP, este întotdeauna posibil să urmăriți sursa de informații și să determinați legătura logică dintre rezultatele obținute și datele sursă. Subiectivitatea rezultatelor analizei este redusă.
  • efectuarea de analize multivariate. Utilizarea unui sistem OLAP vă permite să obțineți mai multe scenarii pentru desfășurarea evenimentelor pe baza unui set de date sursă. Folosind instrumente de analiză, puteți simula situații pe baza principiului „ce se va întâmpla dacă”.
  • managementul detaliilor. Detaliul rezultatelor prezentate poate varia în funcție de nevoile utilizatorilor. Nu este nevoie să efectuați setări complexe ale sistemului și să repetați calculele. Raportul poate conține exact informațiile necesare pentru luarea deciziilor.
  • identificarea dependențelor ascunse. Prin construirea de conexiuni multidimensionale, devine posibilă identificarea și determinarea dependențelor ascunse în diverse procese sau situații care afectează activitățile de producție.
  • crearea unei singure platforme. Prin utilizarea sistemului OLAP, devine posibilă crearea platformă unică pentru toate procesele de prognoză și analiză din întreprindere. În special, datele sistemului OLAP stau la baza construirii previziunilor bugetare, prognozelor de vânzări, prognozelor de achiziții, planurilor strategice de dezvoltare etc.

Condițiile de concurență ridicată și dinamica în creștere a mediului extern dictează cerințe sporite asupra sistemelor de management al întreprinderii. Dezvoltarea teoriei și practicii managementului a fost însoțită de apariția de noi metode, tehnologii și modele menite să crească eficiența operațională. Metodele și modelele, la rândul lor, au contribuit la apariția sistemelor analitice. Cererea de sisteme analitice în Rusia este mare. Din punct de vedere al aplicației, aceste sisteme sunt cele mai interesante în sectorul financiar: bănci, afaceri de asigurări, companii de investiții. Rezultatele muncii sistemelor analitice sunt necesare, în primul rând, pentru persoanele de ale căror decizii depinde dezvoltarea companiei: manageri, experți, analiști. Sistemele analitice vă permit să rezolvați probleme de consolidare, raportare, optimizare și prognoză. Până în prezent, nu a existat o clasificare finală a sistemelor analitice, la fel cum nu există un sistem general de definiții în termeni utilizați în în această direcție. Structura informațională a unei întreprinderi poate fi reprezentată printr-o succesiune de niveluri, fiecare dintre acestea fiind caracterizat de un mod propriu de procesare și gestionare a informațiilor și are propria sa funcție în procesul de management. Astfel, sistemele analitice vor fi amplasate ierarhic la diferite niveluri ale acestei infrastructuri.

Nivelul sistemelor tranzacționale

Stratul de depozit de date

Stratul Data mart

Nivelul sistemelor OLAP

Strat de aplicare analitică

Sistemele OLAP - (OnLine Analytical Processing, procesarea analitică în prezent) - sunt o tehnologie pentru analiza complexă a datelor multidimensionale. Sistemele OLAP sunt aplicabile acolo unde există o sarcină de analiză a datelor multifactoriale. Sunt un mijloc eficient de analiză și generare de rapoarte. Depozitele de date, magazinele de date și sistemele OLAP discutate mai sus aparțin sistemelor de business intelligence (BI).

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 cu funcționalitate foarte limitată. Astfel de sisteme statice sunt numite în literatură Sisteme de Informații Executive (IIS) sau Sisteme de Informații Executive (EIS). Acestea conțin seturi predefinite de interogări și, fiind suficiente pentru revizuire zilnică, nu sunt în măsură să răspundă la toate întrebările despre datele disponibile care pot apărea la luarea deciziilor. Rezultatul unui astfel de sistem, de regulă, este 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 DSS static, pentru care se luptă activ majoritatea clienților sistemelor informatice și analitice, se transformă într-o pierdere catastrofală de flexibilitate.



DSS dinamic, dimpotrivă, se concentrează pe procesarea cererilor de date nereglementate (ad-hoc) ale analiștilor. Cerințele pentru astfel de sisteme au fost considerate cel mai profund de E. F. Codd în articolul care a pus bazele conceptului de OLAP. Lucrarea analiștilor cu aceste sisteme constă într-o secvență interactivă de generare a interogărilor și studierea rezultatelor acestora.

Dar DSS dinamic poate opera 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ă.

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 în ​​bazele de date individuale ale sistemelor tranzacționale, cât și într-un depozit de date general.

Domeniul de aplicare al indicatorilor agregați. O privire cuprinzătoare asupra informațiilor colectate într-un depozit de date, generalizarea și agregarea acestuia, reprezentarea hipercubului și analiza multidimensională sunt sarcinile sistemelor de procesare analitică online (OLAP). Aici vă puteți concentra fie pe SGBD-uri multidimensionale speciale, fie să rămâneți în cadrul tehnologiilor relaționale. În cel de-al doilea caz, datele pre-agregate pot fi colectate într-o bază de date în formă de stea, sau agregarea informațiilor se poate face din mers în timp ce se scanează tabele detaliate într-o bază de date relațională.

Sfera tiparelor. Prelucrarea intelectuală se realizează folosind metode de data mining (IDA, Exploatarea datelor), ale căror principale sarcini sunt să caute modele funcționale și logice în informațiile acumulate, să construiască modele și reguli care să explice anomaliile constatate și/sau să prezică desfășurarea anumitor procese.

Prelucrare operațională a datelor analitice

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 „combina, 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.

Clasificarea produselor OLAP după metoda de prezentare a datelor.

În prezent, pe piață există un număr mare de produse care oferă funcționalitate OLAP într-o măsură sau alta. Aproximativ 30 dintre cele mai faimoase sunt listate pe serverul Web de recenzie http://www.olapreport.com/. Oferă o vedere conceptuală multidimensională din exterior interfata utilizator la baza de date sursă, toate produsele OLAP sunt împărțite în trei clase în funcție de tipul bazei de date sursă.

Primele sisteme de procesare analitică online (de exemplu, Essbase de la Arbor Software, Oracle Express Server de la Oracle) aparțineau clasei MOLAP, adică puteau funcționa doar cu propriile baze de date multidimensionale. Acestea se bazează pe tehnologii proprietare pentru SGBD-uri multidimensionale și sunt cele mai scumpe. 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. Pentru a menține astfel de sisteme, este necesar un personal special de angajați care să instaleze, să întrețină sistemul și să creeze vizualizări de date pentru utilizatorii finali.

Sistemele de procesare analitică online relațională (ROLAP) oferă o perspectivă asupra datelor stocate în baza de date relationala, în formă multidimensională, oferind transformarea informațiilor într-un model multidimensional printr-un strat intermediar de metadate. Sistemele ROLAP sunt potrivite pentru lucrul cu spații mari de depozitare. La fel ca sistemele MOLAP, acestea necesită întreținere semnificativă de către specialiștii în tehnologia informației și implică operarea multi-utilizator.

În cele din urmă, sistemele hibride (Hybrid OLAP, HOLAP) sunt concepute pentru a combina avantajele și a minimiza dezavantajele inerente claselor anterioare. Speedware's Media/MR se încadrează în această clasă. Potrivit dezvoltatorilor, acesta combină flexibilitatea analitică și viteza de răspuns a MOLAP cu accesul constant la date reale inerente ROLAP.

OLAP multidimensional (MOLAP)

În SGBD-urile specializate bazate pe o reprezentare multidimensională a datelor, datele sunt organizate nu sub formă de tabele relaționale, ci sub formă de tablouri multidimensionale ordonate:

1) hipercuburi (toate celulele stocate în baza de date trebuie să aibă aceeași dimensiune, adică să fie în cea mai completă bază de măsurare) sau

2) policuburi (fiecare variabilă este stocată cu propriul set de măsurători, iar toate dificultățile de procesare asociate sunt transferate mecanismelor interne ale sistemului).

Utilizarea bazelor de date multidimensionale în sistemele de procesare analitică online are următoarele avantaje.

Când se utilizează SGBD-uri multidimensionale, căutarea și preluarea datelor este mult mai rapidă decât cu o vizualizare conceptuală multidimensională a unei baze de date relaționale, deoarece baza de date multidimensională este denormalizată, conține măsuri pre-agregate și oferă acces optimizat la celulele solicitate.

SGBD-urile multidimensionale fac față cu ușurință sarcinilor de includere în model informativ diverse funcții încorporate, în timp ce limitările existente în mod obiectiv ale limbajului SQL fac realizarea acestor sarcini bazate pe SGBD-uri relaționale destul de dificilă și uneori imposibilă.

Pe de altă parte, există limitări semnificative.

SGBD-urile multidimensionale nu permit lucrul cu baze de date mari. În plus, datorită denormalizării și agregării pre-executate, volumul de date dintr-o bază de date multidimensională, de regulă, corespunde (conform estimării lui Codd) cu 2,5-100 de ori mai puțin decât volumul datelor detaliate originale.

În comparație cu SGBD-urile relaționale, SGB-urile multidimensionale sunt utilizate foarte ineficient memorie externă. În marea majoritate a cazurilor, hipercubul informațional este foarte rar și, deoarece datele sunt stocate într-o formă ordonată, valorile nedefinite pot fi eliminate doar prin alegerea ordinii optime de sortare, care vă permite să organizați datele în cea mai mare. posibile grupuri învecinate. Dar chiar și în acest caz, problema este doar parțial rezolvată. În plus, ordinea optimă de sortare pentru stocarea datelor rare nu va fi cel mai probabil ordinea care este folosită cel mai des în interogări. Prin urmare, în sistemele reale trebuie să căutăm un compromis între viteză și redundanță. spațiu pe disc ocupate de baza de date.

În consecință, utilizarea SGBD-ului multidimensional este justificată doar în următoarele condiții.

Volumul de date sursă pentru analiză nu este prea mare (nu mai mult de câțiva gigaocteți), adică nivelul de agregare a datelor este destul de ridicat.

Setul de dimensiuni informaționale este stabil (întrucât orice modificare a structurii lor necesită aproape întotdeauna o restructurare completă a hipercubului).

Timpul de răspuns al sistemului la solicitările nereglementate este cel mai critic parametru.

Necesită utilizarea extinsă a funcțiilor încorporate complexe pentru a efectua calcule transdimensionale pe celulele hipercub, inclusiv abilitatea de a scrie funcții personalizate.

OLAP relațional (ROLAP)

Utilizarea directă a bazelor de date relaționale în sistemele de procesare analitică online are următoarele avantaje.

În cele mai multe cazuri, depozitele de date corporative sunt implementate folosind instrumente DBMS relaționale, iar instrumentele ROLAP permit analiza direct pe acestea. În același timp, dimensiunea de stocare nu este un parametru atât de critic ca în cazul MOLAP.

În cazul unei dimensiuni variabile a sarcinii, atunci când modificări ale structurii de măsurare trebuie făcute destul de des, sistemele ROLAP cu reprezentarea dinamică a dimensiunilor sunt solutie optima, întrucât în ​​ele astfel de modificări nu necesită reorganizarea fizică a bazei de date.

SGBD-urile relaționale oferă un nivel semnificativ mai ridicat de protecție a datelor și oportunități bune diferențierea drepturilor de acces.

Principalul dezavantaj ROLAP are performanțe mai scăzute în comparație cu SGBD-urile multidimensionale. Pentru a oferi performanțe comparabile cu MOLAP, sistemele relaționale necesită proiectarea atentă a schemei bazei de date și reglarea indicilor, adică mult efort din partea administratorilor de baze de date. Numai prin folosirea schemelor stea poate performanța sistemelor relaționale bine reglate să se apropie de cea a sistemelor bazate pe baze de date multidimensionale.

Procesarea analitică online, sau OLAP, este o tehnologie eficientă de procesare a datelor care produce informații rezumative bazate pe cantități uriașe de tot felul de date. Este un produs puternic care vă ajută să accesați, să regăsiți și să vizualizați informațiile de pe computer, analizându-le din diferite perspective.

OLAP este un instrument care oferă o poziție strategică pentru planificarea pe termen lung și analizează informațiile de bază ale datelor operaționale pentru un viitor de 5, 10 sau mai mulți ani. Datele sunt stocate într-o bază de date cu o dimensiune, care este atributul acesteia. Utilizatorii pot vizualiza același set de date cu atribute diferite, în funcție de scopul analizei.

Istoria OLAP

OLAP nu este un concept nou și a fost folosit de zeci de ani. De fapt, originile tehnologiei pot fi urmărite încă din 1962. Dar termenul a fost inventat abia în 1993 de autorul bazei de date Ted Coddom, care a stabilit și 12 reguli pentru produs. Ca și în cazul multor alte aplicații, conceptul a trecut prin mai multe etape de evoluție.

Istoria tehnologiei OLAP în sine datează din 1970, când a fost lansată resurse informaționale Express și primul server Olap. Acestea au fost achiziționate de Oracle în 1995 și au devenit ulterior baza pentru procesarea analitică online a motorului de calcul multidimensional pe care celebrul brand de computere l-a furnizat în baza sa de date. În 1992, un alt produs de procesare de analiză online bine-cunoscut, Essbase, a fost lansat de Arbor Software (achiziționat de Oracle în 2007).

În 1998, Microsoft a lansat serverul online de procesare a datelor analitice MS Analysis Services. Acest lucru a contribuit la popularitatea tehnologiei și a determinat dezvoltarea altor produse. Astăzi există câțiva furnizori de renume mondial care oferă aplicații Olap, inclusiv IBM, SAS, SAP, Essbase, Microsoft, Oracle, IcCube.

Prelucrare analitică online

OLAP este un instrument care vă permite să luați decizii cu privire la evenimentele planificate. Un calcul Olap atipic poate fi mai complex decât simpla agregare a datelor. Interogările analitice pe minut (AQM) sunt utilizate ca etalon standard pentru a compara performanța diferitelor instrumente. Aceste sisteme ar trebui să protejeze utilizatorii de sintaxa de interogare complexă cât mai mult posibil și să ofere timpi de răspuns consecvenți pentru toată lumea (indiferent cât de complex).

Există următoarele caracteristici principale ale OLAP:

  1. Reprezentări de date multidimensionale.
  2. Suporta calcule complexe.
  3. Recunoaștere temporară.

O vizualizare multidimensională oferă baza pentru procesarea analitică prin acces flexibil la datele întreprinderii. Permite utilizatorilor să analizeze datele în orice dimensiune și la orice nivel de agregare.

Suportul pentru calcule complexe este nucleul software-ului OLAP.

Time intelligence este folosită pentru a evalua performanța oricărei aplicații de analiză pe o perioadă de timp. De exemplu, luna aceasta fata de luna trecuta, luna aceasta fata de aceeasi luna a anului trecut.

Structura de date multidimensională

Una dintre principalele caracteristici ale procesării analitice online este structura multidimensională a datelor. Un cub poate avea mai multe dimensiuni. Datorită acestui model, întregul proces de mining OLAP este simplu pentru manageri și directori, deoarece obiectele reprezentate în celule sunt obiecte de afaceri din lumea reală. În plus, acest model de date permite utilizatorilor să proceseze nu numai matrice structurate, ci și pe cele nestructurate și semi-structurate. Toate acestea le fac deosebit de populare pentru analiza datelor și aplicațiile BI.

Principalele caracteristici ale sistemelor OLAP:

  1. Utilizați metode de analiză a datelor multidimensionale.
  2. Oferiți suport avansat pentru baze de date.
  3. Creați interfețe ușor de utilizat pentru utilizatorul final.
  4. Suporta arhitectura client/server.

Una dintre componentele principale ale conceptelor OLAP este serverul de pe partea client. Pe lângă agregare şi pretratament date dintr-o bază de date relațională, oferă opțiuni avansate de calcul și înregistrare, caracteristici suplimentare, capabilități de interogare avansate de bază și alte funcții.

În funcție de aplicația eșantion selectată de utilizator, disponibilă diverse modele date și instrumente, inclusiv alerte în timp real, scenarii ce se întâmplă dacă, optimizare și raportare OLAP sofisticată.

Forma cubica

Conceptul se bazează pe o formă cubică. Aspectul datelor arată modul în care OLAP aderă la principiul analizei multidimensionale, rezultând o structură de date concepută pentru o analiză rapidă și eficientă.

Un cub OLAP mai este numit și „hipercub”. Este descris ca fiind format din fapte numerice (măsuri) clasificate în fațete (dimensiuni). Dimensiunile se referă la atributele care definesc o problemă de afaceri. Mai simplu spus, o dimensiune este o etichetă care descrie o măsură. De exemplu, în rapoartele de vânzări, măsura ar fi volumul vânzărilor, iar dimensiunile ar include perioada de vânzări, oamenii de vânzări, produsul sau serviciul și regiunea de vânzări. În raportarea operațiunilor de producție, măsura poate fi costurile totale de producție și unitățile de producție. Dimensiunile vor fi data sau ora producției, etapa sau faza de producție, chiar și muncitorii implicați în procesul de producție.

Cubul de date OLAP este piatra de temelie a sistemului. Datele dintr-un cub sunt organizate folosind fie o schemă de stea, fie o schemă de fulg de zăpadă. În centru există un tabel de fapte care conține agregate (măsuri). Este asociat cu o serie de tabele de dimensiuni care conțin informații despre măsuri. Dimensiunile descriu modul în care aceste măsuri pot fi analizate. Dacă un cub conține mai mult de trei dimensiuni, este adesea numit hipercub.

Una dintre principalele caracteristici ale cubului este natura sa statică, ceea ce presupune că cubul nu poate fi schimbat odată ce este dezvoltat. Prin urmare, procesul de asamblare a cubului și de configurare a modelului de date este un pas critic către procesarea adecvată a datelor în arhitectura OLAP.

Fuziunea datelor

Utilizarea agregărilor este principalul motiv pentru care interogările sunt procesate mult mai rapid în instrumentele OLAP (comparativ cu OLTP). Agregările sunt rezumate ale datelor care au fost precalculate în timpul procesării. Toți membrii stocați în tabelele de dimensiuni OLAP determină interogările pe care le poate primi cubul.

Într-un cub, acumulările de informații sunt stocate în celule, ale căror coordonate sunt specificate de dimensiuni specifice. Numărul de agregate pe care un cub le poate conține depinde de toate combinațiile posibile de membri de dimensiune. Prin urmare, un cub tipic dintr-o aplicație poate conține un număr extrem de mare de agregate. Precalculul va fi efectuat numai pentru agregatele cheie care sunt distribuite în cubul de analiză online. Acest lucru va reduce semnificativ timpul necesar pentru definirea oricăror agregari atunci când rulați o interogare în modelul de date.

Există, de asemenea, două opțiuni legate de agregări pe care le puteți utiliza pentru a îmbunătăți performanța cubului dvs. finit: creați o agregare cache a capabilităților și utilizați o agregare bazată pe interogări utilizatori.

Principiul de funcționare

De obicei, analiza informațiilor operaționale obținute din tranzacții poate fi efectuată folosind o simplă foaie de calcul (valorile datelor sunt prezentate în rânduri și coloane). Acest lucru este bun având în vedere natura bidimensională a datelor. In cazul OLAP exista diferente datorate matrice multidimensională date. Deoarece acestea provin adesea din surse diferite, foaia de calcul nu le poate procesa întotdeauna eficient.

Cubul rezolvă această problemă și, de asemenea, face ca depozitul de date OLAP să funcționeze într-o manieră logică și ordonată. Business colectează date din numeroase surse și sunt prezentate în diferite formate, cum ar fi fișiere text, fisiere multimedia, electronice tabele Excel, baze Accesați dateleși chiar baze de date OLTP.

Toate datele sunt colectate într-un depozit umplut direct din surse. În acesta, informațiile brute obținute din OLTP și din alte surse vor fi curățate de orice tranzacții eronate, incomplete și inconsecvente.

Odată curățate și transformate, informațiile vor fi stocate într-o bază de date relațională. Acesta va fi apoi încărcat pe un server OLAP multidimensional (sau cub Olap) pentru analiză. Utilizatorii finali responsabili de aplicațiile de afaceri, data mining și alte operațiuni de afaceri vor avea acces la informațiile de care au nevoie din cubul Olap.

Avantajele modelului Array

OLAP este un instrument care oferă performanțe rapide de interogare, care se realizează prin stocare optimizată, indexare multidimensională și cache, care se numără printre avantajele semnificative ale sistemului. În plus, avantajele sunt:

  1. Dimensiunea mai mică a datelor pe disc.
  2. Calcularea automată a agregatelor mai mult nivel înalt date.
  3. Modelele de matrice oferă indexare naturală.
  4. Extragerea eficientă a datelor se realizează prin structurare preliminară.
  5. Compactitate pentru seturi de date cu dimensiuni reduse.

Dezavantajele OLAP includ faptul că unele decizii (etape de procesare) pot dura destul de mult, mai ales cu volume mari de informații. Acest lucru este de obicei corectat prin efectuarea doar de procesare incrementală (învățare din datele care s-au modificat).

Operații analitice de bază

Convoluţie(roll-up/drill-up) este cunoscut și sub denumirea de „consolidare”. Colapsul presupune preluarea tuturor datelor care pot fi obținute și calcularea totul într-una sau mai multe dimensiuni. Cel mai adesea, acest lucru poate necesita utilizarea unei formule matematice. Ca exemplu OLAP, putem lua în considerare un lanț de retail cu puncte de vânzare în diferite orașe. Pentru a identifica modele și a anticipa tendințele viitoare de vânzări, datele de vânzări din toate locațiile sunt „adunate” la departamentul principal de vânzări al companiei pentru consolidare și calcul.

Dezvăluire(drill-down). Acesta este opusul rulării. Procesul începe cu un set mare de date și apoi îl descompune în părți mai mici, permițând astfel utilizatorilor să vadă detaliile. În exemplul lanțului de vânzare cu amănuntul, analistul ar analiza datele vânzărilor și ar analiza mărcile sau produsele individuale care sunt considerate cele mai bine vândute în fiecare puncte de vânzare cu amănuntulîn diferite orașe.

Secțiune(Feiere și zaruri). Acesta este un proces în care operațiunile analitice implică două acțiuni: extragerea unui set specific de date dintr-un cub OLAP (aspectul „de tăiere” al analizei) și vizualizarea acestuia din diferite puncte de vedere sau unghiuri. Acest lucru se poate întâmpla atunci când toate datele punctului de vânzare sunt primite și introduse în hipercub. Un analist decupează un set de date legate de vânzări dintr-un cub OLAP. În continuare, va fi vizualizat atunci când se analizează vânzările de unități individuale din fiecare regiune. În acest timp, alți utilizatori se pot concentra pe evaluarea rentabilității vânzărilor sau pe evaluarea eficienței unei campanii de marketing și publicitate.

Întoarce-te(Pivot). Rotește axele de date pentru a oferi o reprezentare de înlocuire a informațiilor.

Tipuri de baze de date

În principiu, acesta este un cub OLAP tipic care implementează procesarea analitică a datelor multidimensionale folosind OLAP Cube sau orice cub de date pentru proces analitic ar putea adăuga dimensiuni după cum este necesar. Orice informație încărcată într-o bază de date multidimensională va fi stocată sau arhivată și poate fi reamintită atunci când este necesar.

Sens

OLAP relațional (ROLAP)

ROLAP este un SGBD avansat împreună cu maparea datelor multidimensionale pentru a efectua operații relaționale standard

OLAP multidimensional (MOLAP)

MOLAP - implementează lucrul în date multidimensionale

Procesare analitică online hibridă (HOLAP)

În abordarea HOLAP, totalurile agregate sunt stocate într-o bază de date multidimensională și informatii detaliate stocate într-o bază de date relațională. Acest lucru asigură atât eficiența modelului ROLAP, cât și performanța modelului MOLAP

Desktop OLAP (DOLAP)

În Desktop OLAP, utilizatorul descarcă o bucată de date dintr-o bază de date local sau pe desktopul său și o analizează. DOLAP este relativ mai ieftin de implementat, deoarece oferă foarte puțin funcţionalitate comparativ cu alte sisteme OLAP

Web OLAP (WOLAP)

Web OLAP este un sistem OLAP accesibil printr-un browser web. WOLAP este o arhitectură cu trei niveluri. Este format din trei componente: client, middleware softwareși server de baze de date

OLAP mobil

Mobile OLAP ajută utilizatorii să acceseze și să analizeze datele OLAP folosind dispozitivele lor mobile

OLAP spațial

SOLAP este creat pentru a facilita gestionarea datelor atât spațiale, cât și non-spațiale din punct de vedere geografic sistem informatic(GIS)

Există sisteme sau tehnologii OLAP mai puțin cunoscute, dar acestea sunt principalele utilizate în prezent marile corporații, structurile de afaceri și chiar guvernul.

Instrumente OLAP

Instrumentele de analiză online sunt foarte bine prezente pe Internet atât în ​​versiunea plătită, cât și în cea gratuită.

Cele mai populare dintre ele:

  1. Dundas BI de la Dundas Data Visualization este o platformă bazată pe browser pentru business intelligence și vizualizarea datelor, care include tablouri de bord integrate, raportare OLAP și analiză de date.
  2. Yellowfin este o platformă de business intelligence care oferă o singură soluție integrată concepută pentru companii de diferite industrii și dimensiuni. Acest sistem este personalizat pentru afacerile din zonă contabilitate, publicitate, agricultură.
  3. ClicData este o soluție de business intelligence (BI) concepută pentru a fi utilizată în principal de întreprinderile mici și mijlocii. Instrumentul permite utilizatorilor finali să creeze rapoarte și tablouri de bord. Board este conceput pentru a integra business intelligence, managementul performanței corporative și este un sistem cu funcții complete care servește dimensiuni medii și nivel corporativ.
  4. Domo este o suită de management de afaceri bazată pe cloud care se integrează cu mai multe surse de date, inclusiv foi de calcul, baze de date, social mediași orice cloud existent sau local soluție software.
  5. InetSoft Style Intelligence este platforma software pentru analiștii de afaceri, care permite utilizatorilor să creeze tablouri de bord, tehnologie de analiză vizuală OLAP și rapoarte folosind motorul mashup.
  6. Birst de la Compania Infor este soluție de rețea pentru analiști de afaceri și analiză care integrează idei de la diferite echipe și ajută la luarea deciziilor în cunoștință de cauză. Instrumentul permite utilizatorilor descentralizați să extindă modelul echipei de întreprindere.
  7. Halo este un sistem cuprinzător de management al lanțului de aprovizionare și business intelligence, care ajută la planificarea afacerii și la prognozarea stocurilor pentru managementul lanțului de aprovizionare. Sistemul utilizează date din toate sursele - mari, mici și între ele.
  8. Chartio este o soluție de business intelligence bazată pe cloud, care oferă fondatorilor, echipelor de afaceri, analiștilor de date și echipelor de produse instrumente organizaționale pentru munca lor zilnică.
  9. Exago BI este o soluție bazată pe web concepută pentru implementare în aplicații web. Implementarea Exago BI permite companiilor de toate dimensiunile să ofere clienților lor rapoarte personalizate, în timp util și interactive.

Impactul asupra afacerii

Utilizatorul va găsi OLAP în majoritatea aplicațiilor de afaceri din industrii. Analiza este folosită nu numai de afaceri, ci și de alte părți interesate.

Unele dintre cele mai comune aplicații ale sale includ:

  1. Analiza datelor OLAP de marketing.
  2. Raportarea financiară, care acoperă vânzările și cheltuielile, bugetarea și planificarea financiară.
  3. Managementul proceselor de afaceri.
  4. Analiza vânzărilor.
  5. Marketingul bazei de date.

Industriile continuă să crească, ceea ce înseamnă că utilizatorii vor vedea în curând mai multe aplicații OLAP. Procesarea adaptivă multidimensională oferă o analiză mai dinamică. Din acest motiv, aceste sisteme și tehnologii OLAP sunt utilizate pentru a evalua scenarii ce se întâmplă dacă și scenarii alternative de afaceri.

Conceptul de analiză multidimensională a datelor este strâns asociat cu analiza operațională, care se realizează folosind sisteme OLAP.

OLAP (On-Line Analytical Processing) este o tehnologie pentru prelucrarea operațională a datelor analitice care utilizează metode și instrumente pentru colectarea, stocarea și analiza datelor multidimensionale pentru a sprijini procesele decizionale.

Scopul principal al sistemelor OLAP este de a sprijini activitati analitice, solicitări arbitrare (se folosește adesea termenul ad-hoc) de la analiștii utilizatori. Scopul analizei OLAP este de a testa ipotezele emergente.

La origini tehnologii OLAP se află întemeietorul abordării relaţionale E. Codd. În 1993, a publicat un articol intitulat „OLAP for User Analysts: What It Should Be”. Această lucrare subliniază conceptele de bază ale analizei online și identifică următoarele 12 cerințe care trebuie îndeplinite de produsele care permit analiza online. Tokmakov G.P. Baze de date. Concept de bază de date, model de date relaționale, limbaje SQL. p. 51

Mai jos sunt enumerate cele 12 reguli subliniate de Codd care definesc OLAP.

1. Multidimensionalitate -- un sistem OLAP la nivel conceptual ar trebui să prezinte datele sub forma unui model multidimensional, care simplifică procesele de analiză și percepție a informațiilor.

2. Transparență -- sistemul OLAP trebuie să ascundă utilizatorului implementarea reală a modelului multidimensional, modul de organizare, sursele, mijloacele de procesare și stocare.

3. Disponibilitate -- Un sistem OLAP trebuie să ofere utilizatorului un model de date unic, coerent și holistic, oferind acces la date, indiferent de cum sau unde sunt stocate.

4. Performanță constantă la elaborarea rapoartelor - performanța sistemelor OLAP nu ar trebui să scadă semnificativ pe măsură ce crește numărul de dimensiuni pe care se efectuează analiza.

5. Arhitectura client-server -- sistemul OLAP trebuie să poată funcționa într-un mediu client-server, deoarece Majoritatea datelor care astăzi trebuie supuse procesării analitice operaționale sunt stocate în mod distribuit. Ideea principală aici este că componenta server a instrumentului OLAP ar trebui să fie suficient de inteligentă și să permită construirea unei scheme conceptuale comune bazată pe generalizarea și consolidarea diferitelor scheme logice și fizice ale bazelor de date corporative pentru a oferi efectul de transparență.

6. Egalitatea dimensională -- Sistemul OLAP trebuie să suporte un model multidimensional în care toate dimensiunile sunt egale. Caracteristici suplimentare pot fi furnizate dimensiunilor individuale după cum este necesar, dar această capacitate trebuie furnizată pentru orice dimensiune.

7. Gestionarea dinamică a matricelor rare -- sistemul OLAP trebuie să asigure procesarea optimă a matricelor rare. Viteza de acces trebuie menținută indiferent de locația celulelor de date și trebuie să fie constantă pentru modelele cu numere diferite de dimensiuni și grade diferite de dispersie a datelor.

8. Suport pentru modul multi-utilizator - sistemul OLAP trebuie să ofere posibilitatea mai multor utilizatori de a lucra împreună cu un model analitic sau de a crea modele diferite pentru aceștia din date unice. În acest caz, este posibilă atât citirea, cât și scrierea datelor, astfel încât sistemul trebuie să îi asigure integritatea și securitatea.

9. Operații încrucișate nelimitate -- sistemul OLAP trebuie să se asigure că relațiile funcționale descrise folosind un anumit limbaj formal între celulele hipercubului sunt păstrate atunci când se efectuează orice operațiuni de tăiere, rotație, consolidare sau drill-down. Sistemul ar trebui să realizeze în mod independent (automat) transformarea relațiilor stabilite, fără a solicita utilizatorului să le redefinească.

10. Manipularea intuitivă a datelor -- Un sistem OLAP trebuie să ofere o modalitate de a efectua operațiuni de tăiere, rotire, consolidare și găurire pe un hipercub, fără ca utilizatorul să fie nevoit să manipuleze multă interfață. Dimensiunile definite în modelul analitic trebuie să conțină toate informatiile necesare pentru a efectua operațiunile de mai sus.

11. Opțiuni flexibile pentru obținerea de rapoarte – sistemul OLAP trebuie să suporte diverse moduri vizualizarea datelor, de ex. rapoartele trebuie prezentate în orice orientare posibilă. Instrumentele de raportare trebuie să prezinte date sintetizate sau informații rezultate din modelul de date în orice orientare posibilă. Aceasta înseamnă că rândurile, coloanele sau paginile trebuie să arate de la 0 la N dimensiuni la un moment dat, unde N-- număr măsurători ale întregului model analitic. În plus, fiecare dimensiune de conținut afișată într-o singură postare, coloană sau pagină trebuie să permită ca orice subset de elemente (valori) conținute în dimensiune să fie afișat în orice ordine.

12. Dimensiune și număr nelimitat de niveluri de agregare - cercetările privind numărul posibil de dimensiuni necesare cerute în modelul analitic au arătat că până la 19 dimensiuni pot fi utilizate simultan. Prin urmare, se recomandă insistent ca instrumentul analitic să poată furniza cel puțin 15, și de preferință 20, măsurători simultan. În plus, fiecare dintre dimensiunile comune nu ar trebui să fie limitată în numărul de niveluri de agregare și căi de consolidare definite de analist de utilizator.

Regulile suplimentare ale lui Codd.

Setul acestor cerințe, care a servit drept definiție de facto a OLAP, provoacă destul de des diverse plângeri, de exemplu, regulile 1, 2, 3, 6 sunt cerințe, iar regulile 10, 11 sunt dorințe neformalizate. Tokmakov G.P. Baze de date. Concept de bază de date, model de date relaționale, limbaje SQL. P. 68 Astfel, cele 12 cerințe enumerate de Codd nu ne permit să definim cu exactitate OLAP. În 1995, Codd a adăugat următoarele șase reguli la lista de mai sus:

13. Preluare lot vs. Interpretare -- Un sistem OLAP trebuie să ofere acces atât la datele proprii, cât și la cele externe în mod egal eficient.

14. Suport pentru toate modelele de analiză OLAP -- Un sistem OLAP trebuie să accepte toate cele patru modele de analiză a datelor definite de Codd: categoric, interpretativ, speculativ și stereotip.

15. Prelucrarea datelor nenormalizate -- sistemul OLAP trebuie integrat cu surse de date nenormalizate. Modificările datelor făcute în mediul OLAP nu ar trebui să aibă ca rezultat modificări ale datelor stocate în sistemele externe originale.

16. Salvarea rezultatelor OLAP: stocarea lor separat de datele sursă - un sistem OLAP care funcționează în modul citire-scriere trebuie să salveze rezultatele separat după modificarea datelor sursă. Cu alte cuvinte, securitatea datelor originale este asigurată.

17. Eliminarea valorilor lipsă - Un sistem OLAP, atunci când prezintă date utilizatorului, trebuie să renunțe la toate valorile lipsă. Cu alte cuvinte, valorile lipsă trebuie să fie diferite de valorile nule.

18. Gestionarea valorilor lipsă -- Sistemul OLAP trebuie să ignore toate valorile lipsă, indiferent de sursa lor. Această caracteristică este legată de regula a 17-a.

În plus, Codd a împărțit toate cele 18 reguli în următoarele patru grupuri, numindu-le caracteristici. Aceste grupuri au fost denumite B, S, R și D.

Principalele caracteristici ale (B) includ următoarele reguli:

Reprezentarea conceptuală multidimensională a datelor (regula 1);

Manipularea intuitivă a datelor (regula 10);

Disponibilitate (regula 3);

Extragerea lotului vs. interpretare (regula 13);

Suport pentru toate modelele de analiză OLAP (regula 14);

Arhitectura client-server (regula 5);

Transparență (regula 2);

Asistență pentru mai mulți utilizatori (regula 8)

Caracteristici speciale (S):

Prelucrarea datelor nenormalizate (regula 15);

Stocarea rezultatelor OLAP: stocarea acestora separat de datele sursă (regula 16);

Eliminarea valorilor lipsă (regula 17);

Gestionarea valorilor lipsă (regula 18). Funcții de raportare (R):

Flexibilitatea raportării (regula 11);

Performanța standard de raportare (regula 4);

Configurare automată nivel fizic(regula originală modificată 7).

Controlul dimensiunii (D):

Universalitatea măsurătorilor (regula 6);

Număr nelimitat de dimensiuni și niveluri de agregare (regula 12);

Operații nelimitate între dimensiuni (regula 9).