Samanaikaisuuden hallinta Snapshot Isolationin avulla

Koko: px
Aloita esitys sivulta:

Download "Samanaikaisuuden hallinta Snapshot Isolationin avulla"

Transkriptio

1 hyväksymispäivä arvosana arvostelija Samanaikaisuuden hallinta Snapshot Isolationin avulla Olli Korhonen 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 Olli Korhonen Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Samanaikaisuuden hallinta Snapshot Isolationin avulla 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 Relaatiotietokantojen samanaikaisuuden hallintaan on SQL-standardissa asetettu tiettyjä vaatimuksia. Perinteisesti tietokannat ovat toteuttaneet vaatimukset 2-vaiheisen lukituksen avulla. Viime aikoina useat tietokannanhallintajärjestelmät ovat kuitenkin tehokkuusvaatimusten takia toteuttaneet eristyvyystason nimeltään Snapshot Isolation. Tässä työssä käydään läpi Snapshot Isolationin toiminta sekä sen yhteensopivuus SQL-standardin kanssa. Tämän lisäksi tutkitaan mahdollisia ratkaisuja esiin tulevien ongelmien ratkaisemiseksi. ACM Computing Classication System (CCS): H.2.4 [Database Management] Avainsanat Nyckelord Keywords Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information

3 Sisältö ii 1 Johdanto 1 2 Transaktioiden samanaikaisuus Eristyvyys Eristyvyysanomaliat Snapshot Isolation Määritelmä Eristyvyys Write Skew Transaktioiden sarjallistaminen Anomalioiden tunnistaminen Yhteenveto 10 Lähteet 12

4 1 Johdanto 1 Nykypäivänä tietokantoja löytyy yhä useammista paikoista. Yhä useammat järjestelmät käyttävät keskitettyjä, useiden käyttäjien, joskus useiden tuhansien, kymmenien tuhansien tai jopa miljoonien yhtäaikaisten käyttäjien tietokantoja. Relaatiotietokantojen valtakausi ei ole päättynyt, vaikka jotkut ovat aikojen saatossa niin ennustaneetkin. Samanaikaisuuden hallinta (concurrency control) on useiden käyttäjien tietokannoissa eräs merkittävä tekijä. Samanaikaiset, eri käyttäjien operaatiot täytyy naamioida niin, että käyttäjät kuvittelevat käyttävänsä tietokantaa yksin. Samaan aikaan täytyy pitää huoli siitä, etteivät käyttäjien tekemät operaatiot sotkeennu muiden tekemien operaatioiden kanssa. Relaatiotietokannoissa käytettävä SQL-standardi sisältää määrittelyn samanaikaisuuden hallinnalle ja luettelee vaatimukset, jotka tietokantamoottorin on toteutettava. Tämän työn aluksi esittelen lyhyesti, mitä standardissa määritellään. Standardin lähestymistapa ei ole ollut tehokas. Tämän vuoksi samanaikaisuuden hallintaan on kehitetty menetelmiä, jotka poikkeavat perinteisistä malleista. Eräs näistä menetelmistä on Snapshot Isolation, jonka useat nykyaikaiset tietokannanhallintajärjestelmät jo toteuttavat. Aion tässä työssäni kuvata, kuinka Snapshot Isolation toimii ja esitellä siihen liittyviä ongelmia mahdollisine ratkaisuineen. 2 Transaktioiden samanaikaisuus SQL-standardin (1992) [ANSI92] mukaan transaktio on tietokantaoperaatioiden suoritusten sarja, joka muodostaa atomisen kokonaisuuden. Transaktio on kokonaisuudessaan peruutettavissa niin, että kaikki sen aiheuttamat muutokset voidaan palauttaa.

5 2 Tietokantamoottori voi taata transaktioiden atomisuuden eri tavoin. Yksinkertaisimmillaan transaktiot suoritetaan peräkkäin niin, että vain yksi transaktio voi olla käynnissä kerrallaan. Tätä kutsutaan sarjalliseksi (serial) aikataulutukseksi. Tällainen tapa on monien käyttäjien tietokannoissa tehoton, joten transaktioiden suoritus yleensä limitetään. Tällöin aikataulutusta kutsutaan ei-sarjalliseksi (non-serial). Limitetyssä aikataulutuksessa kukin transaktio näkee tietokannan tilanteen kuten sarjallisessa, jos limitys toteuttaa sarjallistuvuuden (serializable) ehdon. Sarjallistuva transaktioiden suoritus tuottaa saman lopputuloksen kuin vastaavien transaktioiden sarjallinen suoritus. Kuvassa 1 ylhäällä olevien sarjallisten transaktioiden suoritus on transaktioiden kannalta sama kuin alla olevien samojen, mutta limitettyjen transaktioiden. Näin ollen alapuolella olevat transaktiot ovat sarjallistuvia. Kuva 1: Sarjallinen ja sarjallistuva transaktioiden suoritus

6 2.1 Eristyvyys 3 Transaktioiden ACID-mallin mukainen eristyvyys (isolation) tarkoittaa sitä, että kunkin transaktion T näkökulmasta tietokanta näyttää siltä, että muut transaktiot ovat suoritettuja kokonaan joko ennen T:n suorittamista tai että muut transaktiot suoritetaan kokonaisuudessaan T:n jälkeen. Eristyvyys voi kuitenkin rikkoontua transaktioiden ei-sarjallisen suorituksen yhteydessä. SQL-standardissa transaktioiden eristyvyydelle määritellään neljä tasoa: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ ja SE- RIALIZABLE, joista viimeinen on kaikkein tiukin ja standardin mukaan toteuttaa sarjallistuvuuden ehdon. Muut tasot eivät takaa täyttä sarjallistuvuutta, vaan voivat aiheuttaa virhetilanteita, joita kutsutaan eristyvyysanomalioiksi. Riippuen transaktioiden luonteesta, voidaan kullekin transaktiolle määrittää haluttu eristyvyystaso. Valinta tapahtuu aina tehokkuuden ja sarjallistuvuuden vaatimusten välillä. Mitä tiukempi eristyvyystaso vaaditaan, sitä tehottomampi systeemistä tulee. 2.2 Eristyvyysanomaliat Anomalioita, jotka rikkovat sarjallistuvuuden on useita. Yleisimmin mainitaan neljä anomaliaa, jotka voivat tapahtua transaktioiden suorituksen limittyessä: dirty write, dirty read, fuzzy read (non-repeatable read) ja phantom read. Näistä kolme viimeisintä mainitaan SQL-standardissa, mutta ensimmäinen, dirty write on myös merkityksellinen ja on mainittu jo Berensonin ja kumppaneiden vuonna 1995 ilmestyneessä kritiikissä SQL-standardin eristyvyyden tasoista [BBG95]. Eri eristyvyyden tasoilla estetään eri anomaliat. Taulukossa 1 on kuvattu eristyvyyksien ja anomalioiden suhteet. Perinteinen ratkaisu näiden anomalioiden estämiseen on ollut 2-vaiheisen lukituksen

7 4 Dirty Write Dirty Read Fuzzy Read Phantom Read READ UNCOMMITTED Ei Kyllä Kyllä Kyllä READ COMMITTED Ei Ei Kyllä Kyllä REPEATABLE READ Ei Ei Ei Kyllä SERIALIZABLE Ei Ei Ei Ei Taulukko 1: Eristyvyystasot ja anomaliat käyttö. Tällöin lukituksen avulla estetään anomalioiden toteutuminen transaktioiden suorituksen aikana. Anomalian aiheuttavan transaktion suoritus estetään niin pitkäksi aikaa, kunnes tarvittavat resurssit vapautuvat. 3 Snapshot Isolation Perinteistä, lukituksen avulla ratkaistua transaktioiden hallintaa kutsutaan pessimistiseksi samanaikaisuuden hallinnaksi. Tällöin ikään kuin oletetaan, että jotain menee luultavasti pieleen ja siihen varaudutaan etukäteen. Mahdolliset ongelmatilanteet pyritään estämään jo kantatasolla. Toisenlaista lähestymistapaa, jossa ei transaktiot eivät estä toistensa suoritusta, kutsutaan optimistiseksi. Optimistisessa hallintatavassa virhetilanteiden hoitaminen jätetään usein sovelluksen harteille. Tämän mallin mukaan oletetaan, että asiat menevät hyvin, joten niihin ei tarvitse puuttua etukäteen. Vasta transaktion lopuksi katsotaan, voidaanko haluttuja operaatioita suorittaa. Aion seuraavaksi esitellä optimistisen mallin mukaisen lähestymistavan nimeltä Snapshot Isolation.

8 3.1 Määritelmä 5 Määritelmän [BBG95] mukaan Snapshot Isolation takaa kullekin transaktiolle koko suorituksen ajaksi tilannevedoksen (snapshot) tietokannasta sellaisena, kuin se oli transaktion alkaessa. Pelkkiä lukuoperaatioita sisältävät transaktiot toteutuvat näin ollen aina. Kirjoitusoperaatioita tekevien transaktioiden kohdalla tutkitaan vasta sitoutumisen (commit) yhteydessä, voidaanko transaktion toteuttamat muutokset tehdä. Snapshot Isolationin määritelmän mukaan transaktiolle T annetaan sen suorituksen alkaessa aikaleima Tb. Kun transaktio pyytää sitoutumista (aikaleima Tc), tutkitaan, onko mikään muu transaktio päivittänyt muutettavaa tietoa transaktion T suorituksen aikana, eli toisin sanoen aikavälillä [Ta,Tb]. Jos ei ole, voidaan muutokset tehdä ja transaktio sitouttaa (kuva 2 T2). Jos muutoksia on tapahtunut niin, että toisen transaktion U aikaleima Ub on välillä [Ta,Tb], keskeytetään koko transaktio T ja palautetaan virheilmoitus (kuva 2 T1). Tätä kutsutaan myös nimellä First Committer Wins. Kuva 2: First Committer Wins 3.2 Eristyvyys SQL-standardissa määritellyt anomaliat estetään kokonaan Snapshot Isolationissa. Lukuanomaliat estyvät, koska transaktio näkee koko suorituksensa ajan saman tietokannan tilan, mikä oli voimassa sen alkaessa. Kirjoitusanomalia estyy, koska kir-

9 6 joitusta ei tehdä tapauksessa, jossa jokin muu transaktio on ehtinyt muuttaa tietoa transaktion suorituksen aikana. Snapshot Isolationin määritelmän mukaisesta heikosta eristyvyydestä (weak isolation) seuraa uusia anomalioita. Vaikka näyttää siltä, että kaikki lukuoperaatiot olisivat turvallisia, ei niin todellisuudessa ole (read only anomaly) [FOO04]. Tämä tapaus on tutkimuksen perusteella niin harvinainen, ettei sitä saatu tapahtumaan laajoissakaan testeissä. Jätän asian näin ollen käsittelemättä tässä tekstissä. Kirjoitusoperaatioita suorittavat transaktiot, jotka käsittelevät eri tietueita, joissa tietueille on asetettu rajoitteita (constraint), voivat aiheuttaa kirjoitusvääristymän (write skew). Tämä on yleisempi ja paljon enemmän harmia aiheuttava anomalia, joten paneudun siihen. 3.3 Write Skew Snapshot Isolationin määritelmästä seuraa uusi anomalia, kirjoitusvääristymä (write skew). Kun kaksi prosessia päivittää toisistaan rajoitteilla riippuvia tietoja, voi tapahtua kaksi toisistaan riippumatonta päivitystä, jotka rikkovat asetetun rajoituksen. Kuvitellaan esimerkiksi tilanne, jossa henkilöllä on kaksi pankkitiliä X ja Y. Pankki on asettanut rajoituksen, että tilien yhteenlaskettu saldo täytyy aina olla plussan puolella, toisin sanoen X + Y > 0. Oletetaan alkutilanne, jossa X=50 ja Y=50. Kaksi transaktiota T1 ja T2 suorittavat kuvan 3 mukaiset toimenpiteet. Suoritetaan T1(X, 50) ja T2(Y, 60). Tällöin suoritettavien operaatioiden järjestys voisi olla esimerkiksi seuraavanlainen (myös kuva 4). T1b, T2b, R1(x=50), R2(y=50), W1(X, 0), W2(Y, -10), R1(Y=50), R2(X=50), C1, C2.

10 7 BEGIN TRANSACTION jos tilisumma if (R(X) + R(Y) > 0) COMMIT else ROLLBACK END TRANSACTION Kuva 3: Tilitapahtuman suorittava transaktio Kuva 4: Write Skew Ehto X + Y > 0 toteutuu molemmissa transaktioissa. T1:n mukaan tilanne on lopussa X + Y = 50 ja T2:n mielestä X + Y = 40. Tämä tapahtui siis, koska kumpikaan ei näe toisen tekemää muutosta. Toisaalta myöskin Snapshot Isolationin määritelmän mukainen First Committer Wins -ehto toteutuu, koska molemmat transaktiot käsittelevät eri tiliä ja näin ollen kumpikin transaktio voi sitoutua. Lopussa tilanne on kuitenkin X + Y = -10, mikä tarkoittaa, että asetettu rajoite on rikkoontunut. Write Skewn aiheuttavassa tilanteessa kahden transaktion välille muodostuu riippuvuus, jossa toinen lukee ja toinen päivittää tietoa samanaikaisesti käynnissä olevissa

11 transaktioissa. Tällöin puhutaan read write (rw) -riippuvuudesta. Edellä kuvatussa tilanteessa molemmat transaktiot ovat rw-riippuvaisia toisistaan Transaktioiden sarjallistaminen Snapshot Isolation ei itsessään takaa sarjallistuvia transaktioita. Jotkin tietokantamoottorit, kuten Oracle 1 ja PostgreSQL, 2 eivät takaa sarjallistuvuutta lainkaan tietokannoissaan, vaan jättävät rajoitteiden tarkastuksen sovellustason huoleksi. Esimerkiksi Microsoft SQL Server taas käyttää sarjallistuvuuden saavuttamiseksi perinteistä 2-vaihelukitusta sekoitettuna Snapshot Isolationiin. On olemassa menetelmiä, joiden avulla sarjallistuvuus voidaan saavuttaa myös aidossa Snapshot Isolationissa. Tämä toki saavutetaan osittain tehokkuuden kustannuksella. Jotkut ehdotetut menetelmät perustuvat koniktien materialisoimiseen [FLO05]. Näissä menetelmissä aiheutetaan tahallaan tilanne, josta seuraa virhe. Tämän jälkeen joku transaktioista keskeytetään First Committer Wins -ehdon perusteella. Tällaiset keinot täytyy ottaa huomioon järjestelmää suunnitellessa. Osa menetelmistä perustuu järjestelmän staattiseen analyysiin. Tällöin järjestelmä analysoidaan etukäteen ja esiin tulleet anomalioita aiheuttavat tilanteet ratkaistaan sovellustasolla jo suunnitteluvaiheessa. Tällainen järjestely kuvataan esimerkiksi Jorwerkarin ja kumppaneiden artikkelissa [JFR07]. Kyseisessä artikkelissa kuvataan myös työkalu, jonka avulla anomalioita aiheuttavat transaktiot voidaan löytää automaattisesti. Ehkäpä mielenkiintoisin ja monikäyttöisin lähestymistapa on tutkia transaktioita ajonaikaisesti ja yrittää tunnistaa mahdolliset vaaroja aiheuttavat tilanteet. Tällainen dynaaminen menetelmä, jossa anomalioita aiheuttavat tilanteet ratkaistaan 1 2

12 9 suorituksen aikana on kuvattu Cahillin ja kumppaneiden artikkelissa.[crf08]. 3.5 Anomalioiden tunnistaminen Molemmat tavat, niin staattinen kuin dynaaminenkin anomalioita aiheuttavien transaktioiden tunnistaminen perustuvat transaktioiden riippuvuuksiin. Riippuvuuksista voidaan muodostaa kaavio, jonka perusteella tunnistetaan vaaralliset rakenteet ja näin ollen kohdat, joissa Write Skew voi tapahtua. Fekete ja kumppanit ovat todistaneet [FLO05], että vaarallisissa rakenteissa on sykli, jossa on kaksi rw-riippuvaista transaktiota. Tämä tilanne on kuvattu kuvassa 5. Tässä transaktiota T0 kutsutaan napatransaktioksi (pivot transaction). Navan poistaminen poistaa mahdollisen vaaratilanteen koko kaavioista. Kuva 5: Transaktioiden riippuvuuksista aiheutuva vaarallinen tilanne

13 10 Järjestelmän sarjallistaminen perustuu näiden syklien tunnistamiseen ja poistamiseen. Staattisesti tämä tapahtuu jo järjestelmän suunnitteluvaiheessa joka automaattisesti tai suunnittelijan toimesta. Staattisessa lähestymistavassa on se ongelma, että järjestelmän muuttuessa analyysi täytyy tehdä uudelleen ja muuttaa kaikki mahdollisesti muodostuneet ongelmapaikat. Voi olla, että tämä ei aina ole edes mahdollista, joten on kehitettävä malli, jossa anomaliat etsitään ja korjataan ajonaikaisesti. Tällainen dynaaminen malli esitellään Cahillin ja kumppaneiden artikkelissa [CRF08]. Järjestelmä etsii samaan aikaan suorittettavien transaktioiden välisiä riippuvuuksia tallettamalla kuhunkin transaktioon tietoa mahdollisista vaaratilanteista. Vaaratilanteen huomatessaan järjestelmä keskeyttää napatransaktion ja näin ollen poistaa vaaran. Artikkelissa kuvattu järjestelmä ei ole täydellinen, vaan tietyissä tilanteissa aiheuttaa vääriä positiivisia havaintoja ja transaktioiden keskeytymisiä. Cahillin ja kumppaneiden artikkelissa [CRF08] on esitetty dynaamisen mallin toteutus ilmaisen Oracle Berkeley DB -tietokantamoottorin 3 päälle. Artikkelin analyysissa tultiin siihen tulokseen, että järjestelmä toimii suurinpiirtein yhtä hyvin kuin Snapshot Isolation ilman sarjallistuvuutta. Ero perinteiseen 2-vaihelukitukseen on huomattava. 4 Yhteenveto Snapshot Isolation on mielenkiintoinen ja useissa tietokantamoottoreissa toteutettu transaktioiden hallintamalli. On selkeästi osoitettu, että Snapshot Isolationin avulla saavutetaan tehokkaampi toiminta kuin perinteisen 2-vaihelukituksen kanssa, eristyvyystason karsimättä. Snapshot Isolation itsessään takaa melkein sarjallistuvan transaktioiden eristyvyyden. 3

14 11 Nykyiset Snapshot Isolationin toteuttavat tietokantamoottorit joko eivät toteuta sarjallistuvia transaktioita tai toteuttavat ne perinteisen lukituksen avulla. On kehitetty malleja, joiden pohjalta todellinen sarjallistuvuus saadaan aikaiseksi myös käyttäen aitoa Snapshot Isolationia.

15 Lähteet 12 ANSI92 ANSI Information Systems Database Language SQL, [ ] BBG95 Berenson, H., Bernstein, P., Gray, J., Melton, J., O'Neil, E. ja O'Neil, P., A critique of ansi sql isolation levels. SIGMOD '95: Proceedings of the 1995 ACM SIGMOD international conference on Management of data, New York, NY, USA, 1995, ACM, sivut 110. CRF08 Cahill, M. J., Röhm, U. ja Fekete, A. D., Serializable isolation for snapshot databases. SIGMOD '08: Proceedings of the 2008 ACM SIGMOD international conference on Management of data, New York, NY, USA, 2008, ACM, sivut FLO05 Fekete, A., Liarokapis, D., O'Neil, E., O'Neil, P. ja Shasha, D., Making snapshot isolation serializable. ACM Trans. Database Syst., 30,2(2005), sivut FOO04 Fekete, A., O'Neil, E. ja O'Neil, P., A read-only transaction anomaly under snapshot isolation. SIGMOD Rec., 33,3(2004), sivut JFR07 Jorwekar, S., Fekete, A., Ramamritham, K. ja Sudarshan, S., Automating the detection of snapshot isolation anomalies. VLDB '07: Proceedings of the 33rd international conference on Very large data bases. VLDB Endowment, 2007, sivut

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

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

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)

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

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

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2. Samanaikaisuuden hallinta tietokantapalvelimessa Tiedonhallintaa Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 1 Transaktiot eli tapahtuma(sarja)t 2 Transaktio (transaction) on DBMSn

Lisätiedot

D B. Transaktionhallinta - samanaikaisuus

D B. 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ä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

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus

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

HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) ICT03D Tieto ja tiedon varastointi

HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) ICT03D Tieto ja tiedon varastointi HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) SQL-transaktiot Lähes kaikissa tietojärjestelmissä tietojen talletus on toteutettu tietokannoissa, joita käytetään tietokannanhallintajärjestelmien (DBMS) palvelujen

Lisätiedot

25.4.05. Helsingin yliopisto/tktl Tietokannan hallinta, kevät 2005. Harri Laine 1 D B. Transaktionhallinta - samanaikaisuus

25.4.05. Helsingin yliopisto/tktl Tietokannan hallinta, kevät 2005. Harri Laine 1 D B. Transaktionhallinta - samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (= käyttäviä prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin

Lisätiedot

Keskusmuistitietokantojen samanaikaisuuden hallinta

Keskusmuistitietokantojen samanaikaisuuden hallinta Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Helsinki 09.03.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI

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

Muita transaktioiden hallintamenetelmiä

Muita transaktioiden hallintamenetelmiä Muita transaktioiden hallintamenetelmiä H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O Neil & P. O Neil: A critique of ANSI SQL isolation levels. Proc. of the 1995 ACM SIG- MOD Internat. Conf. on

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 12.4.2016 CSE-A1200 Tietokannat 12.4.2016 1 / 42 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan

Lisätiedot

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17 R & G Chapter 17 ~ 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

Lisätiedot

Web-palveluiden transaktionaalinen koostaminen

Web-palveluiden transaktionaalinen koostaminen hyväksymispäivä arvosana arvostelija Web-palveluiden transaktionaalinen koostaminen Tobias Rask Helsinki 18.11.2013 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET

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

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

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

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

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

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

Tietohakemisto ja Transaktionkäsittely

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

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

5.2 Samanaikaisuuden hallinta

5.2 Samanaikaisuuden hallinta Tietokannan hallinta 29 5. Tapahtumien hallinta Tietokannan hallinta 30 5. Tapahtumien hallinta 5.2 Samanaikaisuuden hallinta Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (ohjelmia/ihmisiä).

Lisätiedot

Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä. Vesa Tähkävuori

Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä. Vesa Tähkävuori Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä käyttäen InnoDBtietokantamoottoria Vesa Tähkävuori Opinnäytetyö Tietojenkäsittelyn koulutusohjelma 2010 Tiivistelmä 16.11.2010 Tietojenkäsittelyn

Lisätiedot

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa Samanaikaisuuden hallinta Optiot transaktionaalisissa työnkuluissa Sisältö Transaktionaaliset työnkulut Samanaikaisuuden ongelmat Optiot idea käyttökohteet WorkMan Optioiden toteutus Arviointi Transaktionaaliset

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

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

TIEDONHALLINTA - SYKSY 2011. Luento 12. Hannu Markkanen 28.-29.11.2011. 9/10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 12 TU00AA48-2002 TU10S1E Hannu Markkanen 28.-29.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Tietokantapahtumien hallinta

Lisätiedot

Hajautettujen transaktioiden hallinta

Hajautettujen transaktioiden hallinta Hajautettujen transaktioiden hallinta M. Kifer, A. Bernstein & P. M. Lewis: Database Systems. An Application-Oriented Approach. Complete Version. Pearson Addison Wesley, 2006; sivut 1005 1028, luvun 24

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

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

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN

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

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

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

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets

Lisätiedot

Oppimateriaalin kokoaminen ja paketointi

Oppimateriaalin kokoaminen ja paketointi Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

UML -mallinnus TILAKAAVIO

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

Citrusleaf-tietokanta: Voiko NoSQL-tietokanta tarjota transaktioiden

Citrusleaf-tietokanta: Voiko NoSQL-tietokanta tarjota transaktioiden hyväksymispäivä arvosana arvostelija Citrusleaf-tietokanta: Voiko NoSQL-tietokanta tarjota transaktioiden ACID-ominaisuudet? Mikko Kangasaho Helsinki 7.3.2012 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

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

Tapahtuipa Testaajalle...

Tapahtuipa Testaajalle... Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman

Lisätiedot

Transaktiot - kertausta

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

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

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

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

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

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

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

T Testitapaukset TC-1

T Testitapaukset TC-1 T-76.115 Testitapaukset TC-1 ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 1.0 18.11.2004 Risto Kunnas Testitapaukset ensimmäistä iteraatiota varten 1.1 26.11.2004 Risto Kunnas

Lisätiedot

Sovellusarkkitehtuurit

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

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Hyväksymispäivä Arvosana Arvostelija Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Marko Lehtimäki Helsinki 12.5. 2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi hyväksymispäivä arvosana arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi Helsinki 6.4.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE

!#$%&'$(#)*+,!!,*--.$*#,&--#*/.,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE !"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&2745523?27747544H9;&IG@&JG9?=&15=5H42>:9 '28

Lisätiedot

Suvi Junes Tampereen yliopisto /Tietohallinto 2012

Suvi Junes Tampereen yliopisto /Tietohallinto 2012 Suoritusten seuranta ja opiskelijan edistyminen Opettaja voi halutessaan ottaa käyttöön toiminnon, jossa hän määrittelee etenemispolun opintojaksolle. Hän voi jokaisen aktiviteetin kohdalla määritellä

Lisätiedot

Seminaari: HL7 versio 2

Seminaari: HL7 versio 2 hyväksymispäivä arvosana arvostelija Seminaari: HL7 versio 2 Markus Koski Helsinki 29.9.2014 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

5. Tapahtumien hallinta. Esim. pankkitilisovelluksen proseduuri tilisiirto(t1, t2, x), joka siirtää x mk tililtä t1 tilille t2:

5. Tapahtumien hallinta. Esim. pankkitilisovelluksen proseduuri tilisiirto(t1, t2, x), joka siirtää x mk tililtä t1 tilille t2: Tietokannan hallinta 1 5. Tapahtumien hallinta Tietokannan hallinta 2 5. Tapahtumien hallinta 5. Tapahtumien hallinta = transaction management (yleistä: E&N, Ch. 19) kaikkien tietokantajärjestelmien keskeinen

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

Lisätiedot

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta. Transaktionhallinta. Transaktionhallinta

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta. Transaktionhallinta. Transaktionhallinta (transaction management) on keskeinen tekijä tietokannan samanaikaisen käytön ja virheistä toipumisen kannalta. Useat prosessit voivat käsitellä tietokantaa samanaikaisesti Jos tietokoneessa on vain yksi

Lisätiedot

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

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

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo.

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

Tietokantarakenteet ja -algoritmit 6. harjoitus

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

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

SQL-transaktiot Opettajan opas

SQL-transaktiot Opettajan opas SQL-transaktiot Opettajan opas sivu 1 www.dbtechnet.org DBTech VET SQL-transaktiot Opettajan opas Tekijät Martti Laiho ja Dimitris Dervos, käännös: Martti Laiho Vastuurajaukset DBTech VET Teachers projekti

Lisätiedot

Suoritusten seuranta ja opiskelijan edistyminen

Suoritusten seuranta ja opiskelijan edistyminen Suoritusten seuranta ja opiskelijan edistyminen Opettaja voi halutessaan ottaa käyttöön toiminnon, jossa hän määrittelee etenemispolun opintojaksolle. Hän voi jokaisen aktiviteetin kohdalla määritellä

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 9.3.2010 Kandidaatin tutkielma, aine HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

Solidin korkean käyttöasteen tietokantajärjestelmä

Solidin korkean käyttöasteen tietokantajärjestelmä hyväksymispäivä arvosana arvostelija Solidin korkean käyttöasteen tietokantajärjestelmä Antti Viita Helsinki 2.12.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Suoritusten seuranta ja opiskelijan edistyminen

Suoritusten seuranta ja opiskelijan edistyminen Suoritusten seuranta ja opiskelijan edistyminen Opettaja voi halutessaan ottaa käyttöön toiminnon, jossa hän määrittelee etenemispolun opintojaksolle. Hän voi jokaisen aktiviteetin kohdalla määritellä

Lisätiedot

arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa 20.10.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa 20.10.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos hyväksymispäivä arvosana arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa 20.10.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Tiivistelmä Assosiaatiosäännöt sekvensseissä on

Lisätiedot

Hajautettujen työvoiden hallinta

Hajautettujen työvoiden hallinta hyväksymispäivä arvosana arvostelija Hajautettujen työvoiden hallinta Simo Moilanen Helsinki 11.05.2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY

Lisätiedot

Arvonlaskennan toiminta sijoitusten osalta

Arvonlaskennan toiminta sijoitusten osalta Sivu 1/5 HEDGEHOG OY Arvonlaskennan toiminta sijoitusten osalta 6.10.2014 Tässä on kuvailtu Hedgehog Oy:n käyttämän arvonlaskentajärjestelmän toimintaa sijoitusten merkinnän, tuottosidonnaisten palkkioiden,

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

11/20: Konepelti auki

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

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista Helsingin yliopisto Tietojenkäsittelytieteen laitos 26.2.2014 (H.Laine) Tietokantojen perusteet Liitteenä: Tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastausarkkiin kurssin nimi, tenttipäivä,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Lisätään avainarvo 1, joka mahtuu lehtitasolle:

Lisätään avainarvo 1, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 14.5.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

Unix-perusteet. Tiedosto-oikeudet

Unix-perusteet. Tiedosto-oikeudet Unix-perusteet Tiedosto-oikeudet Tietoturvaan liittyviä seikkoja kulunvalvonta kellä oikeus päästä laitteiden luokse käyttöoikeudet käyttäjätunnus & salasana tiedostojärjestelmän oikeudet unixissa omistajan,

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

Lisätiedot

TIES542 kevät 2009 Yhteismuistisamanaikaisuus

TIES542 kevät 2009 Yhteismuistisamanaikaisuus TIES542 kevät 2009 Yhteismuistisamanaikaisuus Antti-Juhani Kaijanaho 9. maaliskuuta 2009 Tehtävät ovat samanaikaiset (engl. concurrent), jos ne etenevät yhtä aikaa samalla toistensa kanssa kommunikoiden.

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot