UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 CorsodiLaureainMatematica DipartimentodiMatematicaeFisica Sistemiperl’elaborazionedelleinformazioni 6.Datawarehouse DispensedelcorsoIN530a.a.2016/2017 prof.MarcoLiverani Sistemioperazionalieinformazionali • Nell’ambitodiunsistemainformativosidistinguetrasottosistemiocomponentidelsistema informativodiduetipologiemacroscopichedistinte: 1. sistemioperazionali 2. sistemiinformazionali • Sistemioperazionali: – sonoisistemidisupportooperativoallosvolgimentodelleattivitàistituzionalidell’aziendao dell’ente • Sistemiinformazionali: – sonosistemidisupportoalledecisionichesupportanol’organizzazionenellepropriescelte strategicheenellostudioenellacomprensionedell’andamentodispecificiindicatorichesono ritenutisignificativiinunospecificoambitodibusiness(es.:levenditeperun’aziendacommerciale, ilnumerodiiscrittiedilaureatiperun’Università,ecc.) • Entrambeletipologiedisistemasonosupportatedaarchiviinformatici(database) progettatiedutilizzatiinmododifferente,alfinedisupportarealmegliogliobiettividel sistema M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 1 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Databaseoperazionali • Undatabaseoperazionale èunarchiviochegarantiscelapersistenzaadun’applicazioneche deveoperaresuidatidell’archivioperrealizzarefunzionidibusiness – Esempio1:l’archiviodeilibridiunabibliotecavieneutilizzatoperconsentirelaricercaefficientedei volumidapartedegliutenti,vienefrequentementeaggiornatotracciandoinuovilibriacquistati dallabiblioteca,ivolumiinprestito,gliutentiregistrati,itestipersiodismessi; – Esempio2:l’archiviodelmagazzinodeiprodottidiunnegoziovieneutilizzatopergarantiregli approvvigionamentidiprodottivenduti,gestirelescadenzedeiprodottialimentarideperibili, aggiornareiprezzideiprodottieautomatizzareilcalcolodelcontoperogniclienteinfasedi pagamentoallecasse,ecc. • • • Inundatabaseoperazionalelequattrooperazionidiinserimento,selezione,aggiornamento ecancellazionesonougualmentefrequentieriguardanopochidatipervolta:idatiin archiviosonotuttiesoliquellinecessariall’operativitàdelprogramma Inundatabaseoperazionaleidatihannounaprofonditàtemporalelimitata:vengono conservatisoloidatieffettivamenteutiliasupportareleoperazionisvoltedalprogramma cheutilizzal’archivio IDBMSsonoprogettatipersvolgereelaborazioniditipoOLTP:OnLineTransaction Processing – ilDBMSsupportastrutturenormalizzateperlamemorizzazioneefficientedelleinformazioni,indici perlaricercaefficientedeidati,transazioniperl’elaborazionedisequenzedioperazioniinmodalità “reversibile” Databaseinformazionali • Undatabaseinformazionale(ininglese:datawarehouse,magazzinodeidati)èunarchivio lacuifunzioned’usoèlacostruzionediunabaseinformativachecresceneltempo, utileper fornireinformazioniutiliallacomprensionediunfenomeno,allostudiodiunandamento – Esempio1:l’archiviodellevendite deiprodottidiunacatenadisupermercati,storicizzatenel tempo,consentedistudiarelastagionalitànellavenditadideterminatiprodotti,prevederei consumi,gliacquistideiclientieprovvederequindialcorrettoapprovvigionamentodelmagazzino – Esempio2:l’archiviodeidatistoricideglistudentiiscrittiaidiversicorsidilaureadiunAteneo, tenendocontoanchedeltitolodistudiopossedutoalmomentodell’iscrizioneall’Università,alfine distudiareletendenzeinambitoformativoedimensionarecorrettamentelafuturaofferta formativa • • • Inundatabaseinformazionalel’operazionepiùfrequenteèlaselezione;leoperazionidi aggiornamentoedicancellazionesonorarissime(vengonoeffettuatesolopermigliorarela qualitàdeidatipresentineldatawarehouse);leoperazionidiinserimentoperilcaricamento deidatiinarchivioavvieneperiodicamenteeriguardagrossequantitàdidati Laprofonditàstoricadeidatipresentineldatawarehouseèfondamentaleperpoter utilizzareidaticomeoggettodianalisiestudiarel’evoluzionestoricadelleinformazioni IDataWarehouse(DWH)sonoprogettatipereseguireoperazioniditipoOLAP:OnLine Analytical Processing – L’archivioèorganizzatosustrutturemultidimensionaliperfavorirel’analisisudimensionidifferenti (es.:laprofessionedeiclientidiunsupermercato,l’età,lastagionalitàdeiprodotti,ecc.) M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 2 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Integrazionedidatiprovenientidafontieterogenee • • Undatawarehousevienecostruitoaggregandoinununicodatabasedatiprovenientida fontidifferenti,chetrattanodatieterogeneieconrappresentazionispessoincompatibili Neldatawarehousetuttiquestidatidevonotrovareinveceunacodificaomogenea:infase dicaricamentoidativengonoricodificatipersposarelacodificaelasemanticadeldata warehouse Esempio: – inundatabasediunsupermercatolatabelladeiclientichehannosottoscrittouna“tesserafedeltà” puòcontenereilcodicefiscaledelcliente – neldatawarehousel’analisipuòesserecondottasullabasedell’etàdeiclienti,delgenereedel luogodinascita:datichepossonoesseredesuntidalCFinfasedicaricamento • Neldatawarehouseidatisonorappresentatiinmododasupportarespecificitemidianalisi focalizzatidivoltainvoltasusoggetti diversi Esempio: – attitudinidiacquistodeiclientià ilsoggettoèilcliente – efficienzadeidiversipuntivenditaà ilsoggettoèilpuntovendita(ilnegozio) – stagionalitàdelprodottoà ilsoggettoèilprodotto lediverselineedianalisisonocostruiteintornoall’archiviodeglieventi“venditadiunprodotto” Processodiaggregazioneedianalisi • • Lacostruzionediundatawarehouseècentratasulprocessodiaggregazioneedi integrazionediinformazioniprovenientidatantebasidatidifferenti Loscopodeldatawarehouseèquellodisupportareattivitàdianalisiresepossibiliproprio dall’aggregazioneinununicoarchiviodidatiprovenientidafontidifferenti,cheoffranouna vistaunificatasututtigliaspettirilevantidell’attivitàdibusiness – Esempio:nonl’archiviodeiclienti,deiprodottipresentiinmagazzinoedegliincassiregistratinei singolipuntivendita,maildatawarehousedellevenditeicuielementisono“record”che aggreganoinformazionirelativealprodottovenduto,alclientechelohaacquistato,alprezzocheè statopagatoperapprovvigionarsidelprodotto,alricavocheèstatoottenutodallavendita,al negoziochehaeffettuatolavenditaeladataincuilavenditaèstataeffettuata Vendite di limonata >65 11% 40 35 Etàdeiclienti <25 16% 30 25 20 15 2015 10 5 2013 0 gen-feb mar-apr mag-giu lug-ago sett-ott nov-dic 32% 26-35 12% 51-65 35-50 29% SupermercatiACME M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 3 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Strutturalogicadiundatawarehouse • Nellaprogettazionediundatawarehouseèessenzialeidentificareiseguentielementinel contestoinformativochesivuolerappresentareedanalizzare: – fatto – misure – dimensioni • Ifatti sonol’insiemedeidatidaanalizzare;tipicamentesonoeventichesicollocanonel tempoesonocaratterizzatidadiverseinformazioniassociatealsingolofatto – Esempio:levenditedellaACME;ognieventodivenditaèunfattocaratterizzatodanumerose informazioni,qualiilprodottovenduto,laquantitàvenduta,ilvaloredellamerce,ilcliente,la collocazionegeograficadelnegozio,ladatael’oradellavendita,lacategoriamerceologicadel prodotto,ecc. • Lemisure sonodatiquantitativinumericicherappresentanogliaspettidamisurarein relazioneall’analisideifatti – Esempio:laquantitàdiundeterminatoprodottoperciascunavendita,ilricavoperciascuna vendita,ecc. • ledimensioni sonoinformazionichecaratterizzanoilfatto,avaloridiscreti,rappresentanole lineedianalisideifatti(omeglio:dellemisureassociateaifatti) – Esempio:iprodottidiunsupermercato,iltempo,iclienti,ecc. Strutturalogicadiundatawarehouse • • Ledimensionidianalisideifattidiundatawarehousepossonoesserenumerose Èpossibilestabilireunadipendenzagerarchicatraalcunedelledimensionidianalisi,in mododaaggregareoespandereleinformazionirelativeall’analisidiunadeterminata dimensione Esempio:neldatawarehousedellevenditedellaACMEalcunedimensionidianalisipossonoessere aggregateformandodellegerarchie: – Gerarchiadelladimensionedelprodottovenduto:prodottoà marcaà categoriamerceologica – Gerarchiadeltempoincuisonoavvenutelevendite:giornoà meseà anno – Gerarchiadeiclienti:nomeà etàà genereà professione, oanche:nomeà titolodistudioà etàà genere • • Definendounagerarchianelladimensionesicreaunastrutturaadalberoneivaloridiscreti delledimensioni Spaghetti Esempio: Barilla Pasta DeCecco Biscotti Categoria merceologica Fusilli Rigatoni Spaghetti Gentilini Linguine Pavesi Marca M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni Prodotto 4 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Dimensional Fact Model • • IlDimensional Fact Model(Golfarelli eRizzi,UniversitàdiBologna,1998)èunformalismo graficoperlamodellazionelogicadiundatawarehouse NelDFMsifocalizzal’attenzionepropriosuirapportitrafatti,misureedimensioni,mettendo inevidenzaeventualigerarchienelledimensioni – Fatto:rappresentatoconunrettangoloidentificatodalnomedelfattostesso; – Misure:riportateall’internodelrettangolocheidentificailfattoacuisiriferiscono; – Dimensioni:sonocollegatealfatto,comeiverticidiungrafo,oadaltredimensioniconlequali esistaunadipendenzagerarchica Fatto Negozio Città Provincia Regione Misure Vendita Giorno Mese Anno DOVE • Quantità QUANDO • Prezzo COSA Cat.Merc. Distributore Prodotto Prodotto Marca Marca Dimensioni OperazionidianalisisuunDWH • • • Suundatawarehouseorganizzatosullabasedifatti,misureedimensionil’operazionetipica èquelladiestrazionedeidati(misure)riportatineifatti,aggregandolisullabasediunaopiù dimensioni L’obiettivoèilcalcolodiunafunzionedigrupposuisotto-insiemiottenutieseguendoun partizionamentodeidatipresentineldatawarehouseinbaseall’aggregazioneperunaopiù dimensioni(es.:partizionamentosubasegeografica(regioni,province,comuni)e/osubase temporale(aggregazioneperanno,mese,giorno) Ilcalcolochepuòesserefattosullemisure(cheperquestosonoditiponumerico)sonole tipichefunzionidigruppogiàesaminatenellinguaggioSQL: – conteggiodeirecord(fatti),perricavarelacardinalitàdeisottoinsiemidellapartizione – sommaomediaaritmeticasuivaloridiunaspecificamisuraneidiversisottoinsiemidellapartizione – minimoomassimovaloresuivaloridiunamisuraneisottoinsiemidellapartizione • Esempio:levenditedeisupermercatiACMEaggregateperregioneeprovincia(somma totaleesommeparziali)eperanno • LefunzionidicalcolononsiriduconosoloallefunzionidigruppooffertedaSQL,mapossono essereanchefunzionistatistichepiùsofisticateimplementatedalsoftwareutilizzatoper effettuarel’analisideidatipresentineldatawarehouse(businessintelligence) M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 5 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 OperazionidianalisisuunDWH • PrendendoadesempioilDimensional Fact ModeldellevenditedeisupermercatiACME, possiamocalcolarefacilmenteun’aggregazioneperregionieprovinceeladistribuzionenel tempodellevendite Negozio Città Provincia Regione LUOGO • • Giorno Mese Vendita Quantità Prezzo Anno TEMPO OGGETTO Cat.Merc. Distributore Prodotto Prodotto Marca Marca Regione Lazio Campania Provincia 2012 2013 2014 2015 Roma 6.400 6.850 7.630 9.125 Viterbo 1.850 1.930 2.360 2.270 Latina 2.450 2.820 3.515 3.920 Napoli 5.850 6.230 6.540 6.520 Salerno 3.810 4.200 4.075 4.350 Modellomultidimensionaleeipercubi • • • • IlDimensional Fact Modelconcuivienedefinitalastrutturalogicadiundatawarehouse,ci suggeriscelapossibilitàdirappresentareildatawarehousecomeunospazio multidimensionale,incuiifattisianodeipuntiposizionatinellospaziosullabasedi coordinatedefinitedalvaloredelfattoperciascunadelledimensionidelmodello Ricordiamocheledimensionisonoinsiemidiscretidicardinalitàfinita(es.:gliannidella profonditàstoricadeldatawarehouse,iprodottivendutidaiSupermercatiACME,iclienti,i fornitori,ecc.) Ildatawarehousepuòquindiessererappresentatocomeuncubo (quandoledimensioni indipendentidianalisisonotre)ounipercubo (quandoledimensioniindipendentisonoin numeromaggioreditre)icuielementisonoifattideldatawarehouse Suciascunadelledimensionidell’ipercubo sonodistribuiti(conunordinearbitrario)ivalori discretidelladimensionestessa M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 6 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Modellomultidimensionaleeipercubi Consideriamounmodelloatredimensioni:undatabasedellevenditeicuifattisonole operazionidivenditaelecuidimensionisianoiltempo,ilprodottovenduto,ilcliente Mese-Anno Vendita Cliente Prodotto • • • Clienti • Cliente:MariaRossi Prod.:BiscottiGentilini Tempo:2015-04-18 Quantità:1 Prezzo:€1,50 Ildatawarehousepuòessererappresentato comeunipercubo n-dimensionale(uncubo atredimensioninell’esempioinfigura) Ognipuntodelcuboèun“fatto”ouna aggregazionedifattiidentificatidaglistessi valoridelledimensioni;ilfattoèidentificato daunvaloredeldominiosuciascuna dimensione Nell’esempioognipuntodel cubo po rappresental’acquistodiunprodotto Tem effettuatodaunclienteinuncerto giorno Pro do tti ModelloMOLAPperlarappresentazionedelDWH • • • • Alcunisistemirappresentanoildatawarehouseproprioconuncubomultidimensionale, utilizzandoappositestrutturedati:talisistemisichiamanoMOLAP (multidimensional on-line analytical processing) Larappresentazionediunipercubo OLAPèassaionerosainterminidirisorsedimemoria Lastrutturadiipercubo spessoèpienadi“buchi”,seifattisonodispostinelcuboinmodo pocodenso:questorendepocoefficientelarappresentazionedirettamedianteuncubo D’altrapartelarappresentazioneconunipercubo OLAPrendeimmediateemoltoefficienti interminiditempoleoperazionidianalisi: – slice:siestraeuna“fetta”dell’ipercubo,analizzandol’archiviofissandoilvalorediunaopiù dimensioni – dice:siestraeunsotto-cubo,analizzandol’archiviofissandounsottoinsiemedivaloriperogni dimensione – roll-up:siaggreganoidatidellemisure (somma,media,conteggio,altrefunzionistatistiche)sulla basediunvalorediunaopiùdimensioni – drill-down:sispacchettanodatiaggregatisullabasediunaopiùdimensioni(olimitatamentead alcunilivellidellagerarchiadelledimensioni)perotteneremaggiordettaglio M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 7 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 ModelloROLAPperlarappresentazionedelDWH • LostessodatawarehousepuòessererappresentatoutilizzandounDBMSrelazionale (RDBMS)costruendounoschemaastella(starschema),sullafalsarigadeldimensional fact model: – Alcentrodellostarschemac’èlatabelladeifatti – Latabelladeifattiècollegataconletabelledelledimensioniattraversoopportunechiaviesterne (foreign key) • • Inquestomodosiutilizzaunostrumentorobustoebenconsolidato,potendocontareanche sullinguaggioSQLperl’esecuzionedelleoperazionidiaggregazione(slice eroll-up)edi scomposizione(dice edrill-down)deidatideldatawarehouse LarappresentazioneROLAP (relational on-lineanalytical processing)èpiùefficientein terminidirisorsedimemoria,mapuòrisultaremenoefficientenell’esecuzionedelle operazionidianalisi,amenodinonutilizzareaccuratamentedegliindicipervelocizzarele operazionidiselezioneeaggregazione Architetturadiunsistemadatawarehouse • L’architetturadelsistemadidatawarehouseèdefinitasullabasedellecomponenti funzionalichesivuoleintegrarepercostituireilsistemainformazionaledell’azienda: – sorgentiinformative – archiviocentralizzato(ildatawarehouse) – strumentidianalisideidatifacilmenteaccessibilidagliutenti • Possiamoquindischematizzarecomeinfigural’architetturadiunsistemaDWH: Disk Data Base Estrazione, trasformazione e caricamento dei dati Data Warehouse Strumenti di analisi (Business Intelligence) Data Mart Proces Proces s Proces sData s File Data Base Data Source Estrazione, trasformazione e caricamento dei dati Estrazione, trasformazione e caricamento dei dati ETL / ELT M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni Data Mart DWH Strumenti di analisi (Business Intelligence) BI 8 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Architetturadiunsistemadatawarehouse • • Isistemisorgenteperl’alimentazionedeldatawarehousesonospessoidatabasedei sistemioperazionalidell’azienda(anagraficadeifornitori,anagraficadeiclienti,database degliacquistiedellevendite,ecc.) Isistemisorgentesonoperloronaturaeterogenei: – possonoesserecostituitidasistemiditipodiverso(diversitipidiDBMS,fileinformatiproprietario XML,ecc.) – differenterappresentazionedelleinformazioni(diversacodifica,diversitipididatoperattributi analoghisusorgentidiverse,ecc.) – sonoospitatidasistemioperativiedaserverdifferenti,collegatiinreteconilsistemaData Warehouseaziendale • • LeprocedureETL (extract transform andload)consentonodieseguireperiodicamentedelle querydiestrazionedeidatidaisistemisorgenteelitrasformanocodificandoliinuna modalitàomogenea(comeformatoecomecontenuto)perpoicaricarlisuldatawarehouse Bisognadefinire: – lamodalitàoperativadellaproceduraETL(agent-based,agentless,ecc.) – laperiodicitàconcuiavvienel’estrazionedaciascunasorgente(tuttiigiorni,tuttiimesi,ecc.) – lalogicadiselezionedeidatidaestrarredallasorgente(ènecessarioimplementareunalogicaper noncaricareognivoltatuttiidati,masoloquellinuoviomodificatisullasorgente) – lacodificaelamodalitàdirappresentazionedidatieterogeneiinunmodellounico(ipercubo OLAP ostarschema) Architetturadiunsistemadatawarehouse • • IldatawarehouseveroeproprioècostituitodaunostrumentoRDBMSeventualmente dotatodiopportunimodulidigestionediipercubi OLAP IlDWHècostituitodaunoopiùdatamart,ossiaporzioniautonomedeldatawarehouse, inerentiunadeterminatatematicadianalisi – Lasuddivisionedeldatawarehouseinpiùdatamart èeseguitasullabasediconsiderazionidi efficienzanelleoperazionidianalisiediriservatezzadelleinformazionichevengonoresedisponibili agliutenti • IlDWHhabisognodiun’attivitàdimanutenzionecontinuafinalizzataa: – verificarelacorrettaesecuzionedelleoperazionidicaricamentodeidati – verificadeidaticaricatisuldatawarehouse,percorreggereeventualiincongruenzedovutealla errataattuazionedelleregoleditrasformazionedeidatiinfasedicaricamento(dataquality) – tuning permigliorarel’efficienzadelsistema,creandooricreandoindicisulletabelle,gestendo l’enormemoledidatideldatawarehouse,attraversolapartizionefisicadeidatafilesucuisi appoggiailDBMS – progettazioneerealizzazionedinuoveproceduredianalisiepresentazionedeidati(report, cruscotti,dashboard) M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 9 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 Architetturadiunsistemadatawarehouse • • Lacomponentedipresentazionedeidatianaliticiedisintesi,èspessounacomponente softwarecheimplementacomplessefunzionalitàdianalisiedirappresentazionegrafica dellemisurepresentisuldatawarehouse SiparlainquesticasidisistemadiBusinessIntelligence(BI),unostrumentosoftwaresucui èpossibiledefinire: – reportcorrispondentiaspecifichevistesuldatawarehouse – cruscottiedashboard disintesi,ancheinformagrafica(istogrammi,grafi,...) – strumentipereseguiredinamicamenteleoperazionidinavigazionedeidatipresentinelmodello multidimensionaledeldatawarehouse(drill-down,roll-up,slice,dice,pivoting,ecc.) • • IsoftwarediBIsonoprogrammichesiaggancianoadunmodellomultidimensionaledel datawarehouseedoffronofunzionidirielaborazioneepresentazionedeidatistessi; frequentementeisoftwarediBIsonoapplicazioniwebbased Conimodulidi“modeling/design”diunprodottoBI,l’utentepuòcostruireiproprireporte cruscotti,senzadovernecessariamenteconoscerelastrutturafisicadeldatabase sottostante,néillinguaggioSQL Bibliografiaessenziale ① Golfarelli,Rizzi,DataWarehouse– teoriaepraticadellaProgettazione,McGraw-Hill,2006 ② Kimball,Ross,TheDataWarehouseToolkit:TheDefinitiveGuidetoDimensional Modeling, terzaedizione,Wiley,2013 ③ Golfarelli,Maio,Rizzi,TheDimensional Fact Model:aConceptual ModelforData Warehouses,InternationalJournalofCooperativeInformationSystems,vol.7,n.2&3,1998 ④ Golfarelli,Rizzi,ProgettazioneconcettualediDataWarehousedaschemilogicirelazionali, Proceedings SestoConvegnoNazionalesuSistemiEvolutiPerBasiDiDati,Ancona,1998 M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 10 UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017 OracleBusinessIntelligence UnatipicaschermatadelprodottoOracleBusinessIntelligenceEnterpriseEdition,checonsentedicostruirecruscottidianalisi dati,accessibiliconunwebbrowser,pereseguireattivitàdianalisisuundatawarehouse M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 11