Tietovirtojen lataaminen tosiaikaiseen tietovarastoon
|
|
- Marjut Tamminen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 hyväksymispäivä arvosana arvostelija Tietovirtojen lataaminen tosiaikaiseen tietovarastoon Mika Kukkonen Helsinki Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Mika Kukkonen Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Tietovirtojen lataaminen tosiaikaiseen tietovarastoon Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Seminaarityö sivua Tiivistelmä Referat Abstract Tosiaikainen tietovarasto on keskitetty tietokantajärjestelmä pehmeitä tosiaikaisia raportointisovelluksia varten. Näiden sovellusten perusvaatimuksena on tuoreen tiedon jatkuva saatavuus. ETLprosessissa muutokset lähdejärjestelmien tietosisällöissä päivitetään tietovaraston relaatiotietokantaan. Tosiaikaisen ETL-prosessin toteuttamisessa on kaksi perusarkkitehtuuria: muutostietojen noutaminen lähteistä tihennetyllä aikataululla sekä muutostietojen aktiivinen lähettäminen lähteistä tietovarastoon. Muutostietojen lähettäminen jatkuvana tietovirtana mahdollistaa lyhyimmät viiveet lähteiden ja tietovaraston välillä. Tietovirtojen kuunteluun perustuva ETL-järjestelmä voidaan mallintaa ETL-operaatioiden jonoverkkona [KVP05], johon saapuu monikkoja lähteistä satunnaisesti. Mallin avulla ETL-jonoverkon suorituskykyominaisuuksia kuten keskimääräisiä odotusaikoja ja jononpituuksia voidaan parhaassa tapauksessa ennustaa luotettavasti. ETL-jonoverkon keskeinen operaatio on liitos, jota tarvitaan mm. keinoavainten hakemisessa. MeshJoin on algoritmi liitoksen laskemiseksi nopean tietovirran ja hitaan perusrelaation välillä, joka on suunniteltu läpivirtauksen optimoimiseksi rajallisella muistimäärällä [PSV08, PSV + 07]. Kokeissa MeshJoin-algoritmi osoittautuu tehokkaaksi liitosalgoritmiksi tosiaikaisessa ETL-jonoverkossa, mutta muihin käyttötarkoituksiin perinteiset liitosalgoritmit soveltuvat paremmin. ACM Computing Classification System (CCS): H.2.7 [Database Administration], H.2.8 [Database Applications] Avainsanat Nyckelord Keywords tosiaikainen tietovarasto, ETL, tietovirrat Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
3 Sisältö ii 1 Johdanto 1 2 ETL-prosessin jonoverkkomalli 3 3 MeshJoin-algoritmi 6 4 MeshJoin-algoritmin suorituskyky 10 5 Johtopäätökset 13 Lähteet 14
4 1 1 Johdanto Tietovarastot ja transaktionkäsittelytietokannat (OLTP) eroavat toisistaan ennen kaikkea työkuormitukseltaan. Tietovarastojen hyötykuorma on lukuintensiivistä ja OLTP-tietokantojen kirjoitusintensiivistä. Erilaisten työkuormien optimoinnista on seurannut erilaisia teknisiä valintoja tietomallinnuksessa, indeksoinnin suunnittelussa, välimuistiratkaisuissa ja fyysisessä tallennuksessa 1. Näistä eroavaisuusuuksista huolimatta tavallisesti sekä tietovarastojen että OLTP-tietokantojen moottorina on relationaalinen tietokannanhallintajärjestelmä (RDBMS). Tietovaraston relaatiotietokanta on myös tavallisin lähde multidimensionaalisille OLAP-tietokannoille. Radikaalein ero päätöksenteon tukijärjestelmien ytimenä olevien tietovarastojen ja operatiivisten OLTP-tietokantojen välillä ei ole tietokantatekniikassa, vaan ylläpitoprosessissa. Analyysijärjestelmänä oleva tietovarasto on voitu sulkea käyttäjiltä tietojen uutos, muunnos ja latausprosessin 2 ajaksi, kun taas operatiivisissa OLTPtietokannoissa ei voida sallia käyttökatkoja. Tietovarastoinnin palveluvaatimukset ovat kuitenkin tiukentuneet 2000-luvulla, mikä johtunee tietovarastoinnin yleistymisestä ja operatiivisten järjestelmien lukumäärän kasvamisesta. Tietovarastoinfrastruktuuria on olemassa ja sitä halutaan hyödyntää tiedonhallinnassa monipuolisemmin kuin alun alkaen suunniteltiin. Yksi uusi käyttökohde on hyödyntää tietovarastoja operatiivisessa raportoinnissa, etenkin jos raportteja varten pitää yhdistää tietoja useammasta kriittisestä OLTP-järjestelmästä. Operatiivinen raportointi ei kuitenkaan salli palvelukatkoksia ja tietojen pitää olla riittävän tuoreita, eli niillä on jokin tosiaikaraja. Tosiaikainen tietovarastointi ja liiketoimintatiedon hallinta (real-time DW/BI) on alue, joka käsittelee tietojen integrointia useammasta lähdejärjestelmästä ja raportointia pehmeiden tosiaikarajojen vallitessa. Aihepiiriin keskittynyt BIRTE-workshop on järjestetty nyt kolmesti vuodesta 2006 lähtien VLDB-konferenssin yhteydessä [Bir09]. Tosiaikaisen tietovarastoinnin perusongelmana on rakentaa ETL-prosessi niin, että tietovarasto pysyy riittävän tuoreena ilman, että tietovarastolta halutuista ominaisuuksista, kuten kyselytehokkuudesta ja eri lähdejärjestelmistä ladattujen tietojen yhdenmukaistamisesta pitäisi tinkiä liikaa. Tosiaikaisen ETL-prosessin toteuttamisessa on kaksi perusarkkitehtuuria: 1 esim. dimensio- vs. normalisoitu mallinnus, raskaat indeksit vs. kevyet indeksit, materiaalistetut näkymät/koosteet vs. pelkkä kyselysuunnitelmavälimuisti, ja sarake- vs. rivitallennus 2 extract, transform and load, ETL
5 2 Tihennetty ETL: perinteisen ETL-prosessin tihentäminen (micro-batching), joka perustuu tietojen vetämiseen (pull) lähteistä määräaikavälein Tietovirta-ETL: tietovirtojen jatkuva kuunteleminen ja prosessointi, joka perustuu tietojen työntämiseen (push) lähdejärjestelmistä tietovarastoon Perinteisen ETL-prosessin tihentäminen on yleisin tapa saavuttaa tavanomaisilta liiketoimintajärjestelmiltä vaadittavat aikarajat. Tekninen toteutus perustuu päätietovarastosta fyysisesti erilliseen, huomattavasti pienempään kirjoitusoptimoituun tosiaikaiseen osioon, johon päivänsisäinen tieto ladataan[kir02, Inm05, SB08]. Kyselyissä tehdään tarvittaessa liitoksia päivänsisäisen osion ja päätietovaraston välillä. Ylläpitoikkunan aikana tosiaikainen osio konsolidoidaan päätietovarastoon 3. Push-tyyppinen ETL on herättänyt paljon mielenkiintoa [Par09], sillä se mahdollistaa lyhyemmät viiveet lähdejärjestelmien ja tietovaraston välillä. Tietojen muutokset voidaan uuttaa lähdejärjestelmissä lähes välittömästi ja toimittaa muunnosja latausvaiheiden käsiteltäviksi. Push-tyyppinen ETL johtaa myös löyhempään sidokseen tietolähteiden ja tietovaraston välillä: muutostieto generoidaan lähdejärjestelmissä ja välitetään rajapinnan kautta tietovarastoon. Pull-tyyppisessä ETLprosessissa tietojen uuttaminen on konfiguroitu/ohjelmoitu ETL-järjestelmään, mistä seuraa että ETL-järjestelmä on herkkä muutoksille lähdejärjestelmissä. Yksinomaan tietovirtojen kuunteluun perustuva tosiaikainen ETL on toistaiseksi enemmän akateeminen tutkimuskohde kuin varteenotettava tekninen vaihtoehto. Saapuvien tietovirtojen tallentaminen tietokantoihin on kuitenkin aina ollut tavallista hajautettujen tietolähteiden kanssa. Esimerkiksi lokitus- ja lokianalyysijärjestelmä voitaisiin toteuttaa tosiaikaisena tietovarastona, joka kuuntelee tietovirtoja lokilähteistä. Tässä työssä käsitellään tietovirtojen lataamista tosiaikaiseen tietovarastoon. Ensimmäiseksi esitellään ETL-prosessin yleistä jonoverkkomallia ja ETL-operaatioiden keskeisiä suorituskykysuureita (luku 2). Tämän jälkeen tarkastellaan yksittäistä mutta tärkeää ETL-operaatiota, tietovirran ja tietovaraston relaation liitosta ja sen laskemista MeshJoin-algoritmin avulla (luku 3). MeshJoin-algoritmin suorituskykyä ja optimointia tutkitaan luvussa 4. Lopuksi arvioidaan tietovirta-etl:n sekä MeshJoin-algoritmin suorituskykyominaisuuksia. 3 Käytössä on myös termi operatiivinen tietovarasto, ODS, jolla tavallisesti tarkoitetaan ad hoc -luonteisempaa replikaattia raportointia varten tarvittavista tiedoista, eikä tätä voida helposti konsolidoida päätietovarastoon
6 3 2 ETL-prosessin jonoverkkomalli Tietovirran lataaminen tietovarastoon voidaan mallintaa ETL-operaatioiden jonoverkkona [KVP05]. Jonoverkkomallit (queueing network models) ovat tietokonejärjestelmien suorituskyvyn analysoinnin keskeisiä työvälineitä [DeB78]. Jonoverkkomallissa verkon solmuja kutsutaan palvelupisteiksi. Kuhunkin palvelupisteeseen saapuu asiakkaita jonossa. Jos palvelupiste on varattu, asiakas odottaa jonossa, kunnes palvelupiste vapautuu. Asiakas poistuu jonosta, kun sen palvelupyyntö on toteutettu. ETL-jonoverkkomallissa palvelupisteitä ovat ETL-operaatiot, jotka voidaan luokitella suodattimiin, muunnoksiin ja binäärioperaatioihin [KVP05]. Suodatin karsii pois osan jonoon tulevista monikoista (valintaehdot), muunnosoperaatio muuttaa tietosisältöä tai suorittaa muunnoksen tietomallien välillä (tietojen puhdistaminen ja yhdenmukaistaminen), ja binäärioperaatio tuottaa kahdesta lähteestä yhden tulosvirran (relaatioiden liitokset). ETL-palvelupisteiden kannalta asiakkaat ovat kuitenkin toisistaan erottamattomia tietovirtoja, jolloin kyseessä on ns. yhden luokan jonoverkkomalli [KVP05]. Jonoverkon palvelupisteisiin (kuva 1) liittyy kaksi parametria: 1. saapumisnopeus λ IN = palvelupisteeseen saapuvien asiakkaiden lukumäärä aikayksikköä kohden, ja 2. palvelunopeus µ = λ OUT + λ REF = palvelupisteeltä poistuvien asiakkaiden lukumäärä aikayksikköä kohden, jossa λ OUT on palvelupisteen hyväksymien ja prosessoimien asiakkaiden lkm/aikayksikkö ja λ REF on palvelupisteen hylkää- Kuva 1: Jonoverkon palvelupiste [KVP05].
7 4 mien asiakkaiden lkm/aikayksikkö. Jotta jono ei kasvaisi rajattomasti, on oltava voimassa ρ = λ/µ < 1, jossa ρ on palvelupisteen käyttöaste. Jonoverkon keskeiset suorituskykysuureet ovat keskimääräinen jonon pituus ja keskimääräisen odotusaika (jonotus + palveluaika). Jos jonossa on yksi palvelupiste, ja saapumisnopeus on Poisson-prosessi sekä palveluaika noudattaa eksponenttijakaumaa, niin jonoa kutsutaan Kendallin merkintätavassa M/M/1 -jonoksi. M/M/1-jonoille sekä näistä muodostetulle jonoverkolle voidaan johtaa ennuste keskimääräiselle jononpituudelle ja odotusajalle. ETL-järjestelmän suorituskykyyn vaikuttaa myös joukko jonoverkkomallista riippumattomia arkkitehtuurivalintoja. Kuvassa 2 on esitelty jonoverkkoon ja web service -rajapintoihin pohjautuvan ETL-järjestelmän 4 toteutusvaihtoehtoja. Kuva 2: ETL-järjestelmän arkkitehtuurivalintoja [KVP05]. Kokeissa[KVP05] testattiin jonoverkkomallia sekä mitattiin arkkitehtuurien vaikutusta suorituskykyyn. 4 kuvassa ETL-järjestelmä = Active Data Staging Area, ADSA
8 5 Koko järjestelmän suorituskyvystä havaittiin, että: ETL-järjestelmä kannattaa eristää sekä lähteistä että tietovarastosta. Kahden palvelimen mallissa ETL-järjestelmä kannattaa kuitenkin sijoittaa tietovarastopalvelimelle. Tietovirran säätely (regulation) lähteestä ETL-järjestelmään vaikuttaa läpivirtaukseen ja odotusaikoihin merkittävästi. Lähteiden ja ETL-järjestelmän välisessä tiedonsiirrossa lohkon koko ei saa olla liian pieni tai liian suuri (alle 25 tai yli 100 monikkoa). Liian pieni lohkon koko kuormittaa lähdejärjestelmää ja vähentää läpivirtausta. Liian suuri lohkon koko johtaa viiveisiin tiedonsiirrossa. Lähteiden ja ETL-järjestelmän välisessä tiedonsiirrossa UDP-protokollaa käytettäessa pakettien hävikki on liian suuri, jotta protokollasta olisi suorituskykyetua TCP-protokollaan nähden. Tietovarastoon tallentavan rajapinnan arkkitehtuuri ei vaikuttanut suorituskykyyn merkittävästi (tietovirran säätely, synkroniset vs. asynkroniset kutsut, web service -instanssien lukumäärä). Odotusaikojen minimoimiseksi jononpituudet ETL-jonoverkossa tulisivat olla mahdollisimman lyhyitä, eli saapumisnopeus lähteistä ei saa ylittää ETLjärjestelmän palvelunopeutta ETL-järjestelmän jonoverkkomallin koeasetelmissa jonoverkot muodostuivat 0-4 peräkkäisestä ETL-operaatiosta, joista jokainen mallinnetaan M/M/1-jonoina. Suuntaaantava tulos oli, että kokeessa, jossa palvelunopeus on 2000 monikkoa sekunnissa, havaitut keskimääräiset jononpituudet eri operaatioissa olivat 5-8 monikkoa ja mallin ennusteet 2-3 monikkoa. Malli aliarvoi keskimääräisen jonon pituuden kaikissa kokeissa ja ero havaittujen ja ennustettujen jononpituuksien välillä oli eri operaattoreilla noin 3-5 monikkoa. Näiden tulosten nojalla malli ei kuitenkaan epäonnistu keskimääräisen jononpituuden ennustamisessa. Koetulosten tilastollista analyysiä kirjoittajat eivät kuitenkaan esitä, mikä vähentää tulosten luotettavuutta. Koetulosten yleistäminen on vaikeaa, sillä koeasetelman ETL-järjestelmä on toteutettu pelkästään spesifiä tarkoitustaan varten. Tarkoituksena on ollut osoittaa jonoverkkomallin kelpoisuus tosiaikaisen ETL-prosessin suorituskykymallina ennemin kuin esittää tosiaikarajojen saavuttamiseen suunniteltuja optimointeja.
9 3 MeshJoin-algoritmi 6 ETL-prosessin yleisimpiä operaatioita on lähdemonikkojen liitos tietovarastossa tai valmistelualueella (staging area) sijaitseviin relaatioihin. Liitoksia tarvitaan mm. keinoavainten (surrogate key) hakemisessa sekä uusien monikkojen erottamisessa tietovarastoon jo tallennetuista monikoista. Keinoavaimet ovat tietovaraston avaimia, jotka korvaavat lähdejärjestelmien omat, ns. luonnolliset avaimet. Luonnollisia avaimia tai näiden johdoksia ei ole syytä käyttää tietovarastoissa, koska tästä seuraava tiivis riippuvuus lähteiden ja tietovaraston välillä rajoittaa tietovaraston loogista suunnittelua. Lisäksi avainkonfliktien riski haittaa tietovaraston ylläpitoa. Avainmuunnoksessa lähdeavainta vastaava keinoavain haetaan master-taulusta liitoksella (Kuva 3). Kuva 3: Keinoavaimen haku [NDW09]. Tavanomaisessa ETL-prosessissa suorituskykytavoitteena on minimoida prosessin kokonaiskesto. Liitoksissa tarvittavat lähdemonikot ladattaisiin tällöin muistipuskuriin ja liitoksen laskemisessa käytettäisiin soveltuvaa lohkoalgoritmia, kuten sortmerge tai hash join -algoritmeja [PSV08]. Tietovirtojen ja relaatioiden välisiin liitoksiin tosiaikaisessa tietovarastossa tämä ei kuitenkaan sovellu. Tavoitteena ei ole enää ETL-prosessin kokonaiskeston minimointi, vaan tosiaikarajan saavuttaminen. Puskuroinnista johtuvat odotusajat eivät palvele tätä tavoitetta, vaan tarvitaan jatkuva ennemmin kuin eräajoihin perustuva liitosalgoritmi [PSV08, NDW09]. Jos puskuroinnista luovutaan, niin jäljelle jää sisäkkäisten silmukoiden liitosalgoritmit (nested-loop join), erityisesti index-nested-loop (INL). Tällöin kuitenkin menetetään läpivirtauksen tehokkuutta, koska jokaista saapuvaa monikkoa kohden on tehtävä indeksihaku, joka pahimmillaan on kallis satunnainen levyhaku [PSV08]. Mahdollise-
10 7 na lisäkustannuksena on vielä indeksin ylläpito liitosattribuuteissa. Kompromissina voitaisiin yrittää optimoida puskurikokoa dynaamisesti tosiaikarajan tiedostavalla algoritmilla. Haasteena tässä on, että tietovirran nopeus suhteessa perusrelaation levyhakujen nopeuteen on tuntematon ja voi vaihdella suuresti [NDW09]. Lähtökohtaisesti hyvä liitosalgoritmi olisi sellainen, jossa läpivirtaus olisi mahdollisimman suuri, jonotusajat pieniä, ja joka kuluttaisi mahdollisimman vähän muistia. Muistinkäyttö on kriittistä ETL-prosessissa kahdesta syystä. Ensinnäkin perusrelaatiot voivat olla hyvinkin suuria eikä niitä voida tavallisesti ladata muistiin kokonaan. Toiseksi, tehokas ETL-prosessi hyödyntää rinnakkaisuutta mahdollisimman paljon, ja samanaikaisesti voi olla käynnissä useita muistia tarvitsevia operaatioita [NDW09]. MeshJoin on algoritmi liitoksen laskemiseksi nopean tietovirran ja hitaan perusrelaation välillä, joka on suunniteltu läpivirtauksen optimoimiseksi rajallisella muistimäärällä [PSV08, PSV + 07]. Tavoitteen saavuttamiseksi levyhakujen kustannus jaetaan usean saapuvan monikon kesken (amortization). Lisäksi levyä luetaan silmukassa sarjallisesti, eikä hitaita satunnaisia levyhakuja tarvita. Algoritmi ei oleta indeksejä relaatiossa, liitostyyppiä ei rajoiteta (equivalence, range, similarity etc.) ja liitoksen tulos on eksakti 5. MeshJoin (kuva 4) laskee liitoksen virtana saapuvan relaation S ja tietovarastossa levyllä säilytettävän, muuttumattoman relaation R välillä. Algoritmin toimintaa ei ole tarkoitus määritellä tässä toteutukseen vaadittavalla täsmällisyydellä, mutta suorituskykyominaisuuksien ymmärtämiseksi tarvitaan kuvaus algoritmin toimintaperiaatteesta ja kustannusmallista. Algoritmin yksittäisen iteraation syötteenä on b sivua perusrelaation monikkoja ja w syötevirran monikkoa. Tulosvirtaan tuotetaan liitosehdon täyttävät monikot. Yksittäisessä iteraatiossa: 1. Syötevirrasta talletetaan w monikon lohko tietovirtapuskuriin ja perusrelaatiosta ladataan b sivua kerrallaan levyltä levypuskuriin. 2. Tietovirtapuskurin w monikkoa tallennetaan liitosavaimen perusteella hajautustauluun H, ja monikoista ylläpidetään saapumisjärjestyksessä liikkuvaa ikkunaa, jonoa Q. Jonoon tallennetaan vain osoittimet hajautustaulun monikoihin. Jos jono on täynnä, poistetaan ensin vanhin w monikon lohko jonosta ja hajautustaulusta. 5 MeshJoin-algoritmista on myös ei-eksakti approksimaatioliitosversio, jota käsitellään lyhyesti luvun 4 lopussa.
11 8 Kuva 4: MeshJoin-algoritmin tietorakenteet ja arkkitehtuuri [PSV08]. 3. Lasketaan levypuskurin liitos hajautustaulun monikoihin ja palautetaan tulos. Sama voidaan esittää pseudokoodina (kuva 5). Oikeellisen toiminnan kannalta on tärkeintä, että liikkuvan ikkunan koko (w monikon lohkojen lukumäärä) on yhtä suuri kuin koko relaation lataamiseen tarvittavien iteraatioiden lukumäärä: jonon Q koko = (sivujen lukumäärä relaatiossa R)/b Tällöin perusrelaation b sivua ladataan levyltä vain kerran yhden ikkunan käsittelyä varten, ja levy-io:n kustannus jakautuu kaikkien liikkuvassa ikkunassa olevien monikkojen kesken. Kun levyä lukeva silmukka lukee seuraavan kerran samat b sivua, liikkuvassa ikkunassa ei enää ole yhtään samaa monikkoa kuin edellisellä kerralla. Algoritmin oikeellinen toiminta rajallisessa muistissa edellyttää myös, ettei yksittäisen iteraation aikana tietovirrasta saavu enempää monikkoja kuin kerralla luetaan (w kpl). Jos liitosoperaatio mallinnetaan jonoverkkona (luku 2), niin sen palvelunopeus µ = iteraation nopeus w. MeshJoin-algoritmin vaatima muistitila on rajattu, jos syötevirran nopeus λ ei ylitä algoritmin palvelunopeutta µ.
12 9 Kuva 5: MeshJoin-algoritmin pseudokoodi [PSV08]. Algoritmin sisäisiä parametreja b ja w muuttamalla algoritmia voidaan optimoida niin, että saadaan: 1. suurin palvelunopeus äärelliselle muistille M max tai 2. pienin tilantarve M annetulle palvelunopeudelle µ. Algoritmin kustannusmallissa [PSV08] esitetään palvelunopeuden µ, tilavaatimuksen M, puskurin koon b ja ikkunan kokoon w vaikutus toisiinsa. Kustannusmallissa analysoidaan tilavaatimus M ja iteraation aikavaatimus c loop komponenteittain. Yksinkertaistettuna: M = levypuskuri + tietovirtapuskuri + jono Q + hajautustaulu H c loop = b sivun lataamisen levy-i/o + jonon Q ylläpito + hajautustaulun H ylläpito + liitoksen laskeminen b sivun ja hajautustaulun välillä + tulosvirran generointi Palvelunopeuden µ, puskurin koon b ja ikkunan koon w välillä on yhteys: µ = w/c loop (1)
13 10 Kustannusmallin avulla voidaan kirjoittaa ikkunan koko funktiona w = f(m, b), ja eliminoida se palvelunopeuden yhtälöstä (1), jolloin saadaan µ = f(m, b)/c loop. Palvelunopeuden suurin arvo muuttujan b suhteen voidaan ratkaista nyt numeerisilla menetelmillä. Analyyttistä ratkaisua ei ole, koska b sivun lataamisen levy-i/o on riippuvainen muuttujasta b, mutta tätä riippuvuutta ei voida esittää kaavana, vaan levy-i/o voidaan ainoastaan mitata [NDW09]. MeshJoin-algoritmin kustannusmallia on testattu vertaamalla mallin mukaisia suorituskykyennusteita on mitattuun suorituskykyyn [PSV08, NDW09]. Kuvassa 6 vasemmalla on ennustettu ja mitattu palvelunopeus vakiomuistilla (20MB), levypuskurin kasvaessa lineaariseesti. Oikealla on ennustettu ja mitattu palvelunopeus eri muistimääärillä. Kuva 6: (a) Ennustettu ja mitattu palvelunopeus vakiomuistilla (20MB), levypuskurin kasvaessa lineaariseesti. (b) Ennustettu ja mitattu palvelunopeus eri muistimääärillä [NDW09]. 4 MeshJoin-algoritmin suorituskyky Kokeiden perusteella MeshJoin-algoritmin palvelunopeus on suurempi kuin INLalgoritmin sekä synteettisellä että reaalimaailmasta poimitulla aineistolla (kuva 7). Enimmillän maksimipalvelunopeudessa on satakertainen ero. Muistin määrän kasvaessa ero pienenee synteettisellä aineistolla. MeshJoin ja INL-algoritmit eivät myöskään ole erityisen herkkiä liitokseen osallistuvan relaation R jakauman vinoudelle.
14 Molempien palvelunopeus laskee tasaisesti liitosavainten jakauman keskittyessä yksittäisten arvojen ympärille [PSV08]. 11 Kuva 7: MeshJoin ja INL -algoritmien palvelunopeus eri muistimäärillä. (a) synteettinen aineisto. (b) reaalimaailmasta poimittu aineisto. [PSV08]. Suoraviivaisin, ja ehkä käytännöllisin tapa optimoida MeshJoin-algoritmin palvelunopeutta on lisätä muistin määrää, sillä palvelunopeus kasvaa M:n suhteen. Palvelunopeuden kasvu ei ole lineaarista, vaan hidastuu muistin lisääntyessä [PSV08] 6. Muisti on kuitenkin rajallinen resurssi ETL-prosessissa, minkä vuoksi on relevanttia maksimoida palvelunopeutta rajalliselle muistibudjetille M max. Tällöin kyseessä on rajoitettu optimointi-ongelma, jossa jokaiselle muistibudjetille M max etsitään optimaalinen levypuskurin koko b. Vastaavana optimointi-ongelmana voidaan minimoida muistinkäyttöä annetulle palvelunopeudelle µ min. Offline-optimoinnissa b ratkaistaan ennakoidulle syötevirralle ja online-optimoinnissa b mukautetaan ajonaikaiseen syötevirtaan. Optimoinnin haittapuolena on kompleksisuuden kasvaminen ja mahdolliset virhetulokset, ja jos järkevillä vakioparametreilla päästään lähelle optimiarvoja, niin optimointi ei välttämättä kannata [NDW09]. Optimointi-ongelma on yksikäsitteisesti ratkeava, eli palvelunopeudella on yksi maksimarvo muistibudjetilla M max (kuva 6a). Tämä johtuu siitä, että annetulla muistibudjetilla levypuskurin koko b ja tietovirtapuskurin koko w riippuvat käänteisesti toisistaan, mutta molempien kasvattaminen lisää palvelunopeutta. Jos b on pieni, niin koko relaation lukemiseen vaadittava levy-i/o kasvaa ja liitoksen laskeminen suuresta hajautustaulusta vie enemmän aikaa [PSV08]. Suurella b:n arvolla levypus- 6 kuvassa 6 x-akseli on logaritminen
15 12 kurin osuus muistista kasvaa liikkuvan ikkunan ja hajautustaulun kustannuksella. Tällöin palvelunopeus jossakin vaiheessa pienenee enemmän sisäänluettavan syötteen vähenemisen vuoksi kuin se kasvaa levy-i/o:n jakamisen seurauksena. Verrattaessa optimaalista levypuskurin kokoa vakioarvoon havaitaan kuitenkin, että optimoinnin hyöty on kovin vähäinen (kuva 8). Vakioarvona on käytetty optimiarvoa 20MB muistimäärällä, ja enimmillään palvelunopeuden ero optimiin jää alle kahteen prosenttiin. Kuva 8: Suorituskykyvertailu levypuskurin vakiokoolla ja optimikoolla eri muistimäärillä. [NDW09]. On mahdollista, että syötevirran nopeus λ ylittää MeshJoin-algoritmin palvelunopeuden µ. Tällöin paras toimintatapa voi olla pudottaa pois osa syötevirrasta, jolloin eksaktin liitoksen sijasta saadaan approksimaatioliitos. Pudotetut syötteet voidaan prosessoida myöhemmin eikä niitä menetetä pysyvästi. MeshJoin-algoritmilla suoritettavissa liitoksissa pudotettavien monikkojen valintaan on olemassa erilaisia menetelmiä. TopW -heuristiikassa [PSV08] säilytetään ne w monikkoa, jotka ovat suoritushetkellä esiintyneet useimmin liitoksissa. Monesta-moneen approksimaatioliitoksissa TopW-heuristiikan suorituskyky on lähellä optimia [PSV08].
16 5 Johtopäätökset 13 Tämän työn tarkoituksena on ollut selvittää tietovirta-etl:n ja MeshJoin-algoritmin suorituskykyominaisuuksia. Edellisten lukujen perusteella yritetään vastata seuraaviin kysymyksiin: Mitä suorituskykyetuja tietovirta-etl:stä on tosiaikaisessa tietovarastoinnissa? Entä haittoja? Verrattuna tihennettyyn ETL-prosessiin. Onko MeshJoin soveltuva algoritmi tietovirtojen ja relaatioiden välisen liitoksen laskemiseksi? Muutostietojen lähettämisellä tietovirtana ETL-jonoverkkoon pyritään minimoimaan viivettä operatiivisten järjestelmien ja tietovaraston välillä. Suorituskykyhaittana perinteiseen off-line ETL-prosessiin nähden on läpivirtauksen pieneneminen, koska saapuvia tietoja käsitellään pääsääntöisesti monikko kerrallaan eikä tietovarastoa voida sulkea pois käyttäjiltä. Myös tihennetyn on-line ETL-prosessin läpivirtaus on pienempi kuin mitä perinteisessä off-line -prosessissa on mahdollista. Tihennetyn ETL-prosessin ja tietovirta-etl:n suorituskykyeroa ei kuitenkaan voida arvioida, sillä mitään vertailuja ei ole saatavilla. Operatiivisten raporttien viiveen minimointi on kuitenkin kaikkein yksinkertaisinta, jos tietovarastoa ei käytetä lainkaan, vaan kyselyt ajetaan suoraan operatiivisissa tietokannoissa tai niiden päälle perustetuissa OLAP-tietokannoissa [MTK06]. Kaikenkaikkiaan parhaan ratkaisun löytäminen tosiaikaiseen raportointiin ei ole suoraviivaista, sillä eri tekijöitä kustannus/hyötyanalyyseissä on lukemattomia. Suorituskyky on näissä vain yksi ulottuvuus. Tosiaikaisen ETL-prosessin viitekehyksenä ja suorituskykymallina tietovirta-etl on edistynyt ja käyttökelpoinen. Tietovirtojen säätely (regulation) ja monikkojen pudottaminen (shedding) mahdollistavat palvelutason kontrollin (QoS) käyttäjille näkyvissä odotusajoissa. Tällaista kontrollia tihennetyssä ETL-prosessissa ei lähtökohtaisesti ole. MeshJoin on algoritmi liitoksen laskemiseksi nopean tietovirran ja hitaan perusrelaation välillä, joka on suunniteltu läpivirtauksen optimoimiseksi rajallisella muistimäärällä. Tähän tarkoitukseen se on tehokkaampi kuin vertailukohtana käytettu INL-algoritmi. Muissa olosuhteissa MeshJoin ei kuitenkaan ole INL-algoritmia parempi. Jos saapuva tietovirta on hitaampi kuin perusrelaation tai indeksin lukemisnopeus, niin
17 14 INL-algoritmin läpivirtaus on samaa luokkaa MeshJoin-algoritmin kanssa, ja myös odotusaika yksittäisen tietovirran monikon ja perusrelaation liitoksen laskemiselle on pienempi. Jos muistia on riittävästi, niin perusrelaatio kannattaa pitää muistissa eikä levynkäsittelyn optimoinnista ole hyötyä. Tällöin myös nopeusero saapuvan tietovirran ja perusrelaation käsittelyn välillä saattaa kääntyä. Jos liitosoperaatiolla ei ole tosiaikavaatimusta, niin perinteiset lohkoalgoritmit mahdollistavat suurimman läpivirtauksen. Lähteet Bir09 DeB78 BIRTE 2009, Workshop on Enabling Real-Time for Business Intelligence, August 24, Lyon, France, URL toronto.edu/db/birte09/index.html. [ ]. Denning, P. ja Buzen, J., The Operational Analysis of Queueing Network Models. ACM Computing Surveys (CSUR), 10,3(1978), sivut Inm05 Inmon, B., Building the Data Warehouse. Wiley, neljäs painos, KiR02 KVP05 MTK06 NDW09 Par09 Kimball, R. ja Ross, M., The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. Wiley, toinen painos, April Karakasidis, A., Vassiliadis, P. ja Pitoura, E., ETL queues for active data warehousing. Proceedings of the 2nd International Workshop on Information Quality in Information Systems. ACM New York, NY, USA, 2005, sivut Mundy, J., Thornthwaite, W. ja Kimball, R., The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley, Naeem, M. A., Dobbie, G. ja Weber, G., Comparing global optimization and default settings of stream-based joins. BIRTE 2009, Pareek, A., Addressing BI transactional flows in the real-time enterprise using GoldenGate TDM. BIRTE 2009, 2009.
18 15 PSV + 07 PSV08 SB08 Polyzotis, N., Skiadopoulos, S., Vassiliadis, P., Simitsis, A. ja Frantzell, N.-E., Supporting streaming updates in an active data warehouse. IC- DE, 2007, sivut Polytzotis, N., Skiadopoulos, S., Vassiliadis, P., Simitsis, A. ja Frantzell, N.-E., Meshing streaming updates with persistent data in an active data warehouse. IEEE Transactions On Knowledge And Data Engineering, 20,7(2008), sivut Santos, R. J. ja Bernardino, J., Real-time data warehouse loading methodology. IDEAS, 2008, sivut
arvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
LisätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotPro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen
LisätiedotTIETOVARASTOJEN SUUNNITTELU
IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU TIETOVARASTOJEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005) LUKU 8 JOUNI HUOTARI & ARI
LisätiedotTyön laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month
LisätiedotAika/Datum Month and year Kesäkuu 2012
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen
LisätiedotHelsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
LisätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
LisätiedotData, informaatio, tieto, ymmärtäminen ja viisaus
1 Data, informaatio, tieto, ymmärtäminen ja viisaus Miten järjestelmissä oleva informaatio muutetaan päätöksenteossa tarvittavaksi tiedoksi. Ari Hovi Ari Hovi Oy Ari Hovi Oy www.arihovi.com 2 Ari Hovi
LisätiedotTietovarastojen suunnittelu
Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Tietovarastojen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 8
LisätiedotMEMS-muisti relaatiotietokannoissa
MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo 28.2.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
LisätiedotTietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
Lisätiedot1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);
LisätiedotPN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
PN-puu Erno Härkönen Helsinki 24.10.2006 Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
LisätiedotYleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat
J. Virtamo 38.3143 Jonoteoria / Jonojärjestelmät 1 JONOJÄRJESTELMÄT Yleistä Jonojärjestelmät muodostavat keskeisen mallinnuksen välineen mm. tietoliikenne- ja tietokonejärjestelmien suorituskyvyn analysoinnissa.
LisätiedotHelsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi
Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot
LisätiedotJohnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.
Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,
LisätiedotMaailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,
LisätiedotKatsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin
INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta
Lisätiedot! #! %! & #!!!!! ()) +
! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets
LisätiedotArkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
LisätiedotDominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Dominointianalyysi Teppo Niinimäki Helsinki 10.5.2010 Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotRelaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto
Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A
LisätiedotTosiaikainen tietovarastointi ja liiketoimintatiedon hallinta
hyväksymispäivä arvosana arvostelija Tosiaikainen tietovarastointi ja liiketoimintatiedon hallinta Mika Kukkonen Helsinki 12.9.2010 Pro gradu -tutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
LisätiedotKoht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa
Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos
LisätiedotMS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016
LisätiedotTietovarastointiratkaisut massaräätälöinnin konfiguraattoreiden tukena. DI Mika Aho BI/DW Specialist 18.9.2008
Tietovarastointiratkaisut massaräätälöinnin konfiguraattoreiden tukena DI Mika Aho BI/DW Specialist 18.9.2008 Esityksen sisältö 2 Mitä ovat (myynnin) konfiguraattorit? Tiedonhallinta massaräätälöinnissä
LisätiedotJoonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen
Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
LisätiedotMammutti vai elefantti?
Mammutti vai elefantti? Tänään tarjolla Arkkitehtuuri - baseline Esittelyssä Elefantti ylhäältä ja alhaalta teoriaa ja kokemuksia Elefantti vs. Mammutti Kuka vie peliä ja millä säännöillä Meidän esimerkki
LisätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
LisätiedotData Warehouse kuulumisia
1 Data Warehouse kuulumisia Ari Hovi www.arihovi.com Ari Hovi Oy www.arihovi.com 2 Ari Hovi Oy:n missiona on edistää tiedonhallintaa tarjoamalla huippukoulutusta ja konsultointia kokeneet käytännön konsultit
LisätiedotLuonnontieteiden popularisointi ja sen ideologia
Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro
Lisätiedotjotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
Lisätiedot(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
LisätiedotYTHS Raportointijärjestelmähankkeen
1 (11) YTHS Raportointijärjestelmähankkeen tarvemäärittely Periaatetason arkkitehtuurin ja ratkaisun kartoitus 2 (11) Sisällysluettelo 1. ALUSTUS... 3 2. JÄRJESTELMÄARKKITEHTUURI... 3 2.1. ETL PROSESSI...
LisätiedotLaskennallinen yhteiskuntatiede
Laskennallinen yhteiskuntatiede Matti Nelimarkka Helsinki 5.5.2011 LuK tutkielma HELSINGIN YLIOPISTO Tietojenkasittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Lisätiedotpitkittäisaineistoissa
Puuttuvan tiedon ongelma p. 1/18 Puuttuvan tiedon ongelma pitkittäisaineistoissa Tapio Nummi tan@uta.fi Matematiikan, tilastotieteen ja filosofian laitos Tampereen yliopisto mtl.uta.fi/tilasto/sekamallit/puupitkit.pdf
LisätiedotTällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia
Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,
LisätiedotArkkitehtuurinen reflektio
Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
LisätiedotHealth Intelligence - Parempaa informaatiota terveydenhuollon päätöksentekoon. Terveydenhuollon ATK päivät 24.-25.5.2011 Sibelius Talo, Lahti
Health Intelligence - Parempaa informaatiota terveydenhuollon päätöksentekoon Terveydenhuollon ATK päivät 24.-25.5.2011 Sibelius Talo, Lahti Innofactor Oyj: Suomen johtava Microsoft ratkaisutoimittaja
LisätiedotLuku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
LisätiedotAlgoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
LisätiedotVuonohjaus: ikkunamekanismi
J. Virtamo 38.3141 Teleliikenneteoria / Ikkunointiin perustuva vuonohjaus 1 Vuonohjaus: ikkunamekanismi Kuittaamattomina liikkeellä olevien segmenttien (data unit) lkm W (ikkuna) Lähetyslupien kokonaismäärä
LisätiedotTietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
LisätiedotOpettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija
Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä
LisätiedotJ. Virtamo Jonoteoria / Prioriteettijonot 1
J. Virtamo 38.3143 Jonoteoria / Prioriteettijonot 1 Prioriteettijonot Tarkastellaan M/G/1-jonojärjestelmää, jossa asiakkaat on jaettu K:hon prioriteettiluokkaan, k = 1,..., K: - luokalla 1 on korkein prioriteetti
LisätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
LisätiedotTietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen
Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen
LisätiedotLittlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi
J. Virtamo 38.3143 Jonoteoria / Littlen tulos 1 Littlen tulos Littlen lause Littlen tuloksena tai Littlen lauseena tunnettu tulos on hyvin yksinkertainen relaatio järjestelmään tulevan asiakasvirran, keskimäärin
LisätiedotKonsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari
Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä
LisätiedotHallintomallit Suomen valtionhallinnon tietohallintostrategioissa
Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa
LisätiedotSeminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen
Seminaari: Keskusmuistitietokannat Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Sisältö Johdanto Esiteltävien menetelmien taustoja Hajautetun tietokannan spekuloiva samanaikaisuuden
LisätiedotJonojen matematiikkaa
Lectio praecursoria Jonojen matematiikkaa Samuli Aalto luento.ppt 1 Sisältö Johdanto Joukkopalveltu jono (batch service queue) Nestevarastomalli (fluid flow storage model) 2 Reaalimaailman ilmiö... ÿþýüûr.u.p.t.
LisätiedotKimppu-suodatus-menetelmä
Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.
Lisätiedot(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
LisätiedotTIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI
TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI TIETOVARASTOARKKITEHTUURI Tietovarasto- ja BI-ratkaisu Raportit, tilastot, kyselyt, analysointi Lähtöjärjestelmät Poiminta: siirtotiedostojen poiminta ETLprosessien
LisätiedotD B. Tietokannan hallinta kertaus
TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia
LisätiedotTietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä
hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto
LisätiedotPoweria analytiikkaan
IBM 18.3.2014 Poweria analytiikkaan Informaatiotalous: mikä on muuttunut Keskiajalta jälkiteolliseen yhteiskuntaan Maatalous: maan omistus Teollinen: tuotantokapasiteetin omistus Jälkiteollinen: kyky hyödyntää
LisätiedotEsimerkki: Tietoliikennekytkin
Esimerkki: Tietoliikennekytkin Tämä Mathematica - notebook sisältää luennolla 2A (2..26) käsitellyn esimerkin laskut. Esimerkin kuvailu Tarkastellaan yksinkertaista mallia tietoliikennekytkimelle. Kytkimeen
LisätiedotLineaarisen kokonaislukuoptimointitehtävän ratkaiseminen
Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen Jos sallittuja kokonaislukuratkaisuja ei ole kovin paljon, ne voidaan käydä kaikki läpi yksitellen Käytännössä tämä ei kuitenkaan ole yleensä mahdollista
LisätiedotAlgoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
LisätiedotDemo 1: Simplex-menetelmä
MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x
LisätiedotLiitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot
Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:
LisätiedotAlgoritmit 1. Luento 2 Ke Timo Männikkö
Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät
LisätiedotRyhmäfaktorianalyysi neurotiedesovelluksissa (Valmiin työn esittely) Sami Remes Ohjaaja: TkT Arto Klami Valvoja: Prof.
Ryhmäfaktorianalyysi neurotiedesovelluksissa (Valmiin työn esittely) Sami Remes 11.06.2012 Ohjaaja: TkT Arto Klami Valvoja: Prof. Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla
LisätiedotTIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
Lisätiedot29.11.2015. Työasema- ja palvelinarkkitehtuurit IC130301. Storage. Storage - trendit. 5 opintopistettä. Petri Nuutinen
Työasema- ja palvelinarkkitehtuurit IC130301 5 opintopistettä Petri Nuutinen 5 opintopistettä Petri Nuutinen Storage Storage hallinnassa tärkeää saatavuus laajentaminen turvaaminen optimointi Storagen
LisätiedotVÄLIMUISTITIETOISET PUSKURIT. Markus Montonen
VÄLIMUISTITIETOISET PUSKURIT Markus Montonen Sisällys 1. Johdanto 2. L1-välimuistin puskuroinnin ongelma ja ratkaisuehdotus 3. L1-välimuistin puskurioperaation kokeellinen tutkiminen 4. L2-välimuistin
Lisätiedot4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä
JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä
LisätiedotMS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi
MS-A050 Todennäköisyyslaskennan ja tilastotieteen peruskurssi B Satunnaismuuttujat ja todennäköisyysjakaumat Lasse Leskelä Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto
LisätiedotOhjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1
Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri 2 28.11.2008 Harri Laine 1 Ohjelmistoarkkitehtuuri Rajapinta UML:ssä piirteiden (attribuuttien ja operaatioiden) kokoelma, josta ei voi suoraan luoda ilmentymiä
LisätiedotTIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt
LisätiedotPower BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto
Tech Conference 28.-29.5.2015 Power BI Pekka.Korhonen@sovelto.fi #TechConfFI Johdanto 2 1 Microsoft BI komponentit Azure Machine Learning Stream Analytics HDInsight DocumentDB Blob/table storage VM SQL
LisätiedotGraafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria
Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:
LisätiedotMalliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Pasi Lehtimäki Helsinki 10.9.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
LisätiedotJ. Virtamo Jonoteoria / Jonoverkot 1
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 1 JONOVERKOT Useasta jonosta muodostuva verkko Queueing network Network of queues Esimerkiksi Asiakkaita siirtyy postin, pankin, kaupan jonoista toiseen Datapaketteja
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotAlgoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
Lisätiedot4 Tehokkuus ja algoritmien suunnittelu
TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin
LisätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotD B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää
Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta
LisätiedotLiitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
LisätiedotABHELSINKI UNIVERSITY OF TECHNOLOGY
Satunnaismuuttujat ja todennäköisyysjakaumat Mitä tänään? Jos satunnaisilmiötä halutaan mallintaa matemaattisesti, on ilmiön tulosvaihtoehdot kuvattava numeerisessa muodossa. Tämä tapahtuu liittämällä
LisätiedotKanta ja dimensio 1 / 23
1 / 23 Kuten ollaan huomattu, saman aliavaruuden voi virittää eri määrä vektoreita. Seuraavaksi määritellään mahdollisimman pieni vektorijoukko, joka virittää aliavaruuden. Jokainen aliavaruuden alkio
LisätiedotYhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt
Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.
LisätiedotDemonstraatiot Luento 7 D7/1 D7/2 D7/3
TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-8.45 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 7 7.2.2008 D7/ Tarkastellaan piirikytkentäisen järjestelmän n-kanavaista
LisätiedotKaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely)
Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely) Juho Roponen 10.06.2013 Ohjaaja: Esa Lappi Valvoja: Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.
LisätiedotTehtävä 2: Tietoliikenneprotokolla
Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli
LisätiedotLiikenneteorian tehtävä
J. Virtamo 38.3141Teleliikenneteoria / Johdanto 1 Liikenneteorian tehtävä Määrää kolmen eri tekijän väliset riippuvuudet palvelun laatu järjestelmä liikenne Millainen käyttäjän kokema palvelun laatu on
Lisätiedot1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät
1.1 Käsitteet ja termit 1.2 Historia Luku 1 Johdanto ITKA204 kevät 2016 1 Kurssin sisältö - tarvittavat käsitteet - historiaa 1. johdanto 2. analyysi ja arkkitehtuuri - DBMS:n sovellusarkkitehtuuri - käsitteellinen
Lisätiedotja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2
Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,
LisätiedotÄlykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach
Älykäs datan tuonti kuljetusongelman optimoinnissa Antoine Kalmbach ane@iki.fi Sisällys Taustaa Kuljetusongelma Datan tuominen vaikeaa Teoriaa Tiedostojen väliset linkit Mikä sarake on mikäkin? Ratkaisutoteutus
LisätiedotJ. Virtamo Jonoteoria / Prioriteettijonot 1
J. Virtamo 38.143 Jonoteoria / Prioriteettijonot 1 Prioriteettijonot TarkastellaanM/G/1-jonojärjestelmää, jossaasiakkaaton jaettu K:hon prioriteettiluokkaan, k =1,...,K: - luokalla 1 on korkein prioriteetti
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä
Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri
LisätiedotTestiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt
Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus:
LisätiedotPaikkatiedon käsittely 6. Kyselyn käsittely
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 6. Kyselyn käsittely Antti Leino antti.leino@cs.helsinki.fi 1.2.2007 Tietojenkäsittelytieteen laitos Kysely indeksin
Lisätiedot