Beslutstödssystem DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 1 / 26
Data Warehouse Beslutstödssystem Ett Data Warehouse är en integrerad samling data avsedd att användas som stöd för beslutsfattande Typiska egenskaper för Data Warehouse (OLAP = On-Line Analytical Processing) Uppdateras sällan Växer hela tiden Innehåller data från många olika källor Stor Avsedd för komplicerade frågor Transaktioner som använder en stor del av DB eller t.o.m. flera DB I kontrast till produktionsdatabaser (OLTP = On-Line Transaction Processing) som är små, som uppdateras ofta, som är avsedda för jämförelsevis enkla frågor och transaktioner som använder en liten del av DB DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 2 / 26
OLTP OLAP OLTP OLAP OLAP OLTP OLAP OLTP OLAP Vad har L Andersson i lön? Hur ändrades lönerna i maj jämfört med maj förra året? Visa statistik över hur Andersson spenderat sina pengar förra året Hur stor var försäljningen på sportavd idag? Hur stor var ökningen/minskningen på sportavd i år jämfört med förra året? Förprogrammerade frågor eller ad-hoc-frågor från personer utan teknisk kunskap Förprogrammerade frågor som körs frekvent (med jämna mellanrum) dagligen, veckovis, månadsvis... DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 3 / 26
A :et i OLAP Analys av data Analyser som ska utföras kan vara t.ex. hurdan mix av produktion för nästa period för att troligen kunna maximera försäljning och minimera lagerhållningen Metodanalys: hur tillhandahåller vi tillräcklig mängd data för effektivaste möjliga analys? DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 4 / 26
Integrerad samling data problem: Ofta olika gränssnitt till olika ingående databaser Olika datarepresentation Redundans och inkonsistens (dubbellagring med fel i) Stora informationsmängder, typsikt fördubblas datamängden i en organisation vart femte år DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 5 / 26
OLAP Mål En organisations data är ofta vertikalt fragmenterad Försäljningsavd Leverantörshantering Lagerhållning Löneavd Dataintegrationen gör att man samlar data från många olika källor och kombinerar informationen Det ger en integrerad vy och ett uniformt gränssnitt Man kan ställa frågor som använder organisationens hela datamängd och man kan utföra analyser som omfattar hela datamängden DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 6 / 26
Så... vad är ett Data Warehouse? En databas med speciell inriktning Subjektorienterad (man länkar ihop data som relaterar till samma händelse) Samlar på sig data (data hämtas regelbundet, periodiskt) Insamlade data uppdateras inte, skriv inte över och raderas sällan Används som hjälp för att fatta beslut Optimeras annorlunda jämfört med en transaktionsdatabas Mycket stora datamängder Är inte up to date Används huvudsakligen för läsning Aggregering är vanlig och aggregeringsresultaten lagras ofta i databasen för att snabba upp sökning Innehåller redundans och tvättade data DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 7 / 26
OLTP Beslutstödssystem Traditionella relationsdatabassystem Effektiva för databaser där man utför ett stort antal relativt enkla transaktioner Svar på frågor som vem?, vilka?... men ett Data Warehouse innehåller verktyg för väsentligt mer avancerade (komplexa) frågor DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 8 / 26
OLAP Frågorna innehåller typiskt mycket aggregeringar (beräkningar över hela tabeller eller tabellkolumner) SELECT SUM(volume) FROM sales; SELECT department, SUM(volume) FROM sales GROUP BY department; Av effektivitetsskäl beräknas vissa aggregat redan vid insamling av data och värdena lagras i databasen Dataanalys kan betraktas som en mängd fakta om händelser av intresse Fakta kan associeras med ett eller flera mått som också kan aggregeras t.ex.: försäljningsvolym, pris, lagerhållning... DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 9 / 26
OLAP... Beslutstödssystem Hjälper användaren att få djupare förståelse och kunskap om gemensamma data med många möjliga sätt att betrakta dessa data OLAP-applikationer: Finansiering: budgetering, budgetutfall, riskanalys Försäljning: försäljningsanalys, prognos Marknadsföring: kundanalys, marknadsanalys, reklamanalys Produktion: planering, felsatsanalys Huvudfunktioner: Multidimensionella vyer av data Stöd för komplexa beräkningar Tidsintelligens DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 10 / 26
OLAP... multidimesionella vyer Man talar om dimensioner med avseende på antal parametrar man tar hänsyn till Man samlar de data som är intressanta i speciella tabeller som man får fram genom omfattande enkla sökningar och aggregeringar över tabeller i databasen Tabellerna kallas multidimensionella vyer och är typiskt onormaliserade de normala betingelserna för normalisering är överkörda normalisering innebär uppdelning efter beroenden och tar tid söktiderna ökar när tabellerna delats upp ingen optimering behövs eftersom man oftast aggregerar över hela tabeller DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 11 / 26
OLAP... tidsintelligens Man har behov av smart hantering av tid för olika betingelser Om man aggregerar över försäljningsvolymer / tidsenhet skall volymerna summeras för att få fram en totalsumma Månad summa januari 37 februari 42 mars 35 kvartal 1 114 Om man aggregerar över personaltillgång sett över samma tid skall man snarare ta medeltalet Månad antal januari 37 februari 42 mars 35 kvartal 1 38 DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 12 / 26
Representation av multidimensionella data Traditionellt RDBMS (Relationsdatabashanteringssystem) Läser 1000-tals rader per sekund Data är tvådimensionellt representerad OLAP-databasserver Multidimensionell representation av data Läser 10000-tals rader per sekund Räknar ut summor i förväg i alla dimensioner Klarar av alla statistiska och analytiska operationer Tid Kund Produkt DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 13 / 26
ROLAP Relational OLAP Metodik Fördelar Nackdelar Översätt klientens fråga till en eller flera SQL-frågor Låt RDBMS utföra frågorna Konvertera svaret till en mångdimensionell datakub Ingen speciell lagringsstruktur Traditionellt tillvägagångssätt Använder data från OLTP-server Ingen integration Konvertering från flata relationer till datakub blir långsam och komplex Låg prestanda om man måste hämta stora mängder data från RDBMS DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 14 / 26
MOLAP Multidimensionell OLAP Metodik I runtime Fördelar Nackdelar Extrahera data från många källor Lagra i Data Warehouse Access till datakuber via speciella mångdimensionella indexstrukturer Utför analys med speciellt analysapplikationsprogram Bra prestanda Med Data Warehouse erhålls integration och tvätt av data Inflexibelt, varje mångdimensionell indexstruktur fungerar bra bara för en applikation Kräver mjukvara och personal för underhåll av stora Data warehouse DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 15 / 26
Använda Data Warehouse Klienter Klienter Verktygslåda Rapportverktyg Databrytning Frågeverktyg Data Warehouse Integrationssystem Fråga Jämföra Databrytning (Data Mining) Rapportera Presentera Extraktor Extraktor Extraktor DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 16 / 26
Använda Data Warehouse Vi kan presentera endimensionella data som ett värde, tvådimensionella som en tabell och tredimensionella som en kub men har svårt att föreställa oss en presentation av högre dimensioner. Det är inte lätt att hitta en fungerande metafor för högre diensioner men alla sätt att räkna på två- och tredimensionella data fungerar även för högre dimensioner storlek färg 7 4 2 6 8 8 20 14 20 62 35 10 7 2 54 10 8 28 5 48 60 39 51 33 172 typ DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 17 / 26
Databrytning (Data Mining) Plocka fram information ur stora datamängder snabbt och automatiskt Hitta mönster, variationer, grupperingar, associationer... Användning av statistiska metoder och visualisering Prediktion: Gissa utgående från tidigare existerande data Klassifikation: givet en ny vara, vilken typ av vara är det? Association: relaterade objekt (t.ex. vilka varor brukar köpas ihop?) Gruppering (Clustering): Hitta grupper av data som hör ihop (t.ex. bilder med liknande egenskaper) DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 18 / 26
Statistiska metoder dokument (texter) I enstaka dokument: hitta en enstaka term räkna antalet förekomster av en term reducera dokumentet till relevanta termer och rangordna dem lokalisera en term och gör urval av termer baserat på den sökta termens position Ett dokument kommer att representeras av en termvektor som lagras som metadata Splittra dokumentet i hanterbara delar Ta bort oväsentliga ord hitta fraser (ordkombinationer som alltid förekommer tillsammans) Räkna förekomster Då en fråga i tillräcklig grad omfattar en eller flera av termerna i en vektor så väljs det dokument som vektorn beskriver För en samling av dokument behövs en termmatris och ett likhetsmått DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 19 / 26
Typiska mönsterslag Beslutstödssystem Beslutsträd: Klassifikation efter egenskaper Gruppering: Klassifikation efter likhet i egenskaper Statistiska modeller: Bayes, Markov,... Ex.: Clustering (av dokument): Vi kan bygga en matris med termer och antal träffar för termen per dokument samtidigt som vi bygger ett index. För båda hoppar vi över s.k. stoppord forts... dok\ord data base retrieval deletion dok 1 2 3 2 0 dok 2 0 1 2 2 dok 3 1 0 0 3 dok 4 0 0 2 3 dok 5 2 4 0 0 DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 20 / 26
Clustering... forts... Beroende på dels storleken på registret för ett dokument och vilka av orden som ingår placerar vi ut varje dokument som en punkt i ett n-dimensionellt gitter (punktvis definierad n-dimensionell rymd, en dimension per sökbegrepp) Sedan manipulerar vi punkterna efter dokumentens närhet till varandra och vi har fått ett antal cluster Med statistik kan man rensa i träffrymden och med speciella tekniker (signaturer) avfärda en stor del av sökträffarna En signatur är en binär sträng (ettor och nollor) där varje sökbegrepp ges ett visst unikt och slumpmässigt mönster (med samma längd på signaturen för varje sökbegrepp). Ex (också dokument) I exemplet används 4-bits-mönster i 12-bits-signaturer vilket är lite i ett reellt fall. Man överlagrar alltså en extra kod på texten (i princip). Låt sedan M betyda matchar och X betyda matchar inte. DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 21 / 26
Clustering... Begrepp Signatur data 00 1 000 1 1 0 0 1 0 base 00 0 010 1 0 1 0 0 1 retrieval 00 1 001 0 0 1 1 0 0 signatur 00 1 010 1 1 1 0 1 1 data ger M MM M retrieval M X M X Man väljer signaturlängden så att signaturen är halvfull med ettor och man får ett litet antal falska alarm, men det är en briljant idé för att rensa bort ett stort antal irrelevanta objekt. Träff betyder alltså kanske medan nej ju faktiskt betyder nej. DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 22 / 26
Exempel på användning av OLAP Undersök vad folk köper tillsammans. Hitta mönster Vilka par av varor registreras ofta tillsammans i varuhusets kassa? Öl och chips,... Vilka böcker köps av samma kund vid ett och samma köptillfälle? Vilken typ av webbplatser besöker en viss person ofta? Användning: Kunskapsinsamling Reklam Varuplacering DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 23 / 26
Teoriområden Databaser: fokus på snabb hantering av datamängder som inte får rum i primärminnet AI: fokus på komplexa metoder applicerade på förhållandevis små datamängder Statistik: fokus på att finna modeller Databrytning: alla tre ovan nämnda applicerade på stora datamängder För datafolk: Kraftfull form av analytisk bearbetning av stora datamängder. Resultatet är data som besvarar en frågeställning. För statistiker: Hitta en modell. Resultatet är modellens parametrar. DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 24 / 26
Teoriområden, förenklat exempel Givet 100.000.000 tal: En person med databasinriktning kan tänkas vilja beräkna medelvärdet En statistiker kanske vill anpassa en gausskurva till punkterna och avläsa eller beräkna medelvärde och standardavvikelse En person som sysslar med datorgrafik kan vilja visualisera punkterna i ett rymdgitter och låta användaren se data ur olika synvinklar och med olika grupperingar DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 25 / 26
Svarens signifikans En stor risk då man letar efter mönster i data är att man hittar nonsensmönster Statistiker kallar det Bonferronis princip: Om man söker efter mönster utanför vad som stöds av insamlade data så hittar man skräp Rhines paradox: det finns personer med ESP (extra-sensory-perception) Vid experiment med röda och blåa kort hade en på 1000 alla rätt och ansågs ha ESP Vid upprepat försök hade ingen det Slutsats: Alla förlorar sin ESP då de får veta att de besitter ESP Vid statistisk analys av löneutveckling korrelerat med brottsutveckling visade det sig att den procentuella löneökningen för präster alltid var högre då antalet bilstölder var högt under löneförhandlingstiden. Slutsats? Präster stjäl bilar under löneförhandlingarna för att få högre lön? DD1370 (Föreläsning 8) Databasteknik och informationssystem 7,5 hp Hösten 2011 26 / 26