Read tkjluento10.ppt text version

Tietokantajärjestelmät - luento 10 Tietovarastot

Määrittely ja periaatteet Tietovarastoinnin tekniikat

OLAP, tietokuutiot ja OLAP johdannaiset

Tilannekanta (ODS) ja metatieto Tietovarastoinnin ongelmia Tietovarastojen tietomallit Tietovarastojen arkkitehtuurit Tietokannan suunnittelu (Kimball) Tietämyksen varastointi

© IlkkaTervonen 1

Tietovaraston määrittely

Tietovarasto (data warehouse) on yksittäinen, täydellinen ja yhdenmukainen tiedon varastointipaikka, joka sisältää monesta eri lähteestä kerättyä tietoa. Peruskäyttäjät ymmärtävät helposti tiedon ja tiedolla on liiketoiminnan kannalta jokin merkitys (Devlin, 1997) . Tietovaraston avulla eri järjestelmissä olevat tiedot kootaan päätöksenteon edellyttämässä muodossa yhdeksi kokonaisuudeksi, johon kyselyt ja analyysit kohdistetaan

© IlkkaTervonen 2

Google satoja petatavuja Teradatan suuria asiakkaita 2009 eBay 5 petatavua Wal-Mart 2.5 petatavua Bank of America 1.5 petatavua Dell 1 petatavua

OLAP = Online analytical processing DSS = Decision support system EIS = Executive information system

Paikallisvarastot (datamartit)

Välivarasto (staging area)

Käyttäjän tekemät kyselyt

Operatiiviset tietokannat

Extract Transform Load (ETL)

Transaktiot Summaukset

OLAP työkalut

© IlkkaTervonen 3

Tietovarasto

Tietovarastoinnin periaatteet

Yritysjohdolle tarjotaan pääsy yrityksen tietoihin helposti ja tehokkaasti Tietovaraston data on

puhdistettua ja yhdenmukaista denormalisoitua

Tietovaraston dataa voidaan summata eri tasoilla sekä erotella ja yhdistellä (slice and dice) Kannan koko voi kasvaa suureksi

historia & rakeisuus ETL (extract, transform, load) työkalut tukevat rakentamista OLAP (On-line Analytical Processing) työkalut kyselyä, analysointia ja raportointia

© IlkkaTervonen 4

Tietovarasto on muutakin kuin pelkkää dataa

Tietovarasto

Voi sisältää vuosien tietomassan, tavallisesti 5-10 vuoden ajalta. Päivitetään jatkuvasti, jotta pysyy ajan tasalla operatiivisiin tietokantoihin nähden. Kerätty tieto on aiheorientoitunutta

tieto tukee päätöksentekoa, liittyen esim. asiakkaisiin, tuotteisiin tai myyntiin

Suunniteltu tehokkaita hakuja silmälläpitäen

· ne ovat kuitenkin ennustamattomia ja toteuttavat "ad hoc" kyselyjä

© IlkkaTervonen 5

transaktioiden määrä vähäinen edellytetään tehokkaita laitteistoja ja hallinnan työkaluja

· vaikka investoinnit ovat suuria, saadut hyödyt toimivat hyvinä perusteluina

Tietovaraston rakentaminen

("vaiheet hallinnon näkökulmasta" - Mattison 1996) 1. Selvitetään tietovaraston tarpeellisuus 2. Selvitetään tietovaraston arvo (hyöty) 3. Selvitetään datan saanti tietovarastoon 4. Selvitetään datan sijoitus tietovarastoon 5. Arvioidaan tietovaraston koko 6. Määritellään tietovaraston tyyppi 7. Määritetään tietovaraston sijainti 8. Ostetaanko, rakennetaanko vai muunnellaanko olemassa olevaa 9. Määritellään tietovaraston arkkitehtuuri, data, hallinnan tarpeet ja tarvittavat työkalut 10. Otetaan käyttöön ja aloitetaan tietojen lataus

© IlkkaTervonen 6

Paikallisvarasto (Datamart) Osastokohtaista tietoa -> tehostaa käsittelyä (kyselyt & raportointi) Data saadaan tietovarastosta -> yhdenmukaisuus varmistettu Voidaan toteuttaa tietovaraston osajoukkona Voidaan toteuttaa myös ilman tietovarastoa

© IlkkaTervonen 7

Etuna on helpompi ja halvempi toteutus Haittana on skaalattavuus- ja integrointiongelmat

Paikallisvaraston ominaisuudet

Toiminnallisuus

suosion myötä uudet vaatimukset lähestyvät tietovaraston nyt tarjoamia palveluja

Koko

jopa satoja GB käyttäjät vaativat lyhempää vasteaikaa kuin tietovarastolta

Lataamisen suorituskyky

optimiratkaisun hakua vasteajan ja latausajan välillä (summatasot)

Virtuaalinen paikallisvarasto

tieto voidaan hajauttaa useaan paikallisvarastoon

Internet/Intranet rajapinta

tarjoaa halvan käyttöliittymän paikallisvarastoon tiedon replikointi aiheuttaa ongelmia

© IlkkaTervonen 8

Hallinto Toteutus

toiminnallisuuden kasvu vaikeuttaa toteutusta, tarjolla myös "data marts in a box" ratkaisuja (esim. MediMart, mm. potilashistorian keruuseen)

Tietovarastoinnin tekniikat

- OLAP

On-line Analytical Processing (OLAP)

moniulotteista analyysiä, s.o. yhteenvetotietoja voidaan ryhmitellä monen tekijän suhteen tieto on talletettuna moniulotteisiin kuutioihin tietokannan looginen ja fyysinen rakenne poikkeavat tavallisesta relaatiotietokannasta poraudutaan (drill-down) mielenkiintoiseen tietoon pienet käyttäjämäärät analysoitavia asioita kuvataan "business" termein

© IlkkaTervonen 9

Tietokuutiot

Moniulotteisen datan esitystavat? - kolmikenttäinen taulu

© IlkkaTervonen 10

Tuote Mutteri Mutteri Mutteri Ruuvi Ruuvi Ruuvi

Alue Itäinen Läntinen Keskusta Itäinen Läntinen Keskusta

Myynti 50 60 100 90 70 45

Moniulotteinen matriisiesitys - esim. kaksiulotteinen

Itäinen Läntinen Keskusta Mutteri 50 Ruuvi 90 60 70 100

© IlkkaTervonen 11

45

Nelikenttäinen taulu

Materiaali Teräs Sinkitty Teräs Sinkitty Teräs Sinkitty Teräs Sinkitty Teräs Sinkitty Teräs Sinkitty Tuote Mutteri Mutteri Mutteri Mutteri Mutteri Mutteri Ruuvi Ruuvi Ruuvi Ruuvi Ruuvi Ruuvi Alue Itäinen Itäinen Läntinen Läntinen Keskusta Keskusta Itäinen Itäinen Läntinen Läntinen Keskusta Keskusta Myynti 30 20 30 30 60 40 50 40 30 25 20

© IlkkaTervonen 12

40

Kolmiulotteinen kuutio

Tuote

Mutteri

Ruuvi

Materiaali

Teräs

30

30

60

Sinkitty

30

40

Itäinen

Läntinen

Keskusta

Alue

© IlkkaTervonen 13

20

Lisätään tietoa kasvattamalla dimensiota

Va

ra

st

ot

Tuotteet

* kokonaismyynti * varastossa 4 * tänään

Päivät

© IlkkaTervonen 14

Lasketaan summa

Va

ra

st

ot

Tuotteet

Summa myynnistä * Tuotteelle 4 * varastosta 1 * viimeinen kuukausi

Päivät

© IlkkaTervonen 15

MOLAP arkkitehtuuri (Multidimensional OLAP)

Relaatiotietokantapalvelin ja/tai "legacy" sovellukset

MOLAP palvelin kyselyt Tiedon lataus tulokset

Tietokanta ja sovelluslogiikkataso

Esitystaso

© IlkkaTervonen 16

ROLAP arkkitehtuuri (Relational OLAP)

Relaatiotietokantapalvelin SQL ROLAP palvelin kyselyt tulokset tulokset

Tietokantataso

Sovelluslogiikkataso

Esitystaso

© IlkkaTervonen 17

HOLAP arkkitehtuuri (Hybrid OLAP)

Relaatiotietokantapalvelin SQL vastaukset

MOLAP palvelin kyselyt

© IlkkaTervonen 18

Tiedon lataus

vastaukset

SQL:n OLAP lisäykset

IBM, Oracle, Informix ja Red Brick Systems ovat kehitelleet OLAP laajennuksia SQL standardiin. Se tunnetaan nimellä RISQL (Red Brick Intelligence SQL) ja siinä esitellään esim. seuraavat funktiot: CUME

SELECT quarter, quarterlySales, CUME (quarterlySales) AS Year-to-Date FROM BranchQuarterSales WHERE branchNo = `B003'; · BranchQuarterSales taulussa on kolme saraketta branchNo, quarter ja quarterlySales · CUME funktio laskee quarterlySales sarakkeen kumulatiivisen summan

» » » » » Quarter QuarterlySales Year-to-Date 1 960000 960000 2 1290000 2250000 3 2000000 4250000 4 1500000 5750000

© IlkkaTervonen 19

MOVINGAVG/MOVINGSUM

SELECT month,monthlySales, MOVINGAVG (monthlySales) AS 3-Month Moving Avg, MOVINGSUM (monthlySales) AS 3-Month Moving Sum FROM BranchQuarterSales WHERE branchNo = `B003';

· BranchQuarterSales taulussa on kolme saraketta branchNo, month ja monthlySales

· MOVINGAVG/MOVINGSUM funktiot laskevat monthlySales sarakkeen kolmen

kuukauden keskiarvoa/summaa

» » » » » » » Month MonthlySales 1 210000 2 350000 3 400000 4 420000 5 440000 6 430000 3-Month Moving Avg 3-Month Moving Sum

320000 390000 420000 430000

960000 1170000 1260000 1290000 © IlkkaTervonen 20

ODS:n ja metatiedon merkitys tietovarastoinnissa

...

Metadata

Datamart

Operational Data Store (ODS)

Metadata

Metadata

...

Metadata

Metadata

Data warehouse

Tilannekanta

toimii välivarastona Operational systems

Tilannekanta (operatiivinen tietovarasto, ODS)

aiemmin erillinen järjestelmä operatiivisen järjestelmän ja tietovaraston välillä

voi sisältää myös kevyesti summattua historiatietoa

nykyisin osana (siltana) tietovarastoa

tietolähteenä tietovarastolle

· kevyesti yhtenäistetty (suorituskyky säilyy)

toimii tietolähteiden integroijana

· siirretään jaksoittain tietovarastoon · tiedon suodatus, yhtenäistäminen, koostaminen ja rikastaminen

© IlkkaTervonen 22

Metatieto

Käytetään tietovaraston rakentamisessa, ylläpidossa ja käytössä Tekninen metatieto sisältää tietoa

operatiivisista tietolähteistä, tiedon latausvaiheista, summataulujen tekovaiheista, tiedon tietotyypistä ja pituudesta, eheystarkastuksista, tietojen muunnoksista, tietovaraston käyttöoikeuksista, varmuuskopiointihistoriasta, jne.

Liiketoiminta-metatieto kertoo loppukäyttäjille liiketoiminnallisen näkemyksen tietovaraston sisältämään tietoon.

tietojen määritelmät liiketoiminnan termein tietolähde, tiedon päivityshetki ja tiedon mahdolliset laskentakaavat käsitemalli ja moniulotteiset tietomallit (kuutiot)

Metatietovarasto tukee tietojärjestelmäkehityksen eri vaiheita:

vaatimusmäärittelyä, tietomallintamista, tietojen siirtoa, käyttäjähallintaa, tietovaraston ylläpitoa ja kehitystä

© IlkkaTervonen 23

OMG:n standardit metamallinnukseen

Common Warehouse Metamodel (CWM),

CWM tarjoaa kehyksen sille, miten metatieto esitetään tietolähteistä, kohteista, muunnoksista, analyysistä ja prosesseista, jotka luovat ja käyttävät tietovaraston tietoa

työkalujen kesken vaihdetaan metatietoa, eli missä muodossa työkalu käsittelee tietoa Metamalli on metatietoa tallentavan fyysisen tietokannan tietomalli

Open Information Model (OIM) on kilpaileva malli ja CWM mallia laajempi

© IlkkaTervonen 24

OMG esitteli 2001 metamallin Common Warehouse Metamodel (CWM), joka rakentui kolmen standardin pohjalle: UML (Unified Modeling Language), MOF (Meta Object Facility) sekä XMI (XML Metadata Interchange) MOF on suunniteltu nelitasoisena arkkitehtuurina CWMllä voidaan esittää ja välittää sekä liiketoiminnallista että teknistä metatietoa tavoitteena tukea eri työkalujen yhteistoiminnallisuutta

Tietovarastoinnin ongelmia

Tiedon lataamisen vaatimien resurssien aliarviointi Paljastuneet ongelmat toiminnallisissa tietokannoissa Vaaditun tiedon puuttuminen toiminnallisista tietokannoista Kasvaneet käyttäjän tarpeet Tiedon homogenisointi Levytilan suuri tarve Tiedon omistusoikeudet (ja lukuoikeudet) Korkea ylläpidettävyys (tärkeää organisaatioille) Pitkäkestoiset projektit (rakentaminen kestää jopa 3 vuotta) Integroinnin mutkikkuus (eri työkaluja)

» Greenfield 1996

25

© IlkkaTervonen

Tietovarastoinnin asettamat tietokantavaatimukset

Tiedon syötön/lataamisen suorituskyky (n * GB/h) Tiedon lataamisprosessin hallinta (useita vaiheita) Tiedon laadun valvonta (yhdenmukaisuuden valvonta) Kyselyjen suorituskyky (kohtuullinen vasteaika) Skaalautuvuus tilantarpeeseen (terabyte -> petabyte) Skaalautuvuus käyttäjämääriin (100 -> 1000 samanaikasta käyttäjää) Verkotettu tietovarasto Tietovaraston joustava hallinta Summatasojen dynaaminen laskenta Kyselyjen toiminnallisuuden lisääminen (analyysin tukeminen)

» White paper/Red Brick Systems 1996

© IlkkaTervonen 26

Tietovarastojen tietomallit

Relaatiomalli

Dimensionaaliset Tähtimalli

© IlkkaTervonen 27

Lumihiutalemalli

Dimensiomallintaminen (dimensional modeling)

Time PropertyForSale propertyID {PK} propertyNo type street city postcode region country

Dimensiomalli koostuu faktataulusta ja dimensiotauluista Oheinen malli esittää tähtimallia Dimensiotaulujen avaimet on korvattu keinoavaimilla eli surrogaateilla Dimensiotaulut ovat yleensä denormalisoituja, esim city, region, country tietoa on useissa tauluissa

timeID {PK} day week month year Branch branchID {PK} branchNo branchType city region country

PropertySale timeID {FK} propertyID {FK} branchID {FK} ownerID {FK} staffID {FK} offerPrice sellingPrice saleComission

Staff staffID {PK} staffNo staffType position sex city region country

Owner ownerId {PK} ownerNo ownerName ownerType

Dimensiomallintaminen...

Jos tähtimallin denormalisoinnista palataan normalisoituun malliin, saadaan lumihiutalemalli Oheisessa mallissa dimensiotaulusta Branch poistetaan paikkatiedot ja luodaan kaksi uutta taulua City ja Region Paikkatiedot myös muista tauluista voidaan poistaa ja ne jakavat taulut City ja Region

Branch branchID {PK} branchNo branchType city {FK} PropertySale timeID {FK} propertyID {FK} branchID {FK} ownerID {FK} staffID {FK} offerPrice sellingPrice saleComission

City city {PK} region {FK}

Region region {PK} country

Tietovarastojen arkkitehtuurit

Itsenäiset paikallisvarastot Paikallisvarasto-väyläarkkitehtuuri Napa & pinna arkkitehtuuri Keskitetty tietovarasto Liittoutuma-arkkitehtuuri

© IlkkaTervonen 30

Itsenäiset paikallisvarastot (datamartit)

Välivarasto (staging area)

Datamart

Välivarasto (staging area)

Datamart

Operatiiviset tietokannat

Extract Transform Load (ETL)

Dimensionaalinen tietomalli

Käyttäjän tekemät kyselyt

© IlkkaTervonen 31

Välivarasto (staging area)

Datamart

Paikallisvarasto-väyläarkkitehtuuri (data mart bus) (Ralph Kimball)

Välivarasto (staging area)

Datamart

Välivarasto (staging area)

Datamart

Välivarasto (staging area)

Datamart © IlkkaTervonen 32

Operatiiviset tietokannat

Extract Transform Load (ETL)

Yhdenmukaistetut (conformed) dimensiot

Käyttäjän tekemät kyselyt

Napa & pinna (hub & spoke) arkkitehtuuri (Bill Inmon)

Välivarasto (staging area)

Tietovarasto

Operatiiviset tietokannat

Extract Transform Load (ETL)

Normalisoitu

Johdetut datamartit

Käyttäjän tekemät kyselyt

© IlkkaTervonen 33

Keskitetty tietovarasto

Välivarasto (staging area)

Tietovarasto

Operatiiviset tietokannat

Extract Transform Load (ETL)

Normalisoitu

Käyttäjän tekemät kyselyt

© IlkkaTervonen 34

Liittoutuma-arkkitehtuuri (federated)

Välivarasto (staging area)

Tietovarasto

Operatiiviset tietokannat

Extract Transform Load (ETL)

Normalisoitu

Johdetut datamartit

Looginen/ fyysinen integraatio

Käyttäjän tekemät kyselyt

© IlkkaTervonen 35

Tietovarastoarkkitehtuurien suosio

39% 26% 17% 12% 4% Napa & pinna arkkitehtuuri Paikallisvarasto-väyläarkkitehtuuri Keskitetty tietovarasto Itsenäiset paikallisvarastot Liittoutuma-arkkitehtuuri

© IlkkaTervonen 36

Tutkimus suoritettiin vuonna 2005 Vastaajien määrä 454 Watson H., Ariyachanda T., Data warehouse architectures, 2005

­

http://www.terry.uga.edu/~hwatson/DW_Architecture_Report.pdf

Watson H., Ariyachandra T., 2005, http://www.terry.uga.edu/~hwatson/DW_Architecture_Report.pdf

© IlkkaTervonen 37

Tietovaraston tietokannan suunnittelu/ Kimball 1996

1. 2. 3. 4. 5. 6. 7. 8. 9. Valitse prosessi -> ER kuvaus Valitse rakeisuus (mitä yhteen tähtikaavaan) -> ER kuvaus Tunnista ja yhdenmukaista dimensiot -> tähtimalli Valitse faktataulut -> tähtimalli Tutki esilaskentatarve faktatauluissa Käy läpi dimensiotaulut (ja lisää tekstikuvaukset) Valitse talletushistorian pituus Etsi hitaasti muuttuvat dimensiot

(ja käytä tarvittaessa aikatunnistetta tai uutta dimensiota)

Päätä kyselyjen prioriteetti

(fyysinen suunnittelu, esim. indeksit)

© IlkkaTervonen 38

1. Valitse prosessi / DreamHome (Connolly&Begg 2002)

takes Lease holds leasedBy placesIn PropertyForRent provides offers registers has Branch sells contacts ClientBuyer requests agrees PropertySale seeks isFor describes promotes PropertyForSale views PropertyViewing Promotion manages owns Staff Owner Advert oversees attends Property Maintenance Newspaper recommends

ClientRenter

2. Valitse rakeisuus

has

Branch

Staff

Owner

sells contacts ClientBuyer PropertyForSale

owns

promotes

Promotes

agrees

Tavoitteena on kuvata yhden paikallisvaraston tarvitsemat tiedot (Kimballin mallissa paikallisvarastot muodostavat ytimen)

© IlkkaTervonen 40

PropertySale

isFor

3. Tunnistetaan ja yhdenmukaistetaan dimensiot

ClientBuyer clientID {PK} clientNo clientType city region country PropertySale timeID {FK} propertyID {FK} branchID {FK} clientID {FK} ownerID {FK} staffID {FK} promotionID {FK} offerPrice sellingPrice saleComission

Time timeID {PK} day week month year PropertyForSale propertyID {PK} propertyNo type street city postcode region country Branch branchID {PK} branchNo branchType city region country Promotion promotionId {PK} promotionNo promotionName promotionType Advert timeID {FK} propertyID {FK} branchID {FK} newspaperID {FK} promotionID {FK} advertCost

Newspaper newspaperID {PK} newspaperNo Newspapername newspaperType distribution city region country

Staff staffID {PK} staffNo staffType position sex city region country

Owner ownerId {PK} ownerNo ownerName ownerType

Etsitään dimensiotaulut, joita käytetään useassa paikallisvarastossa = yhteydet useaan faktatauluun

4. Valitaan faktat

Time timeID {PK} day week month year Branch branchID {PK} branchNo branchType city region country ClientRenter clientId {PK} clientNo clientame clientType city region country Lease timeID {FK} propertyID {FK} branchID {FK} clientID {FK} promotionName {FK} staffName {FK} ownerID {FK} monthlyRent rentDuration totalRent clientAllowance staffCommision totalRevenue lastYearRevenue Owner ownerId {PK} ownerNo ownerName ownerType

PropertyForRent propertyID {PK} propertyNo type street city postcode region country

ei-numeeriset

Promotion promotionId {PK} promotionNo promotionName promotionType Staff staffID {PK} staffNo staffName position sex city region country

turhaa tietoa

eri tason summatietoa

4. Valitaan faktat - korjattu versio 5. Tutkitaan esilaskentatarve

Time timeID {PK} day week month year Branch branchID {PK} branchNo branchType city region country ClientRenter clientId {PK} clientNo clientame clientType city region country Lease timeID {FK} propertyID {FK} branchID {FK} clientID {FK} promotionID {FK} staffID {FK} ownerID {FK} rentDuration totalRent clientAllowance staffCommision totalRevenue

PropertyForRent propertyID {PK} propertyNo type street city postcode region country

Promotion promotionId {PK} promotionNo promotionName promotionType Staff staffID {PK} staffNo staffName position sex city region country

totalRevenue = totalRent (clientAllowance + staffCommission)

Owner ownerId {PK} ownerNo ownerName ownerType

Tietovaraston tietokannan suunnittelu

vaiheet 6 - 9

6. Käy läpi dimensiotaulut (ja lisää tekstikuvaukset) 7. Valitse talletushistorian pituus 8. Etsi hitaasti muuttuvat dimensiot 9. Päätä kyselyjen prioriteetti

(ja käytä tarvittaessa aikatunnistetta tai uutta saraketta) (fyysinen suunnittelu, esim. summatasot ja indeksit)

© IlkkaTervonen 44

Tietämyksen varastointi (knowledge warehousing) Pyritään keräämään ja hyödyntämään organisaation kokemusperäistä (tacit) ja strukturoimatonta tietoa & tietämystä. Tarvitaan muunnos tacit -> explicit "Menestyviä yrityksiä tulevat olemaan ne, jotka pystyvät kehittämään jatkuvasti uutta tietämystä, levittämään sitä tehokkaasti läpi organisaation sekä hyödyntämään sen nopeasti uusina tuotteina, toimintatapoina ja teknologioina" (Nonaka).

© IlkkaTervonen 45

Tietämyksen muodostamisen vaiheet

Mallin kehittäminen Tiedon louhinta Relevantit tiedot Tietovarasto Tietojen puhdistus Tietojen yhdistely Tietokannat Valinta

Fayyad et al. 1996

© IlkkaTervonen 46

Tiedon puhdistaminen

Tiedon puhdistaminen (data cleansing) on keskeinen askel tietovaraston rakentamisessa Likaisuus voi johtua esim. kirjoitusvirheistä ja standardien puutteesta

Pre-integration cleaning

· Data puhdistetaan ennen yhdistämistä · Tarvitaan tietoa muiden tietolähteiden metadatasta ja tulevan tietovaraston metadatasta

Post-integration cleaning

· Varmistetaan yhdistetyn tiedon eheys

Post-integration refining

· Toimii yhdessä edellisen askeleen kanssa · Poistetaan epäjohdonmukaisuudet

© IlkkaTervonen 47

Tiedon yhdistely (ja rikastus)

Käytettävän tiedon tulisi kuvata ongelma-alue niin perusteellisesti kun mahdollista. Tämä tieto voi kuitenkin sijaita myös muissa tietolähteissä. Tiedon rikastuksella tarkoitetaan muista tietolähteistä tehtävää tiedon hankintaa. Myös rikastustieto tarvitsee valinta- ja puhdistusvaiheet.

© IlkkaTervonen 48

Information

tkjluento10.ppt

48 pages

Find more like this

Report File (DMCA)

Our content is added by our users. We aim to remove reported files within 1 working day. Please use this link to notify us:

Report this file as copyright or inappropriate

445363