Tietovirtojen lataaminen tosiaikaiseen tietovarastoon

Koko: px
Aloita esitys sivulta:

Download "Tietovirtojen lataaminen tosiaikaiseen tietovarastoon"

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.

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ätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Pro 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 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ätiedot

TIETOVARASTOJEN SUUNNITTELU

TIETOVARASTOJEN 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ätiedot

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Työ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ätiedot

Aika/Datum Month and year Kesäkuu 2012

Aika/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ätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin 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ätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet 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ätiedot

Data, informaatio, tieto, ymmärtäminen ja viisaus

Data, 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ätiedot

Tietovarastojen suunnittelu

Tietovarastojen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Tietovarastojen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 8

Lisätiedot

MEMS-muisti relaatiotietokannoissa

MEMS-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ätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet 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ätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. 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ätiedot

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PN-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ätiedot

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

Yleistä. 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ätiedot

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Helsingin 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ätiedot

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Johnson, 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ätiedot

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Maailman 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ätiedot

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Katsaus 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ätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. 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ätiedot

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Dominointianalyysi. 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ätiedot

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Relaatiotietokantojen 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ätiedot

Tosiaikainen tietovarastointi ja liiketoimintatiedon hallinta

Tosiaikainen 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ätiedot

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos

Lisätiedot

MS-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ä. 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ätiedot

Tietovarastointiratkaisut 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 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ätiedot

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Joonas 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ätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A 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ätiedot

Mammutti vai elefantti?

Mammutti 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ätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen 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ätiedot

Data Warehouse kuulumisia

Data 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ätiedot

Luonnontieteiden popularisointi ja sen ideologia

Luonnontieteiden 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ätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin 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ätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 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

YTHS Raportointijärjestelmähankkeen

YTHS 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ätiedot

Laskennallinen yhteiskuntatiede

Laskennallinen yhteiskuntatiede Laskennallinen yhteiskuntatiede Matti Nelimarkka Helsinki 5.5.2011 LuK tutkielma HELSINGIN YLIOPISTO Tietojenkasittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

pitkittäisaineistoissa

pitkittä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ätiedot

Tä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 Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

Arkkitehtuurinen reflektio

Arkkitehtuurinen 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ätiedot

Health 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 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ätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 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ätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 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ätiedot

Vuonohjaus: ikkunamekanismi

Vuonohjaus: 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ätiedot

Tietokanta (database)

Tietokanta (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ätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana 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ätiedot

J. Virtamo Jonoteoria / Prioriteettijonot 1

J. 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ätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 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ätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojä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ätiedot

Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi

Littlen 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ätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma 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ätiedot

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa

Lisätiedot

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Seminaari: 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ätiedot

Jonojen matematiikkaa

Jonojen 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ätiedot

Kimppu-suodatus-menetelmä

Kimppu-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:

(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ätiedot

TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI

TIETOMALLI 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ätiedot

D B. Tietokannan hallinta kertaus

D 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ätiedot

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan 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ätiedot

Poweria analytiikkaan

Poweria 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ätiedot

Esimerkki: Tietoliikennekytkin

Esimerkki: 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ätiedot

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Lineaarisen 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ätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 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ätiedot

Demo 1: Simplex-menetelmä

Demo 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ätiedot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Liitosesimerkki. 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ätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 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ätiedot

Ryhmäfaktorianalyysi neurotiedesovelluksissa (Valmiin työn esittely) Sami Remes Ohjaaja: TkT Arto Klami Valvoja: Prof.

Ryhmä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ätiedot

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - 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ätiedot

29.11.2015. Työasema- ja palvelinarkkitehtuurit IC130301. Storage. Storage - trendit. 5 opintopistettä. Petri Nuutinen

29.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ätiedot

VÄLIMUISTITIETOISET PUSKURIT. Markus Montonen

VÄ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ätiedot

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4. 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ätiedot

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MS-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ätiedot

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen 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ätiedot

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - 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ätiedot

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto

Power 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ätiedot

Graafit 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. 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ätiedot

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Malliperustainen 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ätiedot

J. Virtamo Jonoteoria / Jonoverkot 1

J. 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ätiedot

Sisä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. 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ätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 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ätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 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ätiedot

Action Request System

Action 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ätiedot

811120P Diskreetit rakenteet

811120P 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ätiedot

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

D 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ätiedot

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Liitosesimerkki 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ätiedot

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI 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ätiedot

Kanta ja dimensio 1 / 23

Kanta 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ätiedot

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Yhtä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ätiedot

Demonstraatiot Luento 7 D7/1 D7/2 D7/3

Demonstraatiot 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ätiedot

Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely)

Kaksintaistelun 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ätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtä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ätiedot

Liikenneteorian tehtävä

Liikenneteorian 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ätiedot

1.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 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ätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 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 Ä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ätiedot

J. Virtamo Jonoteoria / Prioriteettijonot 1

J. 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ätiedot

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Jä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ätiedot

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Testiautomaatio 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ätiedot

Paikkatiedon käsittely 6. Kyselyn käsittely

Paikkatiedon 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