Dagens föreläsning Vad du skall komma ihåg från - CSC

Dagens föreläsning
Vad du skall komma ihåg från tidigare föreläsningar
• Vad du skall komma ihåg från tidigare föreläsningar
• Användning av relationsdatabaser
• SQL
• Normalisering
• Modellering
• Informationsintegration
• Data Warehouse - översikt
• OLAP (OnLine Analytical Process
• Datakuber
• Data Mining
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 1
KTH & SU, CSC
Data warehouse
Databasteknik
Föreläsning 12 sid 2
Integration av data
Ett data warehouse är en integrerad samling data som används som stöd för
beslutsfattande.
Problem:
• Olika gränssnitt
Typiskt för ett data warehouse
• Time-variant
Data samlas över tiden
• Integrerad
Innehåller data från många källor
• Non-updatable Uppdateras sällan
• Olika datarepresentation
• Redundans och inkonsistens
• Stora informationsmängder (en organisations datamängd fördubblas på 5 år)
data warehouse
Uppdateras sällan
Stor
Komplicerade frågor
KTH & SU, CSC
produktionsdatabas
uppdateras ofta
liten
enkla frågor
Databasteknik
Föreläsning 12 sid 3
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 4
1
Mål
Vad är ett data warehouse
En organisations data är ofta vertikalt fragmenterad.
Försäljningsavdelning - Leverantörshantering - Lagerhållning - Löneavdelning …
Dataintegrationen medför att man samlar in data från många källor och
kombinerar informationen.
Vi får en integrerad vy och ett uniformt gränssnitt.
• Integrerad
• Subjektorienterad (data relaterade till en viss händelse länkas ihop)
• Samlar data (periodiskt hämtas nya data)
• Skrivs aldrig över
• Används för att fatta beslut
• Optimerad annorlunda än en transaktionsdatabas
• Stora datamängder
Vi kan ställa frågor som använder, och analysera, hela (organisationens)
datamängd.
• Är inte ”up to date”
• I huvudsak används den för läsning
• Aggregering är vanlig och aggregat lagras ofta i databasen
• Innehåller redundans och ”tvättade” data
KTH & SU, CSC
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 5
OLTP (OnLine Transaction Processing)
OLTP
Databasteknik
Föreläsning 12 sid 6
On-Line Analytical Processing (OLAP)
OLAP-frågor innehåller typiskt aggregeringar
Traditionellt system för relationsdatabaser
Effektivt för ett stort antal relativt enkla transaktioner
select sum(volym) from sales;
…
För att kunna göra detta effektivt beräknar OLAP-system vissa aggregat i förväg
och lagrar dessa i databasen.
Svarar på vem/vilka
Data warehouse
Typisk fråga
Hur var försäljningen under andra kvartalet i år jämfört med
andra kvartalet tidigare år?
Verktyg för mer avancerade frågor.
I föregående fråga kan man beräkna summavolym per avdelning och lagra dessa
värden i databasen.
KTH & SU, CSC
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 7
Dataanalys kan betraktas som en mängd fakta om händelser av intresse.
Fakta kan associeras med ett eller flera mått som kan aggregeras.
Ex: försäljningsvolym, pris, …
Databasteknik
Föreläsning 12 sid 8
2
OLAP, forts
Representation av multidimensionella data
• Hjälper användaren att få en djupare förståelse och vetskap om sina
gemensamma data. Många möjliga vyer av data.
OLAP-applikationer
• Finansiering: budgetering
• Försäljning: Försäljningsanalys, Prognos
• Marknadsföring: Kundanalys, Marknadsanalys, Analys av reklam
• Produktion: Planering, Felsatsanalys
OLAP-databas server
Multidimensionell
Kan läsa 10000-tals tupler per sekund
Kan räkna ut summor i förväg i alla dimensioner
Kan klara av alla vanliga statistiska och analytiska operationer
Huvudfunktioner:
Multidimensionella vyer av data
Support av komplexa beräkningar
Tidsintelligens
KTH & SU, CSC
Traditionell RDBMS
Kan läsa 100-tals tupler per sekund
Kan bara presentera data i två dimensioner
Databasteknik
Föreläsning 12 sid 9
KTH & SU, CSC
ROLAP
Fördelar
Inen speciell lagringsstruktur. Använd traditionellt tillvägagångssätt för
relationssystem.
Använder data från OLTP-server
Nackdelar
Ingen integration.
Konvertering från flata relationer till datakub blir långsam och komplex.
Låg prestanda om stora mängder data behövs från RDBMS.
Databasteknik
Föreläsning 12 sid 10
MOLAP
Relational OLAP
Översätt klientens fråga till en eller flera SQL-frågor
Låt DBMS exekvera SQL-frågorna
Konvertera svaret till en multidimensionell datakub
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 11
Multidimensionell OLAP
Extrahera data från många källor
Lagra i data warehouse
Runtime
Accessa datakuber via speciella indexstrukturer
Exekvera analys applikation och leverera resultat
Fördelar
Speciella multidimensionella indexstrukturer ger bra prestanda
Warehouse integrerar ”tvättade” data från multipla källor
Nackdelar
Inflexibla, multidimensionella lagringsstrukturer fungerar bra endast för en
applikation.
Kräver mjukvara och personal för att underhålla data warehouse.
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 12
3
Användning av ett data warehouse
Dimensioner
Klienter
Klienter
Report tool
Data Mining Tool
• Fråga
Fakta innehåller oftast annan information än mått, som kan användas för att
extrahera data av intresse.
• Jämföra
Ex Anställningsnummer  avdelning, filial
• Databrytning
Då vi gör en dekomposition så erhålls en relation som överensstämmer med det
funktionella beroendet. Denna kallas dimensionstabell och de refererade attributen
för dimensionsattribut.
Query tool
Data
warehouse
• Rapportera
Integrationssystem
Extraktor
Extraktor
Extraktor
Ex date-dimensionen innehåller information om dag, vecka, månad, kvartal, år
• Presentera
Av effektivitetsskäl väljer man ofta att inte normalisera dimensionstabellen detta
kallas ”star schema” och den normaliserade ”snowflake schema”
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 13
KTH & SU, CSC
Star-schema
KTH & SU, CSC
Databasteknik
Databasteknik
Föreläsning 12 sid 14
Snow-flake schema
Föreläsning 12 sid 15
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 16
4
Datakub
OLAP, igen
Ett sätt att presentera n-dimensionella data är i form av ett värde, en tabell eller en
kub men för högre dimension blir det svårare.
Pivoting: Ändra dimensionerna
Slicing: Titta på kuben för ett visst värde på en dimension
En d-dimensionell kub transformeras till en d-k dimensionell kub genom
att fixera värdet för k dimensioner.
Vi kan visa en kub med fixt värde på dimensionen.
Dicing: Områdesselektion
Rollup: Övergå till en grövre granularitet
Flera celler slås samman
Drill down: Övergå till en finare granularitet
Dela en cell i flera celler. Se flera detaljer.
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 17
KTH & SU, CSC
Databasteknik
Databrytning
Föreläsning 12 sid 18
Typiska mönsterslag
Handlar om att ur stora datamängder automatiskt få fram information.
Beslutsträd: klassifikation med hjälp av egenskaper
Hitta mönster, samvariation, grupperingar, associationer…
Cluster: klassifikation med hjälp av likhet i egenskaper
Användning av statistiska metoder och visualisering.
Bayes, Markov och andra statistiska modeller
Prediktion: baseras på tidigare data
Klassifikation: givet en ny vara vilken typ är det?
Regression: beräknas med en formel (t ex linjär regression)
Association: relaterade objekt (t ex vilka varor köps ihop)
Cluster: Hitta grupper av data som hör samman (t ex bildsökning)
Exempel: Cluster
KTH & SU, CSC
Databasteknik
x
x
xx
x
x x
x x
Föreläsning 12 sid 19
KTH & SU, CSC
x
x
x x
xx x
Databasteknik
Föreläsning 12 sid 20
5
Exempel
Teoriområden
Ett vanligt marknadsföringsproblem:
Undersök vad folk köper tillsammans för att hitta mönster.
Databaser: koncentrerade på snabb hantering av stora (som inte får plats i PM)
datamängder.
Vilka par av varor registreras ofta tillsammans i varuhusets kassa?
Öl och chips
AI (maskininlärning): fokuserade på komplexa metoder på små datamängder
Statistik: koncentrerade på att hitta modeller
Vilka böcker köps samtidigt av samma Amazonkund
Databrytning: alla 3 fast applicerade på stora datamängder.
• För en person med databasbakgrund: kraftfull form av analytisk bearbetning på
stora datamängder. (Resultatet är data som besvarar en fråga.)
• För en statistiker: hitta en modell. (Resultatet är modellens parametrar).
Användning:
Kunskapsinsamling
Reklam
Varuplacering
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 21
KTH & SU, CSC
Förenkling, Exempel
Föreläsning 12 sid 22
Svarens signifikans
Givet 100 millioner tal:
En stor risk då man vill hitta mönster i data är att man hittar nonsensmönster.
En person med databasinriktning kan vilja beräkna medelvärdet.
En statistiker vill anpassa en gausskurva till punkterna och avläsa
medelvärde och standardavvikelse.
En person som sysslar med datorgrafik vill visualisera pukterna och
tillåta användaren att se data ur olika synvinklar.
KTH & SU, CSC
Databasteknik
Databasteknik
Föreläsning 12 sid 23
Statistiker kallar det Bonferronis princip:
Om man tittar efter mönster på flera platser än som understödjs av
insamlade data så hittar man skräp.
Rhines paradox
David Rhine hade som hypotes att det existerar personer med Extra-Sensory
Perception.
Experiment med Röd-Blå kort, 1 av 1000 hade ESP och fick alla rätt.
Då försöket upprepades hade alla förlorat sin ESP.
Slutsats: Då man talar om för en person att han har ESP så förlorar han den.
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 24
6
Clustering
Clustering, forts
Vi tänker oss en rymd med en dimension för varje kund.
Värdena kan bara vara 0 eller 1
• Clustering i 2 dimensioner ser enkelt ut
• Clustering med små datamängder ser enkelt ut
• ”ser” är inte tillräckligt
I många fall har vi många (>3) dimensioner.
I fallet många dimensioner kan avståndet mellan par av punkter vara i stort sett
lika.
Clustra CD-skivor genom att representera en CD med den person som köpt den.
Liknande CD-skivor har liknande kunder och liknande kunder har liknande
CD-skivor.
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 25
En skiva representeras av en punkt (x1, x2, …, xn)i den n-dimensionella rymden.
Där xi = 1 endast om den i:te kunden köpt skivan.
Jfr med korrelerade varor. Matris med rader = kunder, varor = kolumner.
Distansmått: euklidiska t ex L2-norm (euklidiska avståndet), L1-norm summan av
differenser i varje dimension
eller icke-euklidiska t ex edit-distans (antal insättningar och borttagningar för att
Ändra en sträng till en annan)
KTH & SU, CSC
Clustering
Hierarkisk:
Initialt är varje punkt ett cluster.
Repetera: Slå ihop de två närmsta clustren till ett
Punktvis:
Upprätta en mängd initiala cluster
Ta varje punkt och placera den i det närmsta clustret.
Problem:
Hur representerar vi clustrets position?
Hur avgör vi vilka cluster som har kortaste avståndet från varandra?
Databasteknik
Föreläsning 12 sid 26
Latent Semantic Indexing
Två strategier för att skapa cluster:
Hopande eller delande.
Cluster kan vara hårda eller luddiga (en punkt tillhör exakt ett cluster eller med
viss sannolikhet ett cluster).
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 27
LSI för text eller fraser.
Ur varje dokument tar vi bort alla oviktiga ord.
Gör en matris där varje rad representerar en term.
Varje kolumn representerar ett dokument.
Varje cell innehåller antal gånger termen förekommer i dokumentet.
En fråga reduceras så att den bara innehåller viktiga termer.
Beräkna avståndet mellan frågan och dokumenten i matrisen.
De dokument som ligger tillräckligt ”nära” det sökta dokumentet utgör svar på
frågan.
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 28
7
Det viktigaste på denna föreläsning
• Skillnaden mellan traditionella RDBMS och data warehouse
• Olika strategier vid databrytning
KTH & SU, CSC
Databasteknik
Föreläsning 12 sid 29
8