cursul 3 master 2015.pptx

Click here to load reader

Upload: madalina-popa

Post on 10-Apr-2016

247 views

Category:

Documents


0 download

TRANSCRIPT

Introducere in Business Intelligence (2)

Conf. Bologa Ana-RamonaASE, Bucuresti

Introducere in Business Intelligence (3)AgendaModelarea datelor in BIAdvanced analytics (in memory, big data)Baze de date orientate pe coloane in contextul Big data

Modelarea datelorreprezinta vizual natura datelor, regulile de business respectate de date si cum vor fi utilizate in baza de dateare doua parti esentiale:Proiectare logicaProiectare fizicamodelul 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 datelorColectarea cerintelor de business interactiune cu analistul de business si utilizatorii finali pt cerintele de raportareModelarea conceptuala a datelor identificarea entitatilor principale si a relatiilor dintre eleModelarea logica a datelor reprezinta toate cerintele de business , extinzand modelul conceptul cu atribute, chei, relatii, text descriptivModelarea fizica a datelor model complet ce include tabele, coloane, relatii, proprietati fiziceCrearea bazei de date entitati->tabele, atribute -> coloane, tipuri de date, restrictii , indecsiPasi pentru crearea modelului logicIdentificarea cerintelor de businessAnaliza cerintelor de businessCrearea modelului conceptual al datelor. Aprobarea lui de catre reprezentantii de businessCrearea 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/fiziceCrearea domeniilorCrearea regulilorCrearea valorilor implicite Crearea entitatilor si adaugarea de definitiiAsignarea tipurilor de date/domeniilor pt atributeAdaugarea de restrictii CHECK/reguli sau valori impliciteCrearea de chei primare sau uniceCrearea indecsilorDaca e necesara, crearea subtipurilor si supertipurilor (mostenire)Identificarea relatiilor intre entitati si crearea cheilor externeValidarea modelului de dateAprobarea modelului logic

Pasi pentru crearea modelului fizicCrearea modelului fizic pe baza modelului logicAdaugarea de proprietati specifice bazei de dateGenerarea scripturilor SQL din modelul fizic; trimiterea lor catre DBACompararea bazei de date cu modelul datelorCrearea unui document de log pentru urmarirea modificarilor modeluluiIn 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)

NotatiiNotatii pentru modelarea datelor: Information Engineering (IE), Barker, IDEF1X, Unified Modeling Language (UML)

Implementare Data Warehouse Strategii de implementareStrategie 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 Warehouse9Depozit de modele de dateModelele datelor si metadatele referitoare la acestea sunt stocate intr-un Data Model Repository acces concurent, pe baza de privilegiiBusiness metadata text aditional , definitie a unui termen (tabela, coloana) asigura intelegerea comuna a semnificatieiutil 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 rapoarteMetadate COLOANA coloana sursa, regulile de business pentru transformarea coloanei sursa, utilizarea coloanei in rapoarte

Exemplu de Business Metadata

BeneficiiReducerea duratei dezvoltarii sistemului BI prin intelegerea sistemelor sursaAcuratete ridicata a rezultatelor BITransparenta crescuta care le permite utilizatorilor si dezvoltatorilor sa isi dea seama ce informatii sunt disponibileQPM- Qlikview Project MethodologyMetodologie proprie QLIK, 2011Descrie activitatile legate de managementul unui proiect Qlikview ti etapele de realizarea a unei aplicatii BI, inclusiv documente si livrabileEtape:initierea proiectului, etapa de planificare, etapa de executie, etapa de implementareetapa 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 dateleStabilirea transformarilor necesare asupra datelor;Identificarea cerintelor legate de integrarea datelorRealizarea unei mapari sursa-destinatie;Specificarea cerintelor infrastructuriiSpecificarea 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. PlanificareaPlanificarea managementului proiectului cu urmatoarele activitati: Actualizarea cerintelor de business si ierarhizarea lorEstimarea 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, tinnd cont de ultimele modificari din planul proiectului;Analiza risculuiCrearea 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 aplicatiilorIdentificarea 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)Testarease 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 clientRafinarea solutiei Q4. ImplementareaTraining-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 BIevaluarea managementului proiectului, evaluarea managementului riscurilor, evaluarea echipei de proiect, a rolurilor si a responsabilitatilor asociate. AgendaModelarea datelor in BIAdvanced analytics (in-memory, big data)Baze de date orientate pe coloane in contextul Big data

Tendintele majore in BIAdvanced Analytics

Mobile

Cloud

Social Media

Advanced AnalyticsO 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 istoriceAdvanced 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)What happened?Standard reportsHow many, how often, where?Ad hoc reportsWhere exactly is the problem?Query drill downWhy is this happening?Statistical AnalysisWhat if these trends continue?ForecastWhat will happen next?PredictWhat is the best that can happen?What actions are needed?AlertsRaw dataClean dataOptimiseAdvantageDegree of Intelligence25Advanced Analytics / Predictive AnalyticsData MiningRegresii de dateSimularea Monte CarloPrevizionarea comportamentului clientilorSegmentarea/clusterizarea clientilorAnaliza cosului de cumparaturiMetode de analiza a textului - Text AnalyticsPreviziunea stocurilorDetectarea fraudelor Anti-Fraud AnalyticsBig data AnalyticsAplicatii Data MiningPredictive:Clasificare Regresia Detectarea deviatiilor Filtrare colaborativa Descriptive: Clustering Descoperirea de reguli asociative Descoperirea de modele secventiale

2728

Amazon.com si NetFlixFiltrarea colaborativa incearca sa prevada ce alte produse ar vrea clientul sa cumpere pe baza a ce a cumparat deja si a comportamentului altor cumparatori29Ce este Text Analytics? transformarea comentariilor nestructurate ale unui client informatii utile, pentru a imbunatati actiunile companieiWikipedia: 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 AnalyticsSentiment AnalysisBrand IdentityProduct & Brand AffinityReputation Driven Online-Economy

30

Customer Sat Survey CommentsProcesarea textului nestructurat Facebook PageBlogsCompetitors Facebook PagesPublic Web Sites, Discussion Boards, Product ReviewsAlerts, Real-time ActionTwitterPageServicesQualityCostFriendliness

EmailAdhoc FeedbackCall Center Notes, Voice

Factori : Modelele de procesareData MiningBaze de date distribuiteBaze de date in clusterBaze de date pe coloaneIn-memory Database AnalyticsIn-database AnalyticsReal-time Data warehousesProcesare la sursa32In-memory BIIncarca setul de date in RAM raspuns mult mai rapidSO pe 32 biti puteau adresa doar 4 GB de memorie RAMSO pe 64 de biti pot adresa pana la 1 terabyte (TB) RAMUtilizeaza tehnici de compresie complexe si stocarea pe coloane Unele solutii reduc/ elimina agregatele, cuburileReduce costurile IT si timpul de implementare al aplicatiilor BI

SolutiaCaracteristiciExempleIn-memory OLAP- Cub MOLAP incarcat in memorie - Lb MDX - modelare multidimensionala a datelorIBM Cognos-Applix(TM1)Actuate BIRTIn-memory ROLAP- metadate ROLAP incarcate in memorie- modelarea multidimensionala a datelorMicroStrategyO BD orientata pe coloane- stocheaza datele intr-o BD orientata pe coloane- modelarea datelor- VizQL lb declarativTableau SoftwareIn memory spreadsheet- spreadsheet incarcat in memorie- Lb DAX (data analysis expressions)

Microsoft PowerPivotIn memory associative data model - stocheaza datele intr-un model asociativ incarcat in memorie- toate jonctiunile si calculele se fac in timp real- scripturi pt incarcarea si transformarea datelorQlikViewAbordare hibrida cu tehnici de compresie BDR + BD orientata pe coloaneOracle 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 memorieSQL Server 2012Qlikviewutilizeaza 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 QlikViewutilizeaza 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.

Qlikviewscript 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 flyselectiile 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

37Big Data AnalyticsCat de multe date?Google proceaza 20 PB pe ziFacebook are 2.5 PB de date utilizator + 15 TB/zi eBay are 6.5 PB de date utilizator + 50 TB/ziCe tipuri de date?Date relationale Text (Web)Date semistructurate (XML) Date sub forma de grafSocial Network, Semantic Web (RDF), Streaming Data Datele se pot scana o singura data

Big data : Volum, Viteza and VarietateVolum: companiile se confrunta cu tera sau chiar petabytes de informatii. 350 bilioane de citiri de contor pentru a previziona consumul de energieViteza: Existe procese care sunt sensibile la timp, ex detectarea fraudelorParcurgerea a 5 milioane de tranzactii de vanzare zilnic pentru a detecta fraudeAnaliza 500 milioane apeluri zilnice de la clienti pentru a prevedea mai rapid nemultumirile clientilor Varietate: text, sensor data, audio, video, click streams, fisiere logFilme provenite de la camerele de supraveghereExploatarea cresterii de 80% a datelor sub forma de imagini, video si documente pentru cresterea satisfactiei clientilor

BIG DATA nu este doar HADOOPManage & store huge volume of any dataHadoop File SystemMapReduceManage streaming data

Stream ComputingAnalyze unstructured dataText Analytics EngineData WarehousingStructure and control dataIntegrate and govern all data sourcesIntegration, Data Quality, Security, Lifecycle Management, MDM

Understand and navigate federated big data sourcesFederated Discovery and Navigation

404040I told you big data is not equal to Hadoop. Hadoop is just its subset. There are much more areas and particular items being part of this area. Do you see the yellow elephant? This is a hadoop logo. Do you know its history?

Many people think big data is about Hadoop technology. It is and it isnt. Its about a lot more than Hadoop. One of the key requirements is to understand and navigate federated sources of big data to discover data in place. New technology has emerged that discovers, indexes, searches, and navigates diverse sources of big data. Of course big data is also about Hadoop. Hadoop is a collection of open source capabilities. Two of the most prominent ones are Hadoop File System for storing a variety of information, and mapreduce a parallel processing engine. Data warehouses also manage big data- the volume of structured data is growing quickly. The ability to run deep analytic queries on huge volumes of structured data is a big data problem. It requires massive parallel processing data warehouses and purpose-built appliances for deep analytics. Big data isnt just at rest its also in motion. Streaming data represents an entirely different big data problem the ability to quickly analyze and act upon data while its still moving. This new technology opens a world of possibilities from processing volumes of data that were just not practical to store, to detecting insight and responding quickly. As much of the worlds big data is unstructured and in textual content, text analytics is a critical component to analyze and derive meaning from text. And finally, integration and governance technology ETL, data quality, security, MDM, and lifecycle management. Integration and governance technology establishes the veracity of big data, and is critical in determining whether information is trusted.

The reason that big data is currently a hot topic is partly due to this technology it is now possible Tipuri de instrumente folosite de obicei in Big DataUnde are loc procesarea?DistribuitaUnde 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 dateCe operatii se realizeaza pe date?Procesare analitica/Semantica (Ex. RDF/OWL)Apache Hadoop2008 mai intai Yahoo, Ebay sau Facebookplatforma open source procesare distribuita pe clustere de serverestandard de factoJava based framework modele de procesare paralelacod in orice limbaj contemporan (API)SCALABILITATE, ROBUSTHadoop Distributed File System (HDFS): stocare in clusterMapReduce: motor ce procesare paralela - management distribuit al resurselor

AgendaModelarea datelor in BIAdvanced analytics (in-memory, big data)Baze de date orientate pe coloane in contextul Big data

Dificultati in analiza datelorBig data volumul, varietatea, diversitatea genereaza dificultati in culegerea, curatarea si procesarea datelor utilizand BD clasiceMichael Stonebraker, profesor MIT modelul relational clasic este invechit, prea lent

http://hstore.cs.brown.edu/slides/anticache-amazon.pdf44In 2010Un 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 formalaInternational Data Corporation - Carl Olofson, The Third Generation of Database Technology: Vendors and Products That Are Shaking Up the Market, 2010, www.idc.com45Bazele de date orientate pe coloaneIn 1969 TAXIR - destinat domeniului biologiei.In 1976, sistemul RAPID pentru procesarea datelor provenite din recensamntul 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 coloane47In depozitele orientate pe linii, datele sunt stocate pe disc inregistrare dupa inregistrareIn depozitele orientate pe coloane datele sunt stocate pe disc coloana dupa coloana

Figura preluata din [2]

De ce depozite orientate pe coloane?48Punand informatiile similare impreuna, minimizeaza timpul pentru citirea disculuiPot fi mult mai rapide pentru anumite tipuri de aplicatiiIncarca doar coloanele necesare intr-o interogareEfectele cache sunt mai buneCompresie mai buna (valori similare ale atributelor intr-o coloana)Pot functiona mai lent pentru alte aplicatii:OLTP cu multe linii de inserat

Depozite pe linii, depozite pe coloane49depozitele 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/DSSDepozit 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

Optimizarea executiei orientate pe coloane50Optimizarile sunt diferite in cazul bazelor de date orientate pe coloane Compresie - entropia scazuta -> rate de compresie ridicateMaterializare intarziataIterarea blocurilorJoin invizibil

Tehnici de procesare paralelaMassive 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

51Big TableVerticaSAP HANA Exemple pe piata? VERTICAun SGBD relational, distribuit, paralelunul dintre putinele SGBD-uri care este utilizat pe scara larga n sisteme critice de businesspeste 500 de implementari de productie ale Vertica, cel putin 3 dintre ele avand peste 1 petabyte dimensiuneVertica a fost conceput n mod explicit pentru sarcini analiticeAvantaje Verticaeste conceput pentru a reduce operatiile de I/E pe disc - abordarea orientata pe coloaneeste scris nativ pentru suport grid computinginterogarile sunt de 50-200 de ori mai rapide dect 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 VerticaDpdv logic datele sunt privite ca tabele de coloaneDpdv 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 sortareCel putin o superproiectie care sa contina toate coloanele tabelei de referintaun 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

56

TableteTabelele de mari dimensiuni sunt sparte dupa linii in TABLETETabletele pastreaza intervale contigue de liniiClientii pot alege cheile liniilor pentru a obtine localizareaScopul este de a segmenta in tablete de 100-200 MBFiecare masina server gestioneaza de obicei in jur de 100 tablete Recuperare rapida: Fiecare din 100 masini preiau o tableta pentru masina care cadeEchilibrarea fina a incarcariiMigrarea tabelelor de pe masini supraincarcateMasinile Master iau deciziile referitoare la echilibrarea incarcariiSAP HANAPlatforma pentru analize in timp real si aplicatii in timp realBaza de date pe coloane, in-memoryMotor de calcul in-memoryComponente 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 puin 1.000 de nuclee) Implementeaza paralelizarea dinamica si partitionare dinamica, att pentru OLAP cat si pentru volumul de lucru OLTP, prin algoritmi geneticiAvantajeMotorul SAP foloseste un depozit pe coloane in memorie pentru a obine performana n operaiunile 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