582490 Transaktioiden hallinta (ohtk 25.8.2011)
Pääteemat | Esitiedot | Lähestyy oppimistavoitetta | Saavuttaa oppimistavoitteet | Syventää oppimistavoitteita |
---|---|---|---|---|
1. Loogisen tietokannan transaktiot ja transaktiopalvelin |
Relaatiotietokantojen perusteet, levytiedoston rakenne ja käsittelyperiaate (kurssilta Tietokannan suunnittelu). |
Osaa selittää keskitetyn tietokannan etenevän, aktiivisen, sitoutuneen, keskeytyneen, peruuntuvan, peruuntuneen, päättyneen ja oikeellisen transaktion käsitteet. Osaa selittää SQL:n commit- ja rollback-lauseiden merkityksen. Osaa selittää transaktiopalvelimen toimintaperiaatteen (kyselynkuljetus). Osaa selittää tietokantasivujen puskuroinnin, sivun naulinnan ja salpauksen sekä fyysisen rakennemuutoksen käsitteet ja merkityksen. |
Osaa johtaa yksinkertaisen SQL-ohjelman suorituksen tuottaman transaktion monirakeisessa avainvälimallissa, kun ohjelma voi sisältää osittaisperuutuksia (rollback to savepoint). Osaa johtaa tarvittavat sivujen naulinta- ja salpausoperaatiot annetulle sarjalle monikkokohtaisia loogisia luku- ja kirjoitusoperaatioita ja yksinkertaisia fyysisiä rakennemuutoksia. |
Osaa arvioida kurssilla esitetyn monirakeisen avainvälimallin kattavuutta, kun transaktio sisältää mielivaltaisista SQL-lauseista johtuvia operaatioita. Osaa päätellä, mitä naulinta- ja salpausoperaatioita tarvitaan yleisen SQL-operaation suorituksen yhteydessä, kun relaation fyysisenä rakenteena on B-puu. |
2. Lokin ylläpito ja puskurinhallinta |
Osaa selittää lokikäytäntöjen kolme päätyyppiä (fyysinen, looginen, fyysis-looginen) ja luetella niiden edut ja haitat. Osaa selittää WAL-puskurointikäytännön (write-ahead logging) toiminnan ja merkityksen. Osaa selittää puskurinhallintaperiaatteet ''varasta'', ''älä varasta'', ''pakota'' ja ''älä pakota'' ja niiden edut ja haitat. |
Osaa kuvata avainvälimallin mukaisen, osittaisperuutuksia sisältävän transaktion päivitysoperaatioiden ja niiden käänteisoperaatioiden fyysis-loogiset lokikirjaukset. Osaa selittää, mitä naulinta- ja salpaustoimintoja, lokin ylläpitotoimintoja ja sivun päivitystoimintoja transaktion päivitysoperaation suoritus sisältää. Osaa perustella, milloin lokikirjauksen pitää olla toisto- tai peruutuskelpoinen. Osaa selittää periaatteen, jolla rakennemuutokset kirjataan lokiin. |
Osaa arvioida puskurinhallinnan eri ratkaisujen merkitystä tietokannan hallinnan tehostamisessa. |
|
3. Transaktioiden peruutus ja tietokannan elvytys järjestelmähäiriöistä |
Osaa selittää transaktion keskeytyksessä ja peruutuksessa sekä sumean tarkistuspisteen ottamisessa tarvittavat toimenpiteet ja niiden merkityksen. Osaa luetella, mitä toimintoja sisältyy ARIES-elvytysalgoritmin analyysi-, toisto- ja peruutusvaiheisiin ja missä järjestyksessä ne suoritetaan. |
Osaa simuloida ARIES-elvytysalgoritmin toiminnan yksityiskohtaisesti avainvälimallin transaktioille, kun lokilevyn ja tietokantalevyn sisältö häiriötilanteessa tunnetaan. |
Osaa perustella ARIES-algoritmin suunnittelussa valittuja ratkaisuvaihtoehtoja ja näyttää algoritmin oikeellisuuden. Osaa selittää rakennemuutosten elvytyksen eri ratkaisuvaihtoehdot. |
|
4. Transaktioiden eristyvyys |
Osaa määritellä transaktion ajoituksen käsitteen. Osaa selittää luku-kirjoitus-mallin mukaisen transaktion eristyvyysanomalioiden (likainen kirjoitus, likainen luku ja toistokelvoton luku) merkityksen. Osaa selittää SQL:n neljän eristyvyystason merkityksen. |
Osaa perustella, miksi eristyvyysanomalioita sisältämätön ajoitus on sarjallistuva. Osaa näyttää, kuinka oikeellisten transaktioiden ajoitus, jossa transaktiot eivät ole riittävän eristyneitä, voi rikkoa tietokannan eheyden. Osaa selittää tilannevedoseristyvyyden käsitteen. |
Osaa arvioida tarkasteltuja eristyvyyskäsitteitä kurssilla esitettyä avainvälimallia monipuolisempien transaktiomallien tapauksessa. Osaa vertailla eristyvyysanomalioita muihin kirjallisuudessa esitettyihin eristyvyyskäsitteisiin. |
|
5. Transaktioiden samanaikaisuuden hallinta |
Osaa selittää lukkotaulun rakenteen sekä ankarassa kaksivaihelukituksessa varattavat lukot. Osaa perustella, miksi annettu ajoitus on mahdollinen tai mahdoton ankarassa kaksivaihelukituksessa. Osaa selittää lukkiuman syyt. |
Osaa selittää, mitä avainvälilukituskäytännön mukaisia lukkoja transaktiot varaavat annetussa ajoituksessa ja milloin lukot vapautetaan. Osaa perustella, miksi lukituskäytäntö estää eristyvyysanomaliat. Osaa perustella avainvälilukitus- ja monirakeisuuslukituskäytännön lukkojen yhteensopivuudet. Osaa selittää, miten lukkiumat havaitaan ja puretaan. Osaa selittää, miten päivätykseen varautumislukot estävät lukon korotuksesta johtuvat lukkiumat. |
Osaa selittää Commit-LSN-mekanismin ja sen käyttötilanteet. Osaa selittää moniversioivan samanaikaisuuden hallinnan periaatteen. Osaa arvioida eri samanaikaisuuden hallintamenetelmiä transaktionkäsittelyn suoritustehon ja saavutettavan eristyvyystason kannalta. |