Introducere in Business Intelligence (2)

Download Report

Transcript Introducere in Business Intelligence (2)

Introducere in
Business Intelligence (3)
Conf. Bologa Ana-Ramona
ASE, Bucuresti
Agenda
Modelarea datelor in BI
2. Advanced analytics (in memory, big data)
3. Baze de date orientate pe coloane in contextul Big data
1.
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.
2.
Proiectare logica
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.
2.
3.
4.
5.
Colectarea cerintelor de business – interactiune cu
analistul de business si utilizatorii finali pt cerintele de raportare
Modelarea conceptuala a datelor – identificarea entitatilor
principale si a relatiilor dintre ele
Modelarea logica a datelor – reprezinta toate cerintele de
business , extinzand modelul conceptul cu atribute, chei, relatii,
text descriptiv
Modelarea fizica a datelor – model complet ce include
tabele, coloane, relatii, proprietati fizice
Crearea bazei de date – entitati->tabele, atribute ->
coloane, tipuri de date, restrictii , indecsi
Pasi pentru crearea modelului logic
1.
Identificarea cerintelor de business
2.
3.
Analiza cerintelor de business
Crearea modelului conceptual al datelor. Aprobarea lui de catre reprezentantii de
business
Crearea noului model logic de date care include urmatoarele:
4.














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
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)
1.
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.
2.
3.
4.
5.
initierea proiectului,
etapa de planificare,
etapa de executie,
etapa de implementare
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
Modelarea datelor in BI
2. Advanced analytics (in-memory, big data)
3. Baze de date orientate pe coloane in contextul Big data
1.
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
Optimise
What is the best that can happen?
Predict
What will happen next?
What if these trends continue?
Why is this happening?
Alerts
Raw
data
Clean
data
Standar
d
Ad hoc
reports
Query
drill
down
Forecast
Statistica
l
Analysis
What actions are needed?
Where exactly is the problem?
How many, how often, where?
reports
What happened?
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
Notes,
Voice
Services
Quality
Competitors’
Facebook
Pages
Email
Blogs
Friendliness
Public Web Sites,
Discussion Boards,
Product Reviews
Adhoc Feedback
30
Cost
Alerts,
Real-time Action
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
In-memory OLAP
Caracteristici
- Cub MOLAP incarcat in memorie
- Lb MDX
- modelare multidimensionala a datelor
Exemple
IBM Cognos-Applix(TM1)
Actuate BIRT
In-memory ROLAP
- metadate ROLAP incarcate in memorie
- modelarea multidimensionala a datelor
- stocheaza datele intr-o BD orientata pe coloane
- modelarea datelor
- VizQL – lb declarativ
MicroStrategy
- spreadsheet incarcat in memorie
- Lb DAX (data analysis expressions)
Microsoft PowerPivot
O BD orientata pe
coloane
In memory spreadsheet
Tableau Software
In memory “associative” - stocheaza datele intr-un model “asociativ” incarcat in
data model
memorie
- toate jonctiunile si calculele se fac in timp real
- scripturi pt incarcarea si transformarea datelor
QlikView
Abordare hibrida cu
tehnici de compresie
BDR + BD orientata pe coloane
Oracle Exalytics In-memory (include
Essbase, in –memory TimesTen
datebase)
SAP HANA
disk +in-memory
-MOLAP - MDX- stocheaza agregatele si datele
atomice pe disc
-Tabular -lb DAX – stocheaza datele atomice in
memorie
SQL Server 2012
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 big data sources
Federated Discovery and Navigation
Manage & store huge volume of
any data
Hadoop File System
MapReduce
Structure and control data
Data Warehousing
Manage streaming data
Stream Computing
Analyze unstructured data
Text Analytics Engine
Integrate and govern all data
sources
Integration, Data Quality, Security, Lifecycle
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
Modelarea datelor in BI
2. Advanced analytics (in-memory, big data)
3. Baze de date orientate pe coloane in contextul
Big data
1.
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