20
- Depozite de date (Oracle Warehouse) -

Depozite de Date Oracle

Embed Size (px)

Citation preview

Page 1: Depozite de Date Oracle

- Depozite de date (Oracle Warehouse) -

Page 2: Depozite de Date Oracle

2

CUPRINS Introducere ................................................................................................................................................... 3

Orientarea pe subiect ............................................................................................................................... 4

Integrarea .................................................................................................................................................. 4

Non – volatilitatea ..................................................................................................................................... 4

Variabilitatea ȋn timp ................................................................................................................................ 4

Arhitectura unui depozit de date .................................................................................................................. 5

Organizarea datelor ȋn depozite ................................................................................................................... 8

Metadatele .................................................................................................................................................... 9

Oracle pentru depozite de date .................................................................................................................. 10

Bibliografie .................................................................................................................................................. 11

ANEXA – Aplicație: Oracle Warehouse Builder ........................................................................................... 12

Pasul 1: Configurarea mediului Oracle Warehouse Builder ................................................................... 13

Pasul 2 – Generarea Surselor De Date .................................................................................................... 16

Pasul 3 – Vizualizarea Depozitului .......................................................................................................... 20

Page 3: Depozite de Date Oracle

3

DEPOZITE DE DATE ORACLE

(ORACLE WAREHOUSE)

INTRODUCERE

Ȋn sens larg, depozitul de date reprezintă o bază de date de foarte mari dimensiuni care

este întreţinută separat de bazele de date operaţionale ale unei organizaţii şi care este construită

din date provenite din sisteme sursă prin extragere, filtrare, transformare şi stocare în depozite

speciale, în scopul sprijinirii proceselor decizionale.

Depozitele de date sprijină prelucrarea informaţiilor pentru analiză, furnizând o platformă

solidă de consolidare a datelor istorice. Un depozit de date este un ansamblu de date consistente,

din punct de vedere semantic, care serveşte la o implementare fizică a unui model de date pentru

sprijinirea deciziei şi stochează informaţii pe care o organizaţie le solicită în luarea deciziilor

strategice.

Ȋn definiția dată de W. H. Inmon (considerat părintele depozitelor de date), un depozit de

date este o colecție de date orientate pe subiect, integrate, non – volatile, variabile ȋn timp și care

constituie suport pentru luarea deciziilor ȋntr-o organizație.

Page 4: Depozite de Date Oracle

4

Fig. 1 – Schema ilustrativă a unui depozit de date

ORIENTAREA PE SUBIECT: Ȋn general, depozitele de date sunt organizate în jurul

aplicaţiilor funcţionale ale companiei. De exemplu, pentru o companie de asigurări aplicaţiile

sunt orientate pentru auto, viaţă, sănătate şi depozitele de date se construiesc pe aceste subiecte.

INTEGRAREA: Depozitele sunt alimentate dintr-o multitudine de surse separate. La

alimentare, ele sunt curăţate, convertite, transformate, rezumate. Rezultă o singură imagine

integrată a datelor pentru ȋntreaga companie ȋn care datele sunt stocate astfel încât să faciliteze

utilizarea lor în mai multe aplicaţii, cu respectarea unor convenţii de nume, de structură, de

măsuri.

NON – VOLATILITATEA: În depozite, datele se încarcă în anumite momente de timp şi sunt

stocate pe perioade lungi de timp, de aceea nu se permite modificarea acestora odată ce ele au

fost deja ȋncărcate din sistemul operațional.

VARIABILITATEA ȊN TIMP: Datele sunt semnificative pentru un anumit moment de timp

(time-variancy) și de aceea înregistrările conțin o informaţie privind momentul sau perioada de

timp pentru care sunt valabile.

Depozit de date

Colecții de date:

Orientate pe subiect

Integrate

Non – volatile

Variabile ȋn timp

Page 5: Depozite de Date Oracle

5

ARHITECTURA UNUI DEPOZIT DE DATE

Arhitectura unui depozit de date este formată din trei componente conectate ȋntre ele:

sursa de date, depozitul de date și interfața de analiză (vezi figura 2). Depozitul de date este de

dimensiuni foarte mari și conține informațiile informațiile pe care le pot folosi utilizatorii

(clienți, furnizori).

Fig. 2 – Arhitectura unui depozit de date

Depozitul de date conţine mai multe tipuri de date care corespund diferitelor cerinţe

informaţionale ale utilizatorilor: date detaliate, date agregate, metadate (dicţionarul de date).

Metadatele descriu datele conţinute în depozitul de date şi modul în care ele sunt

obţinute şi stocate. Prin metadate se precizează structura datelor, provenienţa lor,

regulile de transformare, de agregate şi de calcul. Ele sunt utilizate la încărcarea

datelor, la consultare, la actualizare, adică pe parcursul întregului ciclu de viaţă

al depozitului.

Date

externe

T

r

a

n

s

f

o

r

m

a

r

e

Metadate

Data Mart

Data Mining

OLAP

Date

interne

Date

arhivate

Date agregate

Date detaliate

Sursa de date Depozit de date Interfața de

analiză

Page 6: Depozite de Date Oracle

6

Datele agregate, deşi determină o creştere a redundanţei datelor și sunt necesare

deoarece în acest fel se poate asigura un timp mediu de răspuns cât mai redus.

Aceste date presupun un grad de prelucrare prealabilă, astfel încât să fie pregătite

pentru nevoile managementului: consolidare, totalizare, sumarizare, împachetare

(în formate accesibile interfeţelor de analiză utilizate).

Datele detaliate sunt cele relativ recente, livrate utilizatorilor, de regulă la nivel de

execuţie. Tot aici se găsesc și date avȃnd o anumită vechime, tot ȋn formă

detaliată.

Sursele de date sunt: datele operaţionale curente (BD şi/sau fişiere din sistemul informatic al

organizaţiei), datele vechi arhivate, datele externe (BD şi fişiere din sistemele informatice ale

altor organizaţii). Construirea depozitului de date, pornind de la sursele de date, presupune

parcurgerea unor etape în cadrul unui proces de transformare:

- extragerea datelor din datele operaţionale sau din surse externe, urmat de copierea lor în

depozitul de date. Acest proces trebuie, cel mai adesea, să transforme datele în structura

şi formatul intern al depozitului;

- filtrarea datelor, pentru a exista certitudinea că datele sunt corecte şi pot fi utilizate

pentru luarea deciziilor;

- încărcarea datelor corecte în depozitul de date;

- agregarea datelor: totaluri precalculate, subtotaluri, valori medii, sume etc., care se

preconizează că vor fi cerute şi folosite de utilizatori. Aceste agregări sunt stocate în

depozitul de date împreună cu datele importate din sursele interne şi externe.

Interfeţele de analiză sunt produse software care implementează tehnologii informatice

pentru extragerea şi analiza datelor din depozit : concentrări de date (Data Mart), extrageri şi

analize de date (Data Mining), analiza multidimensională a datelor (OLAP).

Page 7: Depozite de Date Oracle

7

Datele ȋn depozite sunt subiect – orientate, deci organizate mai puțin după aplicație sau

proces. Ele sunt extrase și reȋmprospătate periodic de către sistemul operațional. După arhitectura

prezentată anterior (figura 2), serverul depozitului de date este punctul central (“inima”)

aplicației. Totuși, mai există o arhitectură pe verticală, mai simplă, cu două niveluri, ȋn care

primul nivel include sistemul operațional cȃt și baza de date iar al doilea aplicațiile client.

Fig. 3 – Arhitectura pe straturi

Metadata

Date sumarizate parțial

Date sumarizate complet

Date curente detaliate

Date vechi

Page 8: Depozite de Date Oracle

8

ORGANIZAREA DATELOR ȊN DEPOZITE

Sursele de date pentru depozitul de date provin în principal din datele importate din

sistemul informatic operațional, dar mai pot proveni din datele de arhivă (în perioada de

constituire a depozitului) precum şi din surse externe (baze de date publice, date demografice,

date statistice, date de prognoză economică, date obtinute în urma unor sondaje de opinie etc.).

Colecţiile de date (BD sau fişiere) utilizate de sistemul informatic operaţional au ca scop

optimizarea şi siguranţa procesării datelor.

Datele dintr-un depozit de date sunt organizate într-o manieră care să permită analizarea

lor complexă, deci extragerea semnificaţiei economice pe care o poartă. Depozitul de date este

orientat pe subiectele importante ale procesului economic: clienții, furnizorii, produsele,

activităţile. De exemplu, o comandă lansată de un client va apărea în sistemul operaţional ca un

set de înregistrări care vor conţine date despre client, date despre produsele sau serviciile

comandate, date despre modul de transport, date despre modul de plată.

În sistemul operaţional redundanţa este minimizată (de exemplu prin procesul de

normalizare - proiectarea) pentru a evita anomaliile de actualizare. În depozitul de date

redundanţa este creată în mod intenţionat (prin denormalizare si sumarizare) pentru a permite un

acces mai rapid şi uşor la date.

Integrarea datelor reprezintă un aspect important al depozitului de date şi anume raţiunea

pentru care acesta este creat. Datele sunt adunate pentru a răspunde nevoilor informaţionale ale

întregii organizaţii, asigurând faptul că rapoartele generate pentru diverse compartimente vor

conţine aceleaşi rezultate. Informaţiile care au caracter istoric sunt esenţiale, deoarece ele pun în

evidentă tendinţe care reprezintă fundamentul unei prognoze corecte.

Depozitul de date este un istoric al sistemului operaţional. Orizontul de timp pe care îl

acoperă depozitul de date este de cel puţin cinci ani, ajungând uneori la zece ani, în funcţie de

dinamica evoluţiei pieţei şi, deci, de relevanţa datelor cu caracter istoric pentru nevoile analizei.

Din punctul de vedere tehnic, aceasta implică faptul că orice înregistrare din depozitul de date

poate fi plasată în timp, orice cheie de acces cuprinde şi o variabilă de timp. Actualizarea la

depozitele de date este foarte rară, ea se realizează doar prin adăugarea periodică a unor date

extrase din sistemele operative sau din alte surse de date (campanii).

Din punctul de vedere al aplicaţiilor care folosesc depozitul de date, accesul la date este

doar pentru citire. Pentru a obţine informaţiile dorite, depozitele de date sunt supuse unor

prelucrări complexe, cu ajutorul unor metode specifice, cum ar fi: analiza multidimensională a

datelor, metode statistice superioare de prognoză, metode matematice aplicate unui volum foarte

mare de date. Aceste metode presupun folosirea unui software specializat deosebit de complex,

bazat pe noi tehnologii informatice: extrageri de date (data mining), OLAP, concentrări de date

(data mart).

Page 9: Depozite de Date Oracle

9

Concentrările de date (data marts) pot fi construite să funcţioneze pe configuraţii mai

modeste decât depozitele de date şi sunt specifice unei anumite aplicaţii. Depozitul de date

conţine informaţii care pot fi utilizate pentru a răspunde oricărei întrebări privind afacerile unei

organizaţii, iar concentrările de date conţin datele necesare unui anumit compartiment al

organizaţiei. Conectând împreună concentrările de date aferente diferitelor compartimente ale

organizaţiei, formând astfel o infrastructură specifică, departamentele pot folosi în comun datele

lor şi se poate crea astfel un sistem de suport al deciziei mai uşor de construit şi mai flexibil.

Interfeţele OLAP se bazează pe reprezentarea multidimensională a datelor (cub de date) şi

permite analiza interactivă şi rapidă a datelor prin operaţiuni specifice. Utilizatorul poate obţine

rezultate immediate parcurgând dinamic dimensiunile cubului de date, lucrând cu niveluri

diferite de sinteză/detaliere.

Interfeţele de tip Data Mining asigură extragerea şi transformarea datelor în cunoştinţe.

Se utilizează tehnici ale analizei statistice superioare şi de inteligenţă artificială care permit

descoperirea de corelaţii, reguli, cunoştiinţe utile sprijinirii deciziilor.

METADATELE

Metadatele sunt informaţii despre datele existente în depozite, care descriu structura

(conţinutul) depozitului şi furnizează referinţe directe la date. Ele sunt folosite pentru

administrarea depozitului de date, deoarece conţin informaţii despre: sursa datelor, algoritmii de

sumarizare, statisticile de utilizare etc. Metadatele sunt create pentru toate numele de date şi

definiţiile din depozit. Metadate adiţionale sunt create pentru a asocia intervale de timp la datele

extrase şi alte câmpuri care vor fi adăugate prin filtrarea datelor sau prin procesele de integrare.

Metadatele unui depozit de date conţin următoarele informaţii:

- o descriere a structurii de date din depozit, care include schema depozitului,

dimensiunile, ierarhiile, definiţiile datelor derivate;

- metadatele operaţionale, care includ: date privind evoluţia în timp (istoricul datelor şi

secvenţa de transformare aplicată asupra lor), circulaţia datelor (active, arhivate, şterse)

şi informaţii de monitorizare (statistici privind utilizarea depozitului de date, rapoarte de

erori etc.);

- algoritmii utilizaţi pentru sumarizare, care includ: măsura şi dimensiunea algoritmilor

definiţi, date despre granularitate, partiţii, arii de subiecte, agregări, sumarizări, rapoarte

şi filtre predefinite;

- mapările (transformările) de la mediul operaţional la depozitul de date care includ: bazele

de date sursă şi conţinutul lor, descrierile interfeţelor (gateways), partiţionarea datelor,

extragerea datelor, filtrarea datelor, regulile de întreţinere, securitate a datelor;

Page 10: Depozite de Date Oracle

10

- date referitoare la performanţele sistemului care include indici şi profiluri care

îmbunătăţesc accesul la date şi performanţele de căutare;

- metadatele economice (business metadata), care includ termenii economici şi definiţiile

aferente.

ORACLE PENTRU DEPOZITE DE DATE

Oracle a fost printre primele sisteme care au inclus funcționalități pentru implementarea

depozitelor de date. Ȋncepȃnd cu versiunea 7.3, au fost posibile interogări paralele,

managementul paralel al datelor, optimizări bazate pe interogări, indexuri bitmap, etc. Oracle8 a

ȋmbunătățit aceste funcționalități și conectȃnd serverul cu unelete ca Oracle Discoverer și Oracle

Express, a devenit cea mai bună alegere ȋn construirea și ȋntreținerea unui depozit de date. Mai

mult, sistemul este mereu actualizat pentru a face față noilor cerințe ce apar ȋn legătură cu

depozitele de date.

Arhitectura este ilustrată ȋn figura 4 și ȋmpărțită ȋn 3 straturi:

Stratul 1 - accesarea datelor: datele pot fi accesate de la surse multiple iar

transferul este asigurat de utilitare ca SQL*Loader, scheme Oracle export/import.

SQL Stored Procedures.

Stratul 2 – Serverul depozitului de date: serverul poate fi de tip RDBMS (Relation

Database) sau MDD (Multi-Dimensional Database), Oracle prevăzȃnd soluții

pentru amȃndouă. Pentru MDD, se folosește Oracle Express Server iar pentru

RDBMS Oracle7, Oracle8 sau Oracle8i.

Stratul 3 – Sistemul de decizie : conține DSS și OLAP. Cu utilitarele Oracle

Reports, Oracle Discoverer și Oracle Express, utilizatorul poate avea oricȃnd și

oricum acces la datele depozitului.

Server al depozitului de

date

Sistem

operațional

Sisteme

Oracle

Oracle Discoverer

Oracle Express

Oracle Reports

SQL*Loader

Export/Import

Proceduri

stocate

Oracle

Transparent

Gateway Sisteme

“legacy”

DSS

OLAP

DSS

Page 11: Depozite de Date Oracle

11

BIBLIOGRAFIE

1. Oracle Database, Data Warehousing Guide, 11g Release 1, September 2007

2. F. Ionescu, note de curs

3. Muhammad Ahmad Shazad, “Data Warehousing with Oracle”, Oracular

5.http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/owb/owb11g_update_g

etting_started_intro/lesson1/less1_start.htm

Page 12: Depozite de Date Oracle

12

ANEXA – APLICAȚIE: ORACLE WAREHOUSE BUILDER

Aplicația a fost dezvoltată ȋn Oracle Warehouse Builder, un utilitar inclus ȋn pachetul

Oracle Database 11gR1.

Oracle Warehouse Builder (OWB) permite proiectarea şi construirea depozitelor de

date, a centrelor de date (data mart) şi a aplicaţiilor BI (Business Intelligence). Conţine un

set de instrumente grafice care asistă utilizatorul în proiectare, pentru crearea obiectelor

memorate într-un spaţiu de lucru (workspace) memorat în baza de date Oracle:

Toolset-ul Design Center permite importul obiectelor sursă şi proiectarea

proceselor ETL şi a obiectelor de corespondenţă (mapping) . Un mapping

(mapare) defineşte un flux de date de la sursă la depozitul ţintă (target

warehouse) iar OWB generează codul pentru extragerea, transferul şi

încărcarea datelor (procesul ETL).

Toolset-ul Repository Browser asigură o interfaţă Web pentru inspectarea

metadata din depozit.

Control Center Service – controlează deploymentul bazei de date target .

Figura A1 – Diagramă ce ilustrează interacțiunea dintre componentele principale

ale OWB

Page 13: Depozite de Date Oracle

13

PASUL 1: CONFIGURAREA MEDIULUI ORACLE WAREHOUSE BUILDER

Se porneşte Repository Assistant.

Se creeaza un nou user şi se realizează accesul la centrul de control (control center).

Page 14: Depozite de Date Oracle

14

Page 15: Depozite de Date Oracle

15

Pentru a obine accesul, în command window se introduce:

C:> sqlplus

sql> username: sys as sysba

password: password

Iar pentru OWBSYS, se vor introduce:

sql> alter user owbsys identified by password account unlock;

Page 16: Depozite de Date Oracle

16

PASUL 2 – GENERAREA SURSELOR DE DATE

După crearea coenxiunii, inainte de a ne loga cu userul nou creat, se vor rula nişte

scripturi pentru generarea unor tabele, mapări, cuburi, etc. Acestea se găsesc în

<path>newowdemo.

Page 17: Depozite de Date Oracle

17

Ne vom loga din cmd din nou la sqlplus şi vom genera comanda:

Sql> @d:\newowbdemo\create_users.sql;

Se vor crea doi useri: xsales şi eul_from_owb.

Page 18: Depozite de Date Oracle

18

Se editează fişierul owbdemoinit.tcl cu valorile corespunzătoare mediului creat prin

Repository Assistant.

#define global variables used in procedures global debug global iconlocation global owbclient global owbclientpwd global host global port global service global udoappdefname global themodule #Set all common variables set owbclient rep_owner set owbclientpwd rep_owner set sysuser sys set syspwd orcl set host localhost set port 1521 set service orcl set project OWB_DEMO set sourcedir d:/newowbdemo set dataspace USERS set indexspace USERS set tempspace TEMP set snapspace USERS set sqlpath C:\app\Illy\product\11.1.0\db_1\BIN set sid orcl #set the workspace info set workspaceOwner rep_owner set workspaceName my_workspace

Page 19: Depozite de Date Oracle

19

Apoi, în OMB Plus (Start > Programs > [Oracle - OWB11gR1clientHome] >

Warehouse Builder > OMB Plus) se introduc comenzile:

cd d:\\newowbdemo\\

source owbdemoinit.tcl

source loadall.tcl

Page 20: Depozite de Date Oracle

20

PASUL 3 – VIZUALIZAREA DEPOZITULUI

La pornirea WarehouseBuilder->Design Center, prin logarea cu userul şi parola

aferente, vom observa că în fereastra Explorer s-a generat un model nou OWB_Demo.

SALES_WH conţine tabelele de date, cuburile şi mapările.