Utilizând SAP HANA, puteţi efectua calcule ale businessului direct pe datele originale în memoria principală, fără necesitatea de a transforma datele. Multe dintre aceste calcule pot fi modelate grafic, ca view-uri de date speciale în SAP HANA Studio, fără a mai fi nevoie de cod.
Acest articol prezintă opţiunile de modelare de date în SAP HANA, care sunt inima dezvoltării de aplicaţii in HANA.
Datele de business ale unui domeniu sunt memorate (de obicei în forma normalizată) în tabelele din baza de date, care sunt conectate printr-un foreign key (așa-numită entity-relationship model). Cu ajutorul acestui model de date, pot fi create, selectate şi modificate eficient înregistrări unice. Totuşi, dacă accesul la date devine mai dinamic şi mai complex sau dacă anumite analize sau verificări sunt necesare, datele trebuie să fie transformate.
Un exemplu care se poate crea, ar fi o analiză relativ simplă a rezervărilor de zbor şi a gradului de utilizare a locurilor pe parcursul unui zbor, pe baza datelor din modelul SFLIGHT. Pentru a crea aceste analize, vom utiliza diferitele opţiuni de modelare, furnizate de SAP HANA şi vom explica proprietăţile şi modul lor de utilizare.
Figura 1. Tipurile de View-uri în SAP HANA
Următoarele tipuri de view-uri vor fi discutate:
Attribute views- definesc master data views. Vom introduce diferitele opţiuni disponibile pentru crearea joinurilor între tabele și vom explica cum atributele calculate pot fi adăugate la un view.
Analytic views - pot fi utilizate pentru calcule şi analize bazate pe date tranzacţionale cu ajutorul unui scheme stea (star schema). Vom explica cum puteţi defini key figures simple şi calculate şi să adăugaţi dimensiuni.
Modelarea de date in HANA este posibilă numai pentru tabelele stocate pe coloană.
SAP HANA are în principiu trei tipuri de motoare care sunt folosite, bazându-se pe view-urile solicitate de model. (Vezi Figura 2.)
Figura 2. Motoarele de calcul în SAP HANA
Motorul Join: - este folosit pentru view-uri de atribute
Înainte de a descrie modul în care view-urile de atribute sunt modelate, să aruncăm o privire la cele mai importante concepte. Deoarece view-urile de atribut pot fi folosite pentru a crea view-uri de date bazate pe mai multe tabele care sunt legate prin diferite tipuri de join-uri, ele pot fi de asemenea numite join views. Deoarece joinurile joacă un rol major când lucrăm cu view-uri de atribute, accesul la view-urile de atribute sunt manipulate de motorul Join în SAP HANA.
Motorul OLAP: - este folosit pentru view-uri analitice
Termenul de procesare analitică online (Online Analytical Processing -OLAP) este adesea utilizat ca un sinonim pentru sistemele analitice. OLAP descrie analize multidimensionale bazate pe o schema stea (star schema), în timp ce datele dintr-un depozit de date pot fi de asemenea organizate în flat tables în baza de date.
Motorul de Calcul: Folosit pentru view-uri analitice cu atribute calculate și view-uri de calcul
Prin agregarea cât mai rapidă a datelor şi efectuarea calculelor pe datele agregate, puteţi obţine două lucruri: primul, puteţi reduce setul de date pentru procesarea ulterioară şi astfel şi setul de date care trebuie, de exemplu, să fie transferate de la Motorul OLAP la Motorul de Calcul. În al doilea rând, puteţi reduce numărul de calcule sub anumite circumstanţe (de exemplu, pentru a converti sumele într-o singură monedă).
View-urile de atribute cuprind un număr de câmpuri (coloane) din tabelele bazei de date, care sunt legate prin relaţiile foreign keys.
Acestea sunt în special relevante în următoarele cazuri:
În acest articol vom crea un exemplu, pentru a demonstra diferite aspecte funcţionale.
Atunci când modelăm un view de atribute facem deosebirea între următoarele concepte:
Avantajul principal al view-urilor de atribute este posibilitatea de a defini un view bazat pe câmpuri din mai multe tabele. În contrast cu ABAP Dictionary, view-urile pot cuprinde numai inner joins, în schimb view-urile de atribute în SAP HANA vă permite să utilizaţi o mai mare varietate de tipuri de join-uri.
View-urile atribut pot fi definite prin perspectiva Modeler în SAP HANA Studio. Pentru a crea un view, selectaţi NEW • Attribute View din meniul context al pachetului din conţinutul nodului. Editorul utilizat pentru a defini un view de atribute cuprinde două secţiuni: Data Foundation și Semantics.
Figura 3. Tipurile de View-uri în SAP HANA
Data Foundation este utilizat pentru a adăuga tabele, a defini join-uri , şi a adăuga atribute.
Figura 3. arată un exemplu simplu pe baza tabelei SFLIGHT.
Selectând nodul Semantics, vă puteţi întreţine mai departe metadata pentru view. De exemplu, puteţi specifica următoarele: Puteţi specifica dacă un atribut este un câmp cheie a view-ului. Reţineţi că fiecare view de atribute trebuie să conţină cel puţin un câmp cheie. În plus, puteţi defini texte (labels) pentru atribute sau ascunde atribute, care pot fi utile în contextul câmpurilor calculate.
Vom adăuga tabele SCARR şi SPFLI in view-ul SFLIGHT, iar rezultatul vă arată numele de companie aeriană şi informaţii de plecare şi de destinaţie pentru fiecare zbor (Vezi Figura 4.).
Figura 4. Rezultatul View-ului SFLIGHT
Explicând cum un view de atribute poate fi utilizat pentru a citi date din diferite tabele folosind diferite tipuri de joinuri, vom merge mai departe şi vom calcula dinamic coloanele unui view.
Vom defini un atribut calculat, cu numele ROUTE, care va afișa ruta locului de plecare şi aeroportul acesteia plus destinaţia de sosire și aeroportul acesteia.
Figura 5. Crearea atributului ROUTE și rezultatul acesteia
View-urile analitice sunt view-uri speciale în SAP HANA, și sunt utilizate pentru a calcula
şi analiza key figures. Ca exemplu, putem modela o analiză a rezervărilor de zbor pe baza caracteristicilor de client şi de zbor. Într-o astfel de analiză, preţurile de rezervare şi greutatea bagajelor vor fi examinate drept key figures. De asemenea, se poate defini un alt calcul pe baza greutății bagajelor care precizează dacă avem un surplus de bagaje (mai mult de 20 kg).
Analizele de obicei se axează pe datele tranzacţionale (comenzi de achiziţie, documente, facturi, etc.). Tabelul corespunzător este menţionat ca tabel factual (fact table). Aceste date includ una sau mai multe key figures sau măsuri (measures) - de exemplu, suma facturii-care sunt relevante pentru analiza de date. Tabelele factuale conţin de obicei un număr mare de intrări. Mai mult, tabele factuale pot conţine date din mai multe tabele din baze de date. Key figures trebuie să fie de la o singură tabelă, iar atributele celorlalte tabele sunt folosite ca foreign key. Un exemplu tipic ar fi tabele factuale care conţin datele hederului şi elemente de linie.
Similar cu view-urile de atribute, și view-urile analitice sunt create în SAP HANA Studio prin meniul contextual în pachet, în perspectiva Modeler. Editorul pentru view-urile analitice este format din trei secţiuni:
Data Foundation - pentru definirea tabelului factual.
Logical Join - pentru adăugarea de dimensiuni (dimensions), definite de view-ul de atribute şi pentru a defini atributele calculate şi măsurile restricţionate.
View-ul de calcul este utilizat ori de câte ori capacităţile view-ului de atribute și cel analitic nu pot satisface cerinţele. Acesta este mai ales cazul în care este necesar să combinăm în mod flexibil mai multe view-uri, ca în Figura 5.
Principala diferenţă între view-ul de calcul şi alte tipuri de view-uri introduse până acum, este că view-urile de calcul pot combina oricare alte tipuri de view-uri. Un view de calcul este bazat pe un model de calcul care constă din noduri şi operaţii. Aceste noduri pot fi tabele sau alte tipuri de view-uri. View-urile de calcul sunt modelate grafic într-o structură arborescentă, iar frunzele reprezintă tabele sau view-uri. Celelalte noduri definesc operaţii de date.
View-urile de calcul sunt create folosind aceeaşi procedură ca şi în cazul view-urilor de atribute şi cele analitice.
Figura 6. Calculation View
View-ul de calcul poate fi creat folosind editorul grafic sau editorul de SQL Script.
Sper că după citirea acestui articol veţi avea o mai bună înţelegere a capacităţii de modelare cu ajutorul celor trei tipuri de view-uri în SAP HANA.
de Paul Suciu
de Bogdan Bucur