Business Intelligence brug data til at gøre din virksomhed smart Professor Torben Bach Pedersen Center for Data-intensive Systemer Aalborg Universitet
Hvem er jeg? Mig BrainMatch 27. marts 2012 2
Hvad er Business Intelligence? Sammensætning af teknologier Data Warehousing (DW) On-Line Analytical Processing(OLAP) Data Mining (DM) Data Visualisering (VIS) Decision Analysis (what-if) Customer Relationship Management (CRM) Forretningsløsninger sammensat af basisteknologierne Stor forretning BI platforms marked alene: 14 mia. $ i 2014 (Forrester) Data management & analytics marked: 100 mia. $, 10% vækst (The Economist) BrainMatch 27. marts 2012 3
Dataanalyse problemer De samme data findes i mange forskellige systemer Eksempel: kundedata i 14 (21) systemer! Det samme begreb er defineret forskelligt Data er rettet mod operationelle systemer (OLTP) Bogholderi, fakturering, o.s.v. Understøtter ikke analyser på tværs Data har dårlig kvalitet Manglende data, upræcise data, forskellig brugerpraksis Data er ustabile Data slettes i de operationelle systemer (6 måneder) Data rettes over tid - ingen historik BrainMatch 27. marts 2012 4
Data warehousing Løsning: nyt analysemiljø (DW) hvor data er Emneorienterede (versus funktionsorienterede) Integrerede (logisk som fysisk) Stabile (data slettes ikke, flere versioner ved rettelser) Tidsvariante (data kan altid henføres til tid) Understøtter ledelses-beslutninger (anderledes organisering) Data fra de operationelle systemer Udtrækkes Renses Transformeres Aggregeres BrainMatch 27. marts 2012 5
DW Arkitektur Eksisterende databaser og systemer (OLTP) Appl. DB Nye databaser og systemer (OLAP) DM OLAP Appl. DB DM Data mining Appl. Appl. Appl. DB DB DB Trans. Data Warehouse DW Data Marts DM Visualisering BrainMatch 27. marts 2012 6
Multidimensionelle Kuber Data inddeles i: Facts (Fakta) Dimensioner Facts er det vigtige: et salg Facts har measures (mål) som kan aggregeres: salgspris Dimensioner beskriver facts Et salg har dimensionerne Produkt, Butik og Tid Facts bor i en multidimensionel cube (terning) Tænk på et array fra programmerings sprog Mål for dimensionel modellering: Omgiv facts med så meget kontekst (dimensioner) som muligt Hint: redundans kan være ok (velvalgte steder) Men man skal ikke prøve at modellere all sammenhænge (modsat E/R + OO modellering) BrainMatch 27. marts 2012 7
On-Line Analytical Processing Hurtig, interaktiv analyse af store datamængder Salg, web, Regneark på stereoider Aggregering Per By og År Roll up få overblik Drill down mere detalje Sales 350 Hurtige svar essentielle Sekund svartid selv for enorme datamængder Fås via præberegning (præ-aggregering) Total 300 250 200 150 100 50 0 2000 Year 2001 Copenhagen Aalborg City Aalborg Copenhagen BrainMatch 27. marts 2012 8
On-Line Analytical Processing Hurtig, interaktiv analyse af store datamængder Salg, web, Regneark på stereoider Roll-up 102 Aggregering Per By og År Roll up få overblik Drill down mere detalje 250 All Time Sales 350 Hurtige svar essentielle Sekund svartid selv for enorme datamængder Fås via præberegning (præ-aggregering) Total 300 250 200 150 100 50 0 2000 Year 2001 Copenhagen Aalborg City Aalborg Copenhagen BrainMatch 27. marts 2012 9
On-Line Analytical Processing Hurtig, interaktiv analyse af store datamængder Salg, web, Regneark på stereoider Drillldown Aggregering Per By og År Roll up få overblik Drill down mere detalje Sales 350 Hurtige svar essentielle Sekund svartid selv for enorme datamængder Fås via præberegning (præ-aggregering) Total 300 250 200 150 100 50 0 2000 Year 2001 Copenhagen Aalborg City Aalborg Copenhagen BrainMatch 27. marts 2012 10
Data Mining Data mining er automatisk vidensopdagelse Klassificering Inddel data ind i foruddefinerede klasser Forudsigelse Forudsig/estimer ukendt værdi baseret på lignende tilfælde Sammenligning Finder ligheder/forskelle imellem klasse og konstrastklasse Gruppering Inddel data i grupper så ligheden indenfor de enkelte grupper er størst mulig og ligheden mellem grupperne er mindst mulig Sammenhænge Finder sammenhænge/afhængigheder mellem data Regler: A -> B (c%,s%): hvis A optræder, optræder B med konfidens c og støtte s BrainMatch 27. marts 2012 11
Data Mining Eksempler Walmart: USAs (og verdens) største supermarkedskæde Har DW med alle kassetransaktioner for de sidste mange år 2.5 Petabyte i 2008! Bruger BI (bl.a. mining) intensivt for at opnå forretningsfordele Analyse af sammenhænge indenfor kassebon er Opdagelse: Øl og bleer ofte på samme bon Mænd køber bleer med hjem, og skal lige ha en bajer med Stil de dyre øl ved siden af bleerne Stil øl et stykke væk fra bleerne, med chips og videofilm imellem! Walmarts leverandører bruger DW til at optimere varelevering Leverandøren stiller selv varen op på hylden Leverandøren får først betaling når varen bliver solgt BrainMatch 27. marts 2012 12
Smart Grid BI Forbrugere har et vist fleksibelt forbrug (op)vaskemaskiner, elbiler, varmepumper, Modelleres som flexoffers (FOs) med flex I Tid, Energi, Pris Mål: 8-9% mindre top forbrug kw 2h 8pm earliest starting time Profil e Flexibility interval 6 am latest starting time 8 am BrainMatch 27. marts 2012 13 t
Smart Grid BI: Flex-Offer Lifecycle Thousands of macro FOs Fit w. forecasts+constraints, pricing/negotiation Scheduling Assign to prosumers Partial justbefore re-run may be needed to align with changes Millions of micro FOs BrainMatch 27. marts 2012 14
Position List Word Aligned Hybrid Komprimeret bitmap index: hurtig kombination af kriterier Literal word 0 Fill word 1 Position list(s) Counter Fill type Bruger nye CPU instruktionssæt (POPCnt, etc) Plads: ca. som BBC, halv plads af WAH Speed: 40% hurtigere end WAH, 15 gange BBC Patent pending, Algorhyme startup BrainMatch 27. marts 2012 15
Code GUI ETL Programming pygrametl 19 boxes and 19 arrows Dev. time: 120 mins [Declarations of Dimensions, Sources, etc.] def main(): for row in inputdata: extractdomaininfo(row) extractserverinfo(row) row[ size ] = pygrametl.getint(row[ size ]) row[ pageid ] = pagesf.scdensure(row) row[ dateid ] = datedim.ensure(row) row[ testid ] = testdim.lookup(row) facttbl.insert(row) connection.commit() 58 statements (in total) Dev. time: 60 mins Hurtigere Cloud version BrainMatch 27. marts 2012 16
Right-Time BI: RiTE Mål: On-demand tilgængelighed med bulk-load fart indlæsning Architecture for a system using RiTE INSERT performance (rows/second) Traditional JDBC: 9,646 Trad. JDBC with batches: 17,088 RiTE with materialization: 49,878 Bulk: 56,846 RiTE without mat.: 98,723 BrainMatch 27. marts 2012 17
Tal+Tekst: Contextualized Warehouses Hvordan kombinerer man tal og tekst i analyser? Brug tekst som kontekst for tallene (celler i kuber) Hvilke dokumenter er relevante? Corporate Warehouse Corp. Facts Analysts OLAP Cube Contexts & Facts R-cube Dimensions Document Warehouse Q, XPath MDX exp. Contextualized Facts Fact Extractor Contexts & Facts R-cube: relevance cube BrainMatch 27. marts 2012 18
Sentinels TARGIT Skoleeksempel på samarbejde firma+universitet TARGIT CTO Morten Middelfart Ph.D. projekt En række publikationer, heriblandt ICDE+PVLDB BrainMatch 27. marts 2012 19
Interesseret i mere? Daisy hjemmeside www.daisy.aau.dk BIT netværk Business intelligence teknologi http://www.brainsbusiness.dk/dk/ictnorcom_- _business_forum/fokusnetvaerk/bit_netvaerk/ Daisy Innovation Vækstforum projekt http://www.daisy.aau.dk/collaboration/dain.php Kontakt: Christian Thomsen chr@cs.aau.dk BrainMatch 27. marts 2012 20