Sunteți pe pagina 1din 60

Introducere in

Business Intelligence (3)


Conf. Bologa Ana-Ramona
ASE, Bucuresti
Agenda
1. Modelarea datelor in BI
2. Advanced analytics (in memory, big data)
3. Baze de date orientate pe coloane in contextul Big data
Modelarea datelor
 reprezinta vizual natura datelor, regulile de business
respectate de date si cum vor fi utilizate in baza de date
 are doua parti esentiale:
1. Proiectare logica
2. Proiectare fizica
 modelul datelor nu va include toate datele si codul din baza
de date, dar va avea obiecte de tip:
 tabela,
 coloana,
 restrictie,
 relatie
Ciclul de modelare a datelor
1. Colectarea cerintelor de business – interactiune cu
analistul de business si utilizatorii finali pt cerintele de raportare
2. Modelarea conceptuala a datelor – identificarea entitatilor
principale si a relatiilor dintre ele
3. Modelarea logica a datelor – reprezinta toate cerintele de
business , extinzand modelul conceptul cu atribute, chei, relatii,
text descriptiv
4. Modelarea fizica a datelor – model complet ce include
tabele, coloane, relatii, proprietati fizice
5. Crearea bazei de date – entitati->tabele, atribute ->
coloane, tipuri de date, restrictii , indecsi
Pasi pentru crearea modelului logic
1. Identificarea cerintelor de business
2. Analiza cerintelor de business
3. Crearea modelului conceptual al datelor. Aprobarea lui de catre reprezentantii de
business
4. Crearea noului model logic de date care include urmatoarele:
 Selectarea BD tinta (pt generare scripturi pentru schema fizica)
 Crearea unui document cu abrevieri standard pentru obiectele logice/fizice
 Crearea domeniilor
 Crearea regulilor
 Crearea valorilor implicite
 Crearea entitatilor si adaugarea de definitii
 Asignarea tipurilor de date/domeniilor pt atribute
 Adaugarea de restrictii CHECK/reguli sau valori implicite
 Crearea de chei primare sau unice
 Crearea indecsilor
 Daca e necesara, crearea subtipurilor si supertipurilor (mostenire)
 Identificarea relatiilor intre entitati si crearea cheilor externe
 Validarea modelului de date
 Aprobarea modelului logic
Pasi pentru crearea modelului fizic
1. Crearea modelului fizic pe baza modelului logic
2. Adaugarea de proprietati specifice bazei de date
3. Generarea scripturilor SQL din modelul fizic; trimiterea lor
catre DBA
4. Compararea bazei de date cu modelul datelor
5. Crearea unui document de log pentru urmarirea modificarilor
modelului
 In transformarea model logic ->model fizic, tipurile de date pot
fi complet diferite, conform cerintelor de raportare si restrictiilor
fizice (lungimea numelor tabelelor, numelor coloanelor etc)
 STANDARDIZARE in modelul logic datelor (aceeasi denumire, tip,
abrevieri)
Notatii
 Notatii pentru modelarea datelor: Information Engineering (IE), Barker, IDEF1X,
Unified Modeling Language (UML)
Implementare Data Warehouse
 Strategii de implementare
 Strategie de tip organizatie / top – down / metodologie Inmon

 Strategie de tip Data Mart / bottom – up / metodologie Kimball

 Aplicate corect, ambele strategii conduc la o implementare corecta de


Data Warehouse
Depozit de modele de date
 Modelele datelor si metadatele referitoare la acestea sunt
stocate intr-un Data Model Repository – acces concurent, pe
baza de privilegii
 Business metadata
 text aditional , definitie a unui termen (tabela, coloana) asigura
intelegerea comuna a semnificatiei
 util in generarea rapoartelor atat pentru echipa tehnica, cat si pentru
non-tehnica,
 Metadate TABELA – numele sistemului sursa, numele entitatii
sursa, regulile de business pentru transformarea tabelei sursa,
utilizarea tabelei in rapoarte
 Metadate COLOANA – coloana sursa, regulile de business pentru
transformarea coloanei sursa, utilizarea coloanei in rapoarte
Exemplu de Business Metadata
Beneficii
 Reducerea duratei dezvoltarii sistemului BI prin
intelegerea sistemelor sursa
 Acuratete ridicata a rezultatelor BI
 Transparenta crescuta care le permite utilizatorilor si
dezvoltatorilor sa isi dea seama ce informatii sunt disponibile
QPM- Qlikview Project Methodology
 Metodologie proprie QLIK, 2011
 Descrie activitatile legate de managementul unui
proiect Qlikview ti etapele de realizarea a unei
aplicatii BI, inclusiv documente si livrabile
 Etape:
1. initierea proiectului,
2. etapa de planificare,
3. etapa de executie,
4. etapa de implementare
5. etapa de evaluare
QPM- Qlikview Project Methodology
Q1. Initierea proiectului
 Definirea obiectivului initial - corelat cu obiectivele
debusiness;
 Planificarea si bugetarea initiala activitati:
 Estimarea duratei proiectului si a perioadei de timp alocata
fiecarei etape ;
 Stabilirea resurselor necesare;
 Definirea unui plan initial cu activitatile proiectului si cu
perioada alocata fiecarei activitati;
 Pregatirea bugetului proiectului;
 Definirea cerintelor initiale cu urmatoarele activitati:
 Definirea cerintelor de business si a restrictiilor;
 Identificarea cerintelor initiale legate de sursele de date
Q1. Initierea proiectului (cont)
 Întelegerea modului cum sunt create, stocate, transportate si
raportate datele
 Stabilirea transformarilor necesare asupra datelor;
 Identificarea cerintelor legate de integrarea datelor
 Realizarea unei mapari sursa-destinatie;
 Specificarea cerintelor infrastructurii
 Specificarea cerintelor de securitate (criptarea, autentificare sti
autorizarea accesului la date );
 Descrierea diferitelor solutii si utilizarea unui model SWOT
pentru fiecare solutie. Identificarea solutiei optime.
Q2. Planificarea
 Planificarea managementului proiectului cu urmatoarele
activitati:
 Actualizarea cerintelor de business si ierarhizarea lor
 Estimarea efortului necesar pentru implementarea cerintelor de
business.
 Validarea obiectivului si a scopului proiectului;
 Planificarea etapelor de executie si implementare;
 Revizuirea resurselor necesare pentru urmatoarele etape si
actualizarea planului de organizare a proiectului;
 Alocarea resurselor la roluri si responsabilitati, alocarea
rolurilor si a responsabilitatilor la fiecare task, pentru etapa de
executie;
 Revizuirea bugetului, tinând cont de ultimele modificari din
planul proiectului;
 Analiza riscului
 Crearea planului final al proiectului.
Q2. Planificarea (cont)
 Planificarea platformei Qlikview Enterprise cu
urmatoarele activitati:
 Realizarea modelului dimensional initial
 Definirea cerintelor pentru ETL (initiala si incrementala)
 Definirea arhitecturii aplicatiilor
 Identificarea riscurilor asociate cu arhitectura stabilita si
evaluarea nivelului initial de risc
Q3. Executia – iterativa (3 sapt/iter)
 Dezvoltarea
 dezvoltarea procesului de încarcare a datelor (configurarea
conexiunilor, dezvoltarea scriptului de încarcare initiala a datelor);
 crearea modelului de date (crearea fisierelor QVD);
 dezvoltarea interfetei - abordare DAR (Dashboards, Analysis,
Reports)
 Testarea
 se va verifica daca sursele de date conectate sunt valide;
 se va verifica corectitudinea expresiilor create;
 se vor testa panourilor de bord pentru a verifica daca afiseaza
indicatorii ceruti;
 se vor testa diferite scenarii de business;
 se va verifica daca a fost configurata corect securitatea aplicatiei.
 Revizuirea si validarea de catre client
 Rafinarea solutiei
Q4. Implementarea
 Training-ul utilizatorilor;
 Managementul metadatelor;
 Initierea procesului de mentenanta;
 Migrarea –mutarea aplicatiilor în productie;
 Suport pentru utilizatori.
Q5. Evaluarea
 evaluarea aplicatiei BI - mecanisme pentru îmbunatatirea
solutiei BI
 evaluarea managementului proiectului,
 evaluarea managementului riscurilor,
 evaluarea echipei de proiect, a rolurilor si a
responsabilitatilor asociate.
Agenda
1. Modelarea datelor in BI
2. Advanced analytics (in-memory, big data)
3. Baze de date orientate pe coloane in contextul Big data
Tendintele majore in BI
 Advanced Analytics

 Mobile

 Cloud

 Social Media
Advanced Analytics
 O categorie de metode de analiza care pot conduce la
schimbarea si imbunatatirea practicilor de business.
 Instrumentele de analiza traditionale – “BI este astazi ca si
citirea unui ziar” = date istorice, ruleaza noaptea si produc
date istorice
 Advanced analytics – previzionarea evenimentelor si
comportamentelor viitoare, permitand realizarea de
analize what-if pentru a prevedea efectele potentiale ale
schimbarilor economice
Business Intelligence (vezi Cursul 1)

Advantage
What is the best that can happen? Optimise

What will happen next? Predict

What if these trends continue? Forecast

Statistica
Why is this happening? l
Analysis
Alerts
What actions are needed?
Query
drill
Where exactly is the problem?
Ad hoc down
Standar reports
d
How many, how often, where?
Clean reports
Raw data What happened?
data
Degree of Intelligence
Advanced Analytics / Predictive Analytics

 Data Mining
 Regresii de date
 Simularea Monte Carlo
 Previzionarea comportamentului clientilor
 Segmentarea/clusterizarea clientilor
 Analiza cosului de cumparaturi
 Metode de analiza a textului - Text Analytics
 Previziunea stocurilor
 Detectarea fraudelor – Anti-Fraud Analytics
 Big data Analytics
Aplicatii Data Mining
 Predictive:
 Clasificare
 Regresia
 Detectarea deviatiilor
 Filtrare colaborativa
 Descriptive:
 Clustering
 Descoperirea de reguli asociative
 Descoperirea de modele secventiale
Amazon.com si NetFlix

Filtrarea colaborativa incearca sa prevada ce alte produse ar vrea


clientul sa cumpere pe baza a ce a cumparat deja si a
comportamentului altor cumparatori

28
Ce este Text Analytics?
• transformarea comentariilor nestructurate ale unui client
informatii utile, pentru a imbunatati actiunile companiei
•Wikipedia:
… un set de instrumente lingvistice, statistice si tehnici de
invatare automata care modeleaza si structureaza continutul
informational al surselor text pentru BI , analiza aprofundata a
datelor si cercetare

•Tehnici de analiza bazata pe text:


Social Analytics
Sentiment Analysis
Brand Identity
Product & Brand Affinity
Reputation Driven Online-Economy
29
Procesarea textului nestructurat
Facebook Page

Twitter
Page Customer Sat
Survey
Comments
Call
Center Services
Notes,
Quality Cost Friendliness
Voice

Competitors’
Facebook
Public Web Sites,
Pages
Discussion Boards,
Email
Product Reviews
Blogs Alerts,
Adhoc Feedback Real-time Action

30
Factori : Modelele de procesare
Data Mining
Baze de date distribuite
Baze de date in cluster
Baze de date pe coloane
In-memory Database Analytics
In-database Analytics
Real-time Data warehouses
Procesare la sursa
“In-memory” BI
 Incarca setul de date in RAM – raspuns mult mai
rapid
 SO pe 32 biti puteau adresa doar 4 GB de memorie
RAM
 SO pe 64 de biti pot adresa pana la 1 terabyte (TB)
RAM
 Utilizeaza tehnici de compresie complexe si stocarea
pe coloane
 Unele solutii reduc/ elimina agregatele, cuburile
 Reduce costurile IT si timpul de implementare al aplicatiilor
BI
Solutia Caracteristici Exemple
In-memory OLAP - Cub MOLAP incarcat in memorie IBM Cognos-Applix(TM1)
- Lb MDX Actuate BIRT
- modelare multidimensionala a datelor
In-memory ROLAP - metadate ROLAP incarcate in memorie MicroStrategy
- modelarea multidimensionala a datelor
O BD orientata pe - stocheaza datele intr-o BD orientata pe coloane Tableau Software
coloane - modelarea datelor
- VizQL – lb declarativ

In memory spreadsheet - spreadsheet incarcat in memorie Microsoft PowerPivot


- Lb DAX (data analysis expressions)

In memory “associative” - stocheaza datele intr-un model “asociativ” incarcat in QlikView


data model memorie
- toate jonctiunile si calculele se fac in timp real
- scripturi pt incarcarea si transformarea datelor

Abordare hibrida cu BDR + BD orientata pe coloane Oracle Exalytics In-memory (include


tehnici de compresie Essbase, in –memory TimesTen
datebase)
SAP HANA
disk +in-memory -MOLAP - MDX- stocheaza agregatele si datele SQL Server 2012
atomice pe disc
-Tabular -lb DAX – stocheaza datele atomice in
memorie
Qlikview
 utilizeaza un model de date “in-memory” - stocheaza toate
datele in RAM, deci timp de raspuns mai mici
 utilizeaza algoritmi de compresie complecsi
 datele sunt comprimate la 10% din dimensiunea lor originala
atunci cand sint incarcate in documentul QlikView
 utilizeaza diferite surse de date:
 baze de date (conexiune prin ODBC, OLEDB), fisiere (Excel,
CSV, HTML, XML, etc. )
 exista de asemenea, diferiti conectori la aplicatiile SAP,
Salesforce, retele sociale cum ar Twitter.
Qlikview
 script de incarcare –poate fi utilizat pt a extrage, transforma si
incarca datele in modelul de date sau pt a stoca modelul
(inclusiv datele) pe disc in fisiere intermediare (QVD).
 datele sunt stocate la nivel de detaliu, toate agregatele se
realizeaza “on the fly”
 selectiile facute de utilizator se propaga in cascada prin tot
modelul de date.
 Orice selectie facuta in documentul Qlikview este automat
aplicata pe intregul model de date.
 aplicatiile QlikView pot rula pe multipli clienti/SO
Big Data Analytics
 Cat de multe date?
 Google proceaza 20 PB pe zi
 Facebook are 2.5 PB de date utilizator + 15 TB/zi
 eBay are 6.5 PB de date utilizator + 50 TB/zi
 Ce tipuri de date?
 Date relationale
 Text (Web)
 Date semistructurate (XML)
 Date sub forma de graf
 Social Network, Semantic Web (RDF), …
 Streaming Data
 Datele se pot scana o singura data
Big data : Volum, Viteza and Varietate
 Volum: companiile se confrunta cu tera sau chiar petabytes de
informatii.
 350 bilioane de citiri de contor pentru a previziona consumul de
energie
 Viteza: Existe procese care sunt sensibile la timp, ex detectarea
fraudelor
 Parcurgerea a 5 milioane de tranzactii de vanzare zilnic pentru a
detecta fraude
 Analiza 500 milioane apeluri zilnice de la clienti pentru a prevedea
mai rapid nemultumirile clientilor
 Varietate: text, sensor data, audio, video, click streams,
fisiere log
 Filme provenite de la camerele de supraveghere
 Exploatarea cresterii de 80% a datelor sub forma de imagini, video si
documente pentru cresterea satisfactiei clientilor
BIG DATA nu este doar HADOOP
Understand and navigate
Federated Discovery and Navigation
federated big data sources

Manage & store huge volume of Hadoop File System


any data MapReduce

Structure and control data Data Warehousing

Manage streaming data Stream Computing

Analyze unstructured data Text Analytics Engine

Integrate and govern all data Integration, Data Quality, Security, Lifecycle
sources Management, MDM
Tipuri de instrumente folosite de obicei in
Big Data
 Unde are loc procesarea?
 Distribuita
 Unde sunt stocate datele?
 Stocare distribuita (ex: Amazon s3)
 Care este modelul de procesare?
 Procesare distribuita (Map Reduce)
 Cum sunt stocate si indexate datele?
 Schema performanta, indiferent de baza de date
 Ce operatii se realizeaza pe date?
 Procesare analitica/Semantica (Ex. RDF/OWL)
Apache Hadoop
 2008 – mai intaiYahoo, Ebay sau Facebook
 platforma open source
 procesare distribuita pe clustere de servere
 standard “de facto”
 Java based framework
 modele de procesare paralela
 cod in orice limbaj contemporan (API)
 SCALABILITATE, ROBUST
 Hadoop Distributed File System (HDFS): stocare in
cluster
 MapReduce: motor ce procesare paralela - management
distribuit al resurselor
Agenda
1. Modelarea datelor in BI
2. Advanced analytics (in-memory, big data)
3. Baze de date orientate pe coloane in contextul
Big data
Dificultati in analiza datelor
 Big data – volumul, varietatea, diversitatea – genereaza
dificultati in culegerea, curatarea si procesarea datelor
utilizand BD clasice
 Michael Stonebraker, profesor MIT – modelul relational
clasic este invechit, prea lent
In 2010…
 Un studiu al IDC prognoza ca in urmatorii 5 ani:
 Majoritatea depozitelor de date vor fi stocate pe coloane;
 Cele mai multe BD pentru OLTP (On-Line Transaction
Processing) vor fi completate sau inlocuite de o baza de date
in memory;
 Cele mai multe servere de baze de date mari vor realiza
scalabilitate orizontala prin clusterizare;
 Multe dintre problemele cu colectarea datelor si raportare vor
fi rezolvate cu baze de date care nu vor avea nici o schema
formala
Bazele de date orientate pe coloane
 In 1969 – TAXIR - destinat domeniului biologiei.
 In 1976, sistemul RAPID pentru procesarea datelor
provenite din recensamântul populatiei si al locuintelor
din Canada.
 Sybase IQ , aparut la începutul anilor ’90
 Solutie foarte performanta de BI
 Multa vreme singurul SGBD orientat pe coloane
disponibil comercial.
Depozite pe linii si depozite pe coloane

Figura preluata din [2]

 In depozitele orientate pe linii, datele sunt stocate pe disc


inregistrare dupa inregistrare
 In depozitele orientate pe coloane datele sunt stocate pe disc
coloana dupa coloana

47
De ce depozite orientate pe coloane?
 Punand informatiile similare impreuna, minimizeaza
timpul pentru citirea discului
 Pot fi mult mai rapide pentru anumite tipuri de
aplicatii
 Incarca doar coloanele necesare intr-o interogare
 Efectele cache sunt mai bune
 Compresie mai buna (valori similare ale atributelor intr-o
coloana)
 Pot functiona mai lent pentru alte aplicatii:
 OLTP cu multe linii de inserat

48
Depozite pe linii, depozite pe coloane
Depozit pe linii Depozit pe coloane

(+) Se adauga/modifica usor inregistrari (+) Trebuie sa citeasca doar datele


relevante

(-) Pot citi date care nu sunt necesare (-) Scrierile de tupluri necesita accesari
multiple

 depozitele orientate pe coloane sunt potrivite pentru depozite


mari de date in care se realizeaza intensiv operatii de citire,
sau in care aceste operatii sunt preponderente: DW, OLAP/DSS

49
Optimizarea executiei orientate pe
coloane

 Optimizarile sunt diferite in cazul bazelor de date orientate pe


coloane
 Compresie - entropia scazuta -> rate de compresie ridicate
 Materializare intarziata
 Iterarea blocurilor
 Join invizibil

50
Tehnici de procesare paralela
 Massive Parallel Processing -MPP (grid computing sau
computer cluster)– fiecare dintre procesoare e conectat la
propria structura persistenta de stocare, datele fiind
distribuite; pot fi adaugate un numar nelimitat de procesoare
 Symmetric Multi-Processing – SMP- mai multe
procesoare identice se conecteaza la o singura memorie
partajata, partajeaza sistemele de I/O si sunt controlate de o
singura instanta de SO care le trateaza in mod egal
Exemple pe piata?

Big Table
Vertica
SAP HANA
VERTICA
 un SGBD relational, distribuit, paralel
 unul dintre putinele SGBD-uri care este utilizat
pe scara larga în sisteme critice de business
 peste 500 de implementari de productie ale
Vertica, cel putin 3 dintre ele avand peste 1
petabyte dimensiune
 Vertica a fost conceput în mod explicit pentru
sarcini analitice
Avantaje Vertica
 este conceput pentru a reduce operatiile de I/E pe disc
- abordarea orientata pe coloane
 este scris nativ pentru suport grid computing
 interogarile sunt de 50-200 de ori mai rapide decât la bazele
de date orientate pe linii.
 arhitectura MPP ofera o scalabilitate mai buna - poate fi
realizata prin adaugarea de noi servere în arhitectura grid.
 utilizeaza mai multi algoritmi de compresie, în functie de
tipul de date, cardinalitate si ordinea de sortare a fiecarei
coloane (selectat automat prin esantionare)
 raport de compresie 8-13 ori fata de date originale
Modelul de date Vertica
 Dpdv logic – datele sunt privite ca tabele de coloane
 Dpdv fizic - datele sunt organizate in proiectii, subseturi
de date sortate ale unei tabele; pot exista oricate proiectii cu
diverse combinatii de coloane si ordini de sortare
 Cel putin o superproiectie care sa contina toate coloanele
tabelei de referinta
 un sistem de stocare distribuita complet implementat,
care atribuie tuplurile pe diferite noduri de calcul.
 Suporta INSERT, UPDATE, DELETE pentru actualizarea
datelor si toate comenzile SQL de interogare a datelor
Tablete
 Tabelele de mari dimensiuni sunt sparte dupa linii in TABLETE
 Tabletele pastreaza intervale contigue de linii
 Clientii pot alege cheile liniilor pentru a obtine localizarea
 Scopul este de a segmenta in tablete de 100-200 MB
 Fiecare masina server gestioneaza de obicei in jur de 100
tablete
 Recuperare rapida: Fiecare din 100 masini preiau o tableta
pentru masina care cade
 Echilibrarea fina a incarcarii
 Migrarea tabelelor de pe masini supraincarcate
 Masinile Master iau deciziile referitoare la echilibrarea incarcarii
SAP HANA
 Platforma pentru analize in timp real si aplicatii in timp real
 Baza de date pe coloane, in-memory
 Motor de calcul in-memory
 Componente software optimizate pentru hardware-ul de la Dell,
Cisco, IBM, HP, Fujitsu si Intel , foloseste din plin memoriile
flash
 Conceput în jurul unei arhitecturi multi-core (cel puţin 1.000 de
nuclee)
 Implementeaza paralelizarea dinamica si partitionare
dinamica, atât pentru OLAP cat si pentru volumul de lucru
OLTP, prin algoritmi genetici
Avantaje
 Motorul SAP foloseste un depozit pe coloane in
memorie pentru a obţine performanţa în operaţiunile de
scanare, grupare si de agregare. =>scaneaza 2 milioane de
înregistrari pe milisecunda pe nucleu si peste 10
milioane de agregari complexe calculate pe secunda pe
nucleu.
 Din 2013 – SAP HANA in cloud

S-ar putea să vă placă și