Tosiaikatietokannat. Anu Kontio. Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos
|
|
- Ida Kinnunen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 Tosiaikatietokannat Anu Kontio Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 SISÄLLYS 1 JOHDANTO TOSIAIKATIETOKANNAN OMINAISUUDET DATAN OMINAISUUDET DATAN KÄSITTELY KÄYTTÖKOHTEITA TRANSAKTIOT JA SAMANAIKAISUUDEN HALLINTA TRANSAKTIOIDEN AIKAVAATIMUKSET TRANSAKTIOIDEN ENNUSTETTAVUUS TRANSAKTIOIDEN PRIORITEETTI AIKATAULUTUS JA SAMANAIKAISUUDEN HALLINTA TUTKIMUS YHTEENVETO...10 LÄHTEET...11
3 1 Johdanto Perinteiseen tietokantamalliin kuuluu kyselyjä, transaktioita, tiedon tallennusta ja hallintaa ja jonkinlaista samanaikaisuudenhallintaa. Perinteinen tietokanta ei ota lainkaan kantaa aikarajoitteisiin, joita tietynlaisissa sovelluksissa kuitenkin kaivattaisiin. Esimerkiksi lennonjohdon sovelluksissa tai tehtaan liukuhihnan hallinnassa tietyt tiedot ovat voimassa vain lyhyen aikaa. Tällaisissa sovelluksissa on hyvin tärkeää, että tiedot kannassa ovat jatkuvasti ajantasalla ja nopeasti saatavilla. Tarvitaan nopeita transaktioita, joilla on suoritukseen liittyviä aikarajoitteita, niiden käsittelyyn soveltuvia protokollia, sekä datan voimassaolomääreitä ja -rajoitteita. Tähän on ratkaisuna tosiaikatietokanta. Tosiaikatietokantojen transaktioille on määriteltävissä valmistumisen aikarajoja, suorituksen alkamisaikoja ja periodipituuksia [SSH99]. Näiden lisäksi myös datalle on määritelty aikasemantiikka (time semantics, [SSH99]), joka määrää mm. datan voimassaoloajan pituuden (eli ajanjakson, jonka aikana data on päivitettävä). Tosiaikatietokannassa datan täytyy olla sekä loogisesti että ajallisesti yhdenmukaista [Ram93]. Tosiaikatietokantoja käytetään esimerkiksi sellaisissa sovelluksissa, jotka tallentavat dataa ympäristöstä sensoreiden avulla. Silloin on tärkeää, että kannassa oleva data vastaa mahdollisimman tarkasti ympäristön tilaa. Tosiaikatietokantasysteemin laatua voidaan arvioida transaktioiden suoritusten perusteella: kuinka usein transaktiot myöhästyvät (eli eivät tule suoritetuksi ajoissa), keskiarvoinen myöhästymisen määrä, myöhästymisistä aiheutuneet kulut, datan oikeellisuus ja datan ajallinen oikeellisuus [KaG95]. Tosiaikatietokantasysteemeissä on erilaisia tapoja käsitellä myöhästyviä transaktioita. Näitä käsitellään lisää luvussa 3. Tässä seminaarityössä esitellään tosiaikatietokantojen peruspiirteitä, käyttökohteita, ja eroja perinteisiin tietokantoihin (luku 2). Lisäksi esitellään transaktioiden käsittelyä ja samanaikaisuuden hallintaa tosiaikatietokannoissa (luku 3). Luvussa 4 esitellään vielä aiheeseen liittyviä tutkimuskohteita. 1
4 2 Tosiaikatietokannan ominaisuudet Tyypillisesti tosiaikajärjestelmät koostuvat kontrolloivasta järjestelmästä ja kontrolloidusta järjestelmästä [Ram93]. Kontrolloidulla järjestelmällä tarkoitetaan esimerkiksi ympäristöä, jota kontrolloiva järjestelmä valvoo. Ympäristöä voidaan havainnoida sensoreiden avulla. Sensoreista saatavan tiedon avulla järjestelmä tekee erilaisia toimintoja, esimerkiksi säätää lämpötilaa. Siksi on tärkeää, että ympäristöstä saadut tiedot ovat erittäin ajantasaisia. Sensoreista saadusta datasta voidaan myös johtaa muuta dataa. Datan aikarajoitteiden avulla voidaan varmistua datan oikeellisuudesta ja ajantasaisuudesta. Nopeasti muuttuvassa ympäristössä datan voimassaoloaika on lyhyempi, kuin hitaammin muuttuvassa ympäristössä. Datan aikarajoitteiden lisäksi myös datan käsittelyllä ja transaktioilla on aikarajoitteita. Transaktioita käsitellään luvussa Datan ominaisuudet Dataobjektit voidaan luokitella tosiaikaisiksi tai ei-tosiaikaisiksi objekteiksi [IDS08]. Ei-tosiaikainen data on tavallista dataa, jota on perinteisissä tietokannoissa. Tosiaikaisella datalla on aikarajoite, jonka jälkeen data ei ole enää käytettävissä. Datan aikarajoitteista käytetään myös nimitystä ajallinen yhdenmukaisuus (temporal consistency) [Ram93]. Se koostuu kahdesta osasta: absoluuttinen yhdenmukaisuus (absolute consistency), joka viittaa tietokannan tilaa suhteessa ympäristön tilaan, ja suhteellinen yhdenmukaisuus (relative consistency), joka viittaa sen datan oikeellisuuteen, josta johdetaan muuta dataa. Tämä voidaan ilmaista formaalimmin muodossa d = (value, avi, timestamp), jossa d tarkoittaa tietokannan tietuetta, value tarkoittaa d:n senhetkistä arvoa, timestamp on aikaleima, jolloin d:n senhetkinen arvo on mitattu ja tallennettu. avi puolestaan on absolute validity interval, eli se aika, jonka d on voimassa [Ram93]. Tämän lisäksi määritellään joukko relative consistency set [Ram93], R, joka koostuu useasta sellaisesta tietueesta, joista johdetaan uutta dataa. Jokaiselle R:lle on olemassa 2
5 suhteellinen aikaväli (relative validity interval), jolloin R:n alkioiden ajatellaan olevan valideja. Tätä merkitään R rvi. Oletetaan, että d kuuluu R:ään. Silloin d on validi jos ja vain jos [Ram93]: 1) d value on loogisesti oikeellinen (täyttää kaikki eheysvaatimukset) 2) d on ajallisesti yhdenmukainen, eli absoluuttinen yhdenmukaisuus: (current_time d timestamp ) d avi. suhteellinen yhdenmukaisuus: d R, d timestamp d timestamp R rvi. 2.2 Datan käsittely Kuten perinteisissä tietokannoissa, myös tosiaikatietokannoissa tiedon käsittelytapahtumat ovat joko säännöllisiä (periodic), epäsäännöllisiä (aperiodic) tai satunnaisia (sporadic) [IDS08]. Säännölliset tapahtumat takaavat datan ajallisen yhdenmukaisuuden päivittämällä säännöllisin väliajoin esimerkiksi sensoreista saatavaa dataa, jolla on jokin tietty voimassaoloaika. Tällöin oikeellisuus saadaan suorittamalla säännöllinen päivitys datan voimassaoloajan mukaan. Päivitys koskee datan value- ja timestamp-kenttiä [IDS08]. Satunnaiset tapahtumat liittyvät usein johdetun datan laskemiseen sensoreilta saadusta datasta. Nämä tapahtumat ovat aina kirjoittavia, ja niilläkin on aikarajoitteina määräaika ja periodisuus [IDS08]. Epäsäännöllisiin tapahtumiin kuuluvat loput datan käsittelyyn liittyvät tapahtumat [IDS08], kuten esimerkiksi käyttäjältä tulevat tapahtumakäskyt. Nämä tapahtumat voivat lukea ja kirjoittaa ei-tosiaikaisia dataobjekteja ja ainoastaan lukea tosiaikaisia dataobjekteja. 2.3 Käyttökohteita Nykypäivänä on olemassa paljon erilaisia järjestelmiä, jotka käyttävät aikarajoitteista dataa. Esimerkkeinä voidaan mainita pörssijärjestelmät, teollisuuden automatisoidut tuotantolinjat sekä lentokone- ja lennonjohtojärjestelmät (myös tutkat) [Ram93]. Nykyajan kännyköissäkin käytettäneen GPS-paikantimen kautta jonkinlaista tosiaikatietokantajärjestelmää. Näitä järjestelmiä yhdistävä tekijä on se, että kaikkiin liittyy jonkinlainen ympäristö, jota tarkkaillaan sensoreiden avulla ja ohjataan sensoreilta 3
6 saadun datan perusteella [LaK01, sivu 17]. Esimerkiksi lentokoneessa on lukuisia sensoreita [IDS08], joiden avulla ohjaamossa tiedetään esimerkiksi suunta, sijainti, korkeus ja nopeus. Näiden lisäksi tietokannassa olisi koneen numero ja määränpää, joita ei tarvitse jatkuvasti päivittää. Sensoreista saadun datan perusteella lasketaan koneen reitti (sijainnin ja korkeuden mukaan) ja lentorata (sijannin ja suunnan mukaan). Järjestelmään kuuluu lisäksi menetelmät tietojen hakemiseen ja päivittämiseen. Toinen esimerkki käyttökohteista on tehtaan liukuhihnan kohteentunnistus [Ram93]. Kohteen kulkiessa liukuhihnalla se kuvataan kameralla, sen piirteet määritetään, verrataan niitä tietokannassa oleviin tietoihin, kohde tunnistetaan tietojen perusteella, ja ohjataan oikeaan suuntaan. Tämän kaiken tulee tapahtua tietenkin hyvin nopeasti, sillä liukuhihna liikkuu koko ajan. 3 Transaktiot ja samanaikaisuuden hallinta Perinteisistä tietokannoista poiketen tosiaikatietokannoissa tarvitaan myös aikarajoitteisia transaktioita [LaK01, sivut 3-4]. Tällä tarkoitetaan, että transaktioiden suoritusaika on rajoitettu ja että niillä on tiettyjä määräaikoja, joihin mennessä transaktion tulee olla valmis. Transaktioiden käsittelyyn tarvitaan erilaisia protokollia, joiden avulla kriittisimmät transaktiot tulevat suoritettua ensin, ja jotka huolehtivat myös määräajoista. Transaktiot voidaan jakaa kolmeen luokkaan [Ram93]: write-only, jotka vain kirjoittavat tietoa kantaan, read-only, jotka vain lukevat tietoa kannasta, ja update, jotka päivittävät kannassa olevia tietoja (luku ja kirjoitus). Koska transaktiot saattavat tapahtua yhtäaikaisesti (esimerkiksi toinen transaktio haluaa päivittää tietoa, jota toinen transaktio haluaa samalla lukea) ja tietokannan eheys täytyy säilyttää, tarvitaan myös samanaikaisuuden hallintaa. 3.1 Transaktioiden aikavaatimukset Transaktiot voidaan jakaa luokkiin myös määräaikojen perusteella [Ram93]. Oikeastaan tarkoitetaan sitä, miten järjestelmä käyttäytyy, kun määräaika ohitetaan [LaK01, sivu 4]. Tällöin puhutaan pehmeistä (soft), lujista (firm) ja kovista (hard) trans- 4
7 aktioista. Transaktion arvo suhteessa sen päättymisaikaan voidaan esittää funktiona (kuva 1) [LaK01, sivu 4]. Pehmeissä transaktioissa arvo pienenee määräajan ohituttua kohti nollaa. Lujissa transaktioissa arvo nollautuu kun määräaika menee umpeen. Kovissa transaktioissa määräajan umpeuduttua arvo muuttuu (jopa äärettömän) negatiiviseksi, mikä saattaa johtaa katastrofaalisiin seurauksiin. Esimerkki määräajasta voisi olla reaktorin lämpötilan säätely. Jos lämpötila on yli 1000 astetta, lisää jäähdytettä reaktoriin 10 sekunnin kuluessa, eli toiminnon aikaraja on 10 sekuntia [Ram93]. Esimerkiksi jos transaktio on jaettu alitoimintoihin, joille on määritelty määräajat, ja jokin alitoiminto ylittää määräaikansa, saattaa koko transaktio silti suoriutua loppuun oman määräaikansa puitteissa. Silloin on kyseessä pehmeä määräaika [Ram93]. Liukuhihnaesimerkissä on luja määräaika, sillä tieto on kerättävä kohteesta ennen kuin se poistuu kameran näkökentästä. Kuva 1: Transaktioiden aikarajat [LaK01, sivu 4] Määräaikojen lisäksi transaktioihin liittyy periodisia aikarajoja. Datan voimassaoloaika (avi) vaikuttaa sitä päivittävän säännöllisen transaktion periodin pituuteen. Transaktion sanotaan olevan oikeellinen, jos sen suoritus on alkanut ja päättynyt periodin sisällä [Ram93]. 5
8 3.2 Transaktioiden ennustettavuus Transaktioiden hallinnassa avaintekijänä on ennustettavuus (predictability) [Ram93]. Ennustettavuudella tarkoitetaan aavistusta siitä, suoriutuuko transaktio loppuun ennen sen määräaikaa. Ennustaminen on mahdollista vain, jos tiedetään transaktion huonoin mahdollinen suoritusaika (worst-case execution time) ja transaktion tarvitsemat datat ja resurssit. Hyvällä ennustettavuudella voidaan säästää resursseja, sillä jos tiedetään, ettei transaktio ehdi suoriutua ennen määräaikaansa, järjestelmä voi keskeyttää tai hylätä sen. Kuitenkaan ennustettu huonoin suoritusaika ei saa kovin radikaalisti erota varsinaisesta (todellisesta) suoritusajasta, sillä muuten transaktiot, jotka saattaisivat hyvinkin suoriutua ajoissa, saattavat tulla hylätyiksi. Transaktion suoritus riippuu sen tarvitsemista data-alkioista ja niiden saatavuudesta. Transaktio voi joutua esimerkiksi odottamaan lukkojen vapautumista tai muita resursseja. Siksi ennustaminen voi olla hankalaa. Tosiaikatietokantatransaktioissa ei suositella käytettäväksi äärettömiä silmukoita tai rekursiivisia ja dynaamisesti konstruoituja tietorakenteita [Ram93]. Myös peruutukset huonontavat ennustettavuutta. Jos transaktio keskeytetään ja käynnistetään uudelleen useita kertoja, sen kokonaissuoritusaika kasvaa huomattavasti tai keskeytyksiä voi tulla lukematon määrä. Kaikki tämä syö resursseja muilta operaatioilta. Tässäkin olisi hyvä, jos tiedettäisiin, tuleeko transaktio suoritetuksi kokonaan ajoissa, ja jos ei, voitaisiin se jättää kokonaan aloittamatta ja näin vähentää keskeytyksien määrää [Ram93]. 3.3 Transaktioiden prioriteetti Tosiaikatietokantasysteemissä transaktioita hallitaan aikataulutuksella (skedulointi, scheduling) [KaG95]. Aikataulut tulisi laatia transaktion kriittisyyden ja määräaikojen perusteella. Tämä saattaa tarkoittaa luopumista reiluudesta ja parhaasta järjestelmän suoritustehosta. Transaktion prioriteetti voidaan laskea useasta attribuutista [KaG95]. Ensimmäiset ovat kriittisyys (criticalness) ja määräaika. Mitä kriittisempi transaktio ja mitä aikaisempi sen määräaika, sitä korkeampi prioriteetti. Tekemättömän työn 6
9 määrä vaikuttaa siten, että mitä vähemmän transaktiolla on suoritettavia osia jäljellä, sen prioriteettia voidaan nostaa. Näin saadaan suoritus nopeammin päätökseen ja transaktion vaatimat lukot vapautettua. Jos transaktioon on käytetty jo paljon laskentaa, voidaan sen prioriteettia nostaa, jottei sen suoritusta tarvitse peruuttaa. On tuhlausta peruuttaa jo paljon resursseja vaatinut transaktio. Transaktion ikä tarkoittaa sen saapumisaikaa. Aiemmin saapuneen transaktion prioriteetti tulisi olla korkeampi kuin myöhemmin saapuneen. Transaktion löysyys (slackness) tarkoittaa sitä, kuinka paljon transaktion suoritusta voidaan lykätä niin, että se kuitenkin tulee valmiiksi määräaikansa puitteissa. Mitä tiukempi (eli vähemmän löysä) transaktio, sitä korkeampi prioriteetti sille tulee antaa. Jos prioriteetin laskenta perustetaan löysyyteen ja tekemättömän työn määrään, tarvitaan hyvät ennusteet transaktion suoritusajalle [KaG95]. 3.4 Aikataulutus ja samanaikaisuuden hallinta Aikataulutukseen on erilaisia menetelmiä. Osa jakaa prioriteettiä edellisessä osassa kerrotulla periaatteella, osa hieman eri tavoin. Tärkein piirre tosiaikatietokantajärjestelmän skeduloinnissa on kuitenkin aikatietoiset protokollat (time-cognizant protocols), jotka ovat muunnoksia perinteisissä tietokannoissa käytetyistä transaktion ja samanaikaisuuden hallintaprotokollista. Aikataulutuksessa käytetään esimerkiksi earliest-deadline-first (EDF) tai rate-monotonic (RT) menetelmiä. Ne toimivat optimaalisesti kovien (ja säännöllisten) transaktioiden suhteen [Ram93]. Epäsäännöllisten ja satunnaisten transaktioiden käsittely on hieman hankalampaa. Samanaikaisuuden hallinta tietokannoissa jaetaan lukitseviin ja optimistisiin menetelmiin. Yleisin lukitseva menetelmä on kaksivaiheinen lukitus (two-phase locking, 2PL). Siinä lukon saanut transaktio pitää lukkoa, kunnes sitoutuu, vaikka toinen, korkeampiprioriteettinen transaktio tarvitsisi lukon. Tulisi kuitenkin ottaa huomioon konfliktoivien transaktioiden ominaisuudet ja toimia sen mukaisesti. Tähän on muutamia vaihtoehtoja: 7
10 Jos lukkoa odottavalla transaktiolla on korkeampi prioriteetti kuin lukkoa pitävällä, syntyy tilanne, jota kutsutaan käänteiseksi prioriteetiksi (priority inversion) [Ram93]. Yksi tapa tilanteen purkamiseen on periyttää lukkoa pitävälle transaktiolle odottavan transaktion prioriteetti, jolloin sen suoritus jatkuu ja odottaja ei joudu odottamaan loputtomiin. Prioriteetin perintä (priority inheritance) vaikuttaisi lyhentävän transaktioiden odottamisaikoja [Ram93]. Sekään ei kuitenkaan aina takaa optimaalista toimintaa. Jos lukkoa pitävällä transaktiolla on pienempi prioriteetti, keskeytetään se. Muussa tapauksessa lukkoa odottava saa jäädä odottamaan. Jos korkeampiprioriteettinen transaktio aiheuttaa aina matalampiprioriteettisen transaktion keskeytyksen, tiedon eheys ei välttämättä enää toteudu [Ram93]. Jos lukkoa pitävällä transaktiolla on määräaika lähempänä, lukkoa odottava joutuu odottamaan huolimatta sen prioriteetista. Paras menetelmä aikatauluttaa transaktioita tosiaikatietokannassa on yhdistelmä näitä kolmea. Jos lukkoa pitävä, matalaprioriteettinen transaktio on lähempänä määräaikaansa kuin lukkoa odottava, järkevintä on periyttää prioriteetti, jotta lukkoa pitävä transaktio saadaan suoritetuksi loppuun, ja lukkoa odottava pääsee jatkamaan suoritustaan mahdollisimman lyhyellä odottelulla [Ram93]. Voidaan huomata jälleen, että vaikka perinteisissä tietokannoissa käytettävät menetelmät eivät aina suoraan sovellu tosiaikatietokantoihin, voidaan menetelmiä muokata sopiviksi. Optimistisissa menetelmissä suurin heikkous on myöhään tapahtuva validointi, joka ei anna mahdollisuutta transaktion ominaisuuksien huomioimiseen. Validoinnilla tarkoitetaan transaktioiden konfliktien tarkistusta. Mikäli konflikteja tapahtuu, keskeytetään transaktio. 8
11 4 Tutkimus Vaikka tosiaikatietokantoja on tutkittu jo paljon, on alalla vielä paljon haasteita tutkijoille. Kehittyvät laitteistot tarjoavat puitteet nopeammalle laskennalle ja tiedonkäsittelylle, sekä tehokkaampia ja halvempia komponentteja. Suurimmat tutkimushaasteet liittyvät samanaikaisuuden hallintaan ja ongelmista toipumiseen. Eräs tärkeä tutkimuskohde on järjestelmän huonoin mahdollinen käyttäytyminen (worst-case system behavior) [LaK01, sivu 280] ja transaktioiden suoritusaika (worstcase execution time) [SSH99]. Tämä on hankala alue tutkia, sillä siihen liittyy niin monta erillistä komponenttia, jotka vaikuttavat tulokseen. Laitteiston rakenne ja datan määrä vaikuttavat suuresti. Aikataulutusalgoritmien täytyy ottaa huomioon sekä laitteiston resurssit että datan aikataulutusvaatimukset. Tarpeen olisikin ymmärrys ja tieto siitä, kuinka samanaikaisuuden hallinta ja transaktioiden aikataulutus voitaisiin sovittaa paremmin yhteen [SSH99]. Tähän liittyen toisena tutkimuskohteena olisi määritellä uusi kriteeri tietokannan oikeellisuudelle ja kehittää menetelmiä, joiden avulla transaktioiden sarjallistuvuus voitaisiin korvata oikea-aikaisuudella (timeliness), sillä yleensä sarjallistuvuus on ollut avaintekijänä aikataulujen oikeellisuudessa [SSH99]. Suuria datamääriä käsiteltäessä indeksointi on tärkeässä asemassa [LaK01, sivu 280]. Aiemmat tutkimukset ovat keskittyneet B-puurakenteisiin indekseihin. Tosiaikaista tiedonsaantimenetelmää, johon voisi yhdistää muita menetelmiä, kuten hajautusta, ei ole vielä tutkittu [LaK01, sivu 280]. Tällaista suunnitellessa tulisi myös ottaa huomioon tosiaikatietokannan datan aikarajoitukset. Suuren datamäärän hallintaa voitaisi kehittää myös laitteiston osalta [LaK01, sivu 280]. Multiprosessorit ovat jo arkipäivää, joten rinnakkainen tai hajautettu laskenta tehostaisi tosiaikatietokantojen toimintaa. Tarkistuspisteet ja ongelmista toipuminen ovat olleet perinteisissä tietokannoissa aktiivisesti tutkittu ja kehitetty alue [LaK01, sivu ]. Tosiaikatietokannoissa näitä ei ole vielä riittävästi tutkittu. Laitteistojen kehityksen ja halpenemisen myötä tietokannat siirretään toimimaan keskusmuistissa, jolloin toivotaan nopeampia suori- 9
12 tusaikoja transaktioille. Tämä kuitenkin aiheuttaa ongelmia järjestelmän luotettavuudelle. Samanaikaisuuden hallintaprotokollien ja toipumisalgoritmien toimiva yhdistelmä on tärkeä osa luotettavan ja nopean tosiaikatietokantajärjestelmän suunnittelua [LaK01, sivu 281]. Tähän liittyy lisäksi transaktioiden perumisista syntyvät ongelmat [SSH99]. Haasteita tarjoaa myös tosiaikatietokantasysteemien integrointi kaupallisiin järjestelmiin [LaK01, sivu 281]. Pitäisi saada aikaan tosiaikaista suorittamista kustannustehokkaasti perinteisessä ei-tosiaikaisessa ympäristössä. Tämä aiheuttaa ongelmia järjestelmän turvallisuudelle. Käänteinen prioriteetti ajattelumalli, joka on tarpeellinen tosiaikasysteemeissä, ei saisi esiintyä turvallisissa järjestelmissä [SSH99]. 5 Yhteenveto Merkittävin ero tosiaikatietokantojen ja perinteisten tietokantojen välillä ovat dataan ja transaktioihin liittyvät aikarajoitteet. Data on voimassa (validia) vain tietyn ajan ja transaktioilla on määräaikoja ja suoritusaikavaatimuksia. Tietokantajärjestelmän tehtävänä on aikatauluttaa transaktiot siten, että mahdollisimman moni tulee suoritetuksi määräaikaansa mennessä. Varsinkin kovat transaktiot tulee suorittaa aina ajoissa, muuten voi seurata katastrofi. Tosiaikatietokantajärjestelmän laatua mitataan määräajassa suoritettujen transaktioiden määrällä: mitä suurempi osa transaktioista tulee suoritetuksi ajoissa, sitä parempi järjestelmä on. Tosiaikatietokantoja käytetään yleensä jonkin ympäristön havainnointiin ja kontrollointiin. Tietokantaan tallennetaan sensoreista saatavaa dataa, jota käsitellään ja jonka perusteella suoritetaan toimintoja. Esimerkkeinä tosiaikatietokantajärjestelmistä ovat lentokoneet ja teollisuus. Tosiaikatietokannoille on tärkeää aikatietoiset protokollat, jotka ottavat huomioon transaktion prioriteetin, ja varsinkin sen määräajan. Menetelmiä on monia erilaisia ja ne käsittelevät transaktioiden lukituksia hieman eri periaatteilla. Alan tutkimuksessa suurin haaste on juuri tuo aikataulutusprotokollien kehittäminen. Myös tosiaikaisten tietokantojen integroiminen nykyisiin järjestelmiin on haasteel- 10
13 lista. Laitteistojen ja järjestelmien tosiaikaisuuden kehittymisen myötä tosiaikatietokantojen käyttö kuitenkin yleistynee. Lähteet IDS08 Idoudi N, Duvallet C, Sadeg B, Bouaziz R, Gargouri F: Structural Model of Real-time Databases: an illustration. Proceedings of the th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC) - Volume 0, May 2008, sivut KaG95 Kao B, Garcia-Molina H: An Overview of Real-time Database Systems. Advances in Real-time Systems, Prentice Hall, USA, 1995, sivut LaK01 Lam K, Kuo T: Real-time Database Systems: Architecture and Techniques. Kluwer Academic Publishers, Massachusetts, USA, Ram93 Ramamritham K: Real-time Databases. Journal of Distributed and Parallel Databases 1(2): , April 1993, Kluwer Academic Publishers, Boston, USA. SSH99 Stankovic J, Son S, Hansson J: Misconceptions About Real-time Databases. Computer 32(6):29 36, June 1999, IEEE Computer Society. 11
Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli
Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time
LisätiedotTosiaikajärjestelmät Luento 11: Tosiaikatietokannat
Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time
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ätiedotPalvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
Lisätiedot6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen, tommi.mikkonen@tut.fi
6. Luento: Skedulointi eli Vuoronnus Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet
LisätiedotHAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely
HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...
LisätiedotHELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11
LisätiedotIIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)
IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet?
LisätiedotTransaktiot - kertausta
Hajautettujen järjestelmien perusteet Transaktiot - kertausta Distributed Systems, Concepts and Design, George Coulouris, Jean Dollimore, Tim Kindberg Addison-Wesley 1988,1994. Pearson Education 2001 ISBN:
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ä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ä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ätiedotHOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10
HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
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ä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ätiedotTosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit
Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit Tiina Niklander Jaetut resurssit Useat tapahtumat jakavat ohjelma-/laitteisto-olioita, joissa keskinäinen poissulkeminen on välttämätöntä.
LisätiedotKäyttöjärjestelmät: prosessit
Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä
LisätiedotSkedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi
Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi 24.01.2011 Ohjaaja: Tapio Niemi Valvoja: Harri Ehtamo Tausta ja työn tavoite Työ tehtiin Helsinki Institute of Physics:ille,
LisätiedotSovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
LisätiedotTietokantarakenteet ja -algoritmit 6. harjoitus
Tietokantarakenteet ja -algoritmit 6. harjoitus Malliratkaisut 1.. a) T1 = B I[b, r 2, 0, 0] IX-lukitaan järjestelmä s, tietokanta b ja relaatio (b, r 2 ) (tässä järjestyksessä), X-lukitaan (b, r 2, 0)
LisätiedotCUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
LisätiedotTietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1
Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi
LisätiedotAlgoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
LisätiedotUML -mallinnus TILAKAAVIO
UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat
Lisätiedotalvarmahlberg 2018 @alvarmahlberg KERTAUSTA EILISELTÄ 1. Lohkoketjut mahdollistavat verkostojen luomisen ja ylläpitämisen, ilman hallitsijaa ja ilman rahaa. 2. Kryptoekonomiassa yhdistetään kryptografiaa
LisätiedotA TIETORAKENTEET JA ALGORITMIT
A274105 TIETORAKENTEET JA ALGORITMIT HARJOITUSTEHTÄVÄT 6 DEADLINE 1.4.2009 KLO 9:00 Kynätehtävät tehdään kirjallisesti ja esitetään harjoituksissa. Välivaiheet näkyviin! Ohjelmointitehtävät sähköisesti
LisätiedotKäyttöjärjestelmät: poissulkeminen ja synkronointi
Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet
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ätiedotMäärittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli
Lisätiedot5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi
5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden
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ä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ätiedotKahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)
Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
LisätiedotSamanaikaisuuden hallinta Snapshot Isolationin avulla
hyväksymispäivä arvosana arvostelija Samanaikaisuuden hallinta Snapshot Isolationin avulla Olli Korhonen Helsinki 4.3.2009 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu
811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään
LisätiedotNopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
LisätiedotHELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen
LisätiedotStabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.
LisätiedotTietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto
Jyväskylän yliopisto SUUNNITELMA Tietotekniikan laitos 5.11.2003 Käki-projekti TIETOKANTASUUNNITELMA 1. Johdanto Suunnitelma sisältää kuvauksen tietokannan suunnittelussa käytetyistä periaatteista, kuvan
LisätiedotLisätään avainarvo 6, joka mahtuu lehtitasolle:
Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 11.6.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle
Lisätiedot52480S TIETOKEARKKITEHTUURIT Tentti 6.2.1998
S Ä H K Ö T E K N I I K A N O S A S T O 548S TIETOKEARKKITEHTUURIT Tentti 6..998 Oulu 8..999. Selosta lyhyesti käsitteet: a. set associative memory b. conflict miss c. consistency of cached data d. access
Lisätiedot811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
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ä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ätiedotKeskusmuistitietokantojen samanaikaisuuden hallinta
Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Helsinki 09.03.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI
LisätiedotTietosisällön eheys. Kimmo Janhunen Riskienhallintapäällikkö
Tietosisällön eheys Kimmo Janhunen kimmo.janhunen@om.fi Riskienhallintapäällikkö Oikeusrekisterikeskuski k 26.11.2014 Esityksen sisältö Tiedon merkitys - tiedon eheyden merkitys Määritelmät Lainsäädäntö
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
Lisätiedot1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
LisätiedotPythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b
Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')
LisätiedotHelsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.
Tieto - data Digitaalisesti tallennettua informaatiota jostakin kohteesta Vapaamuotoinen tieto (unformatted) Esim. teksti, puhe, kuvat, Sisältö jäsentämätöntä Koneellinen käsittely vaikeaa paitsi kokonaisuutena
LisätiedotMaiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)
Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative
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ätiedotLuento 2: Tiedostot ja tiedon varastointi
HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...
LisätiedotTietohakemisto ja Transaktionkäsittely
HELIA TIKO-05 1 (18) Tietohakemisto ja Transaktionkäsittely Tietohakemisto...2 Oraclen tietohakemistonäkymät (osa)...3 Yleiset...3 Taulut...3 Säännöt...3 Näkymät...3 Synonyymit...4 Indeksit...4 Sekvenssit...4
LisätiedotLAPS: Testbedhavainnoista. analyysiksi. Janne Kotro Kaukokartoitus/Tutkimus
LAPS: Testbedhavainnoista analyysiksi Janne Kotro Kaukokartoitus/Tutkimus 6.4.2006 Lähihetkiennustaminen (nowcasting) Ennustamista vallitsevasta säätilasta muutama tunti eteenpäin Käsite pitää sisällään
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
LisätiedotHAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät
HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...
LisätiedotTIEA341 Funktio-ohjelmointi 1, kevät 2008
TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x
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ä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ätiedotIntel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen
Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky
LisätiedotRekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
LisätiedotTIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
Lisätiedot010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva
010627000 Tietoturvan Perusteet Yksittäisen tietokoneen turva Pekka Jäppinen 31. lokakuuta 2007 Pekka Jäppinen, Lappeenranta University of Technology: 31. lokakuuta 2007 Tietokone Koostuu raudasta ja ohjelmista
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ätiedotTMR 08 Viikkoajastin/kytkin. Käyttöohjekirja
TMR 08 Viikkoajastin/kytkin Käyttöohjekirja www.avalarm.fi Sisältö 1. Pakkauksen sisältö 1 2. Etupaneelin kuvaus 2 3. Esittely 4 4. Päänäyttö 6 5. Ajan ja päivämäärän asetus 7 6. Aseta ohjelma # n 9 7.
Lisätiedotmonitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.
Epätäydellisen preferenssiinformaation hyödyntäminen monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi 15.1.2018 Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Kai Virtanen Tausta Päätöspuu
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ätiedot4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotTKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto
Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan
LisätiedotSQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010
SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus
LisätiedotArto Salminen,
6. Luento: Skedulointi eli Vuoronnus Arto Salminen, arto.salminen@tut.fi Agenda Peruskäsitteet Skedulointialgoritmeja Reaaliaikajärjestelmien skedulointi Skeduloituvuuden analysoinnista Yhteenveto Peruskäsitteet
LisätiedotHELIA 1 (15) Outi Virkki Tiedonhallinta
HELIA 1 (15) Luento Suorituskyvyn optimointi... 2 Tiedonhallintajärjestelmän rakenne... 3 Suunnittele... 4 SQL-komentojen viritys... 5 Tekninen ympäristö... 6 Fyysisen tason ratkaisut... 7 Indeksit...
LisätiedotJatkuvatoiminen monitorointi vs. vuosittainen näytteenotto
Jatkuvatoiminen monitorointi vs. vuosittainen näytteenotto Teemu Auronen Muuntajan vikaantumiseen johtavia seikkoja Vikatilanteen estämiseksi, kehittyvien vikojen tunnistaminen on elinarvoisen tärkeää.
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
LisätiedotOngelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita
LisätiedotHELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...
LisätiedotOngelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,
Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotKULJETUSSUUREET Kuljetussuureilla tai -ominaisuuksilla tarkoitetaan kaasumaisen, nestemäisen tai kiinteän väliaineen kykyä siirtää ainetta, energiaa, tai jotain muuta fysikaalista ominaisuutta paikasta
LisätiedotKombinatorinen optimointi
Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein
Lisätiedot11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
LisätiedotYritysturvallisuuden perusteet
Yritysturvallisuuden perusteet Teemupekka Virtanen Helsinki University of Technology Telecommunication Software and Multimedia Laboratory teemupekka.virtanen@hut.fi 8. Luento Tietoturvallisuus Tiedon ominaisuudet
LisätiedotTutkimus web-palveluista (1996) http://www.trouble.org/survey/
Tietoturva Internet kaupankäynnissä E-Commerce for Extended Enterprise 29.4.98 Jari Pirhonen (Jari.Pirhonen@atbusiness.com) AtBusiness Communications Oy http://www.atbusiness.com Tutkimus web-palveluista
LisätiedotR 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo.
Tietokantarakenteet ja -algoritmit 5. harjoitus Malliratkaisut 1. B 1 : T 1 alkaa. I 1 [1]: T 1 :lle pitkäkestoinen X-lukko avaimeen 1 ja lyhytkestoinen X-lukko avaimen 1 seuraajaan. B 2 : T 2 alkaa. I
LisätiedotTOR Arkkitehtuuri. - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto
TOR Arkkitehtuuri - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto Opintopolun palveluiden hyödyntäminen TOR hyödyntää vähintään organisaatiopalvelua,
LisätiedotAdvanced Test Automation for Complex Software-Intensive Systems
Advanced Test Automation for Complex Software-Intensive Systems Aiheena monimutkaisten ohjelmistovaltaisten järjestelmien testauksen automatisointi Mistä on kyse? ITEA2-puiteohjelman projekti: 2011-2014
LisätiedotOngelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
LisätiedotJohdatus verkkoteoriaan 4. luento
Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,
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ätiedotTietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne
HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten
LisätiedotJokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa
Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
LisätiedotOpenOffice.org Base 3.1.0
OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys
Lisätiedot1 Kertaus. Lineaarinen optimointitehtävä on muotoa:
1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n
LisätiedotD B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus
Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin yhdenkään
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotMännyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto 9.6.2003
Männyn laaturajojen integrointi runkokäyrän ennustamisessa Laura Koskela Tampereen yliopisto 9.6.2003 Johdantoa Pohjoismaisen käytännön mukaan rungot katkaistaan tukeiksi jo metsässä. Katkonnan ohjauksessa
LisätiedotSeurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen
Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen 08.09.2014 Ohjaaja: DI Mikko Harju Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
Lisätiedoton rekursiivisesti numeroituva, mutta ei rekursiivinen.
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
Lisätiedot