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.
 
07.09.2012 - 21:47 Webmaster
08.03.2011 - 12:13 Jyrki Kivinen