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



Samankaltaiset tiedostot
Tietokantarakenteet ja -algoritmit 6. harjoitus

Tietokantarakenteet ja -algoritmit Harjoitukset 1-12

Tietokantarakenteet ja -algoritmit 3. harjoitus

Transaktioiden eristyvyys

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

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

Transaktiot - kertausta

Muita transaktioiden hallintamenetelmiä

Transaktioiden samanaikaisuuden hallinta

Looginen tietokanta ja transaktiot

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

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

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

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

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

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

T Transaktionhallinta tietokantajärjestelmissä

iloq Privus - Ohjelmointiopas

HELIA 1 (14) Outi Virkki Tiedonhallinta

Elvytys. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

2017 = = = = = = 26 1

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Ideaalit ja tekijärenkaat Ryhmähomomorfismin φ : G G ydin on ryhmän G normaali aliryhmä. Esko Turunen Luku 7. Ideaalit ja tekijärenkaat

Algoritmit 1. Luento 5 Ti Timo Männikkö

CSE-A1200 Tietokannat

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

5.2 Samanaikaisuuden hallinta

ja s S : ϕ Υ : M,s ϕ, mutta M,s Q. Erityisesti M, t P kaikilla t S, joten

CS-A1150 Tietokannat CS-A1150 Tietokannat / 51

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

4 Matemaattinen induktio

Algoritmit 2. Luento 5 Ti Timo Männikkö

Todistus. Eliminoidaan Euleideen algoritmissa jakojäännökset alhaaltaylöspäin.

HELIA 1 (17) Outi Virkki Tiedonhallinta

D B. Transaktionhallinta - samanaikaisuus

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Transaktionhallinta. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Palautuskansio moduuli, ja sen vuorovaikutukset tehtävien annossa!

Algoritmit 2. Luento 6 Ke Timo Männikkö

OPI-Maksut - Käyttötapaukset

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

finnish BOI 2015, päivä 1. Muistiraja: 256 MB

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

Luentoesimerkki: Riemannin integraali

Ominaisarvot ja ominaisvektorit 140 / 170

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan erilaisia todistustekniikoita. Luentokalvoista 11, sekä voi olla apua.

Dynaaminen ohjelmointi ja vaikutuskaaviot

Ohjelmoinnin peruskurssien laaja oppimäärä

a 2 ba = a a + ( b) a = (a + ( b))a = (a b)a, joten yhtälö pätee mielivaltaiselle renkaalle.

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

LUKUTEORIA johdantoa

Johdatus diskreettiin matematiikkaan Harjoitus 1,

Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

Tietohakemisto ja Transaktionkäsittely

Hajautettujen transaktioiden hallinta

Predikaattilogiikan malli-teoreettinen semantiikka

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

T Testitapaukset TC-1

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

Algebra I, harjoitus 5,

Algoritmit 1. Luento 7 Ti Timo Männikkö

HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina klo

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

MS-A0402 Diskreetin matematiikan perusteet

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

Transaktioiden peruutus ja tietokannan elvytys häiriöstä

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Sivupalvelin- ja yhteislevyjärjestelmät

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

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

3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?

Relaatioalgebra. Kyselyt:

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Talousmatematiikan perusteet, ORMS1030

Matematiikan tukikurssi

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina.

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:

Malliratkaisut Demot

KUMIKORJAAMO ELEKTRA ELEKTRA JATKOKSETTOMATKULUTUSPINNAT

Transkriptio:

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 2 [2]: T 2 :lle pitkäkestoinen X-lukko avaimeen 2 ja lyhytkestoinen X-lukko avaimen 2 seuraajaan. B 3 : T 3 alkaa. I 3 [3]: T 3 :lle pitkäkestoinen X-lukko avaimeen 3 ja lyhytkestoinen X-lukko avaimen 3 seuraajaan. A 2 : T 2 keskeytyy. I2 1 [2]: T 2 poistaa avaimen 2 tietokannasta siihen omistamansa X-lukon turvin. C 2 : T 2 päättää peruutuksensa ja vapauttaa lukkonsa. C 3 : T 3 sitoutuu ja vapauttaa lukkonsa. I 1 [2]: T 1 :lle pitkäkestoinen X-lukko avaimeen 2 ja lyhytkestoinen X-lukko avaimen 2 seuraajaan 3. Ajoitus on mahdollinen. Tietokannassa lopuksi avaimet 1, 2 ja 3. Transaktioiden sarjallistuvuusjärjestyksiä on kolme: T 2 T 1 T 3, T 2 T 3 T 1, T 3 T 2 T 1 (ts. T 2 ennen T 1 :tä). Huomaa, että ajoitus johtaisi lukkiumaan, jos käänteisoperaatiolle I2 1 [2] pitäisi varata lukkoja kuten etenevän vaiheen D 2 [2]:lle. 1

2. B 1 : T 1 alkaa. D 1 [0]: T 1 :lle lyhytkestoinen X-lukko avaimeen 0 ja pitkäkestoinen X-lukko avaimen 0 seuraajaan. A 1 : T 1 keskeytyy. D1 1 [0]: T 1 palauttaa avaimen 0 tietokantaan seuraajan X- lukon turvin. B 2 : T 2 alkaa. R 2 [0]: T 2 :lle pitkäkestoinen S-lukko avaimeen 0. Onnistuu! C 2 : T 2 sitoutuu. T 2 vapauttaa avaimen 0 lukkonsa. C 1 : T 1 päättää peruutuksensa. T 1 vapauttaa avaimen lukkonsa. R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo. 2

3. B 1 : T 1 alkaa. D 1 [0]: T 1 :lle lyhytkestoinen X-lukko avaimeen 0 ja pitkäkestoinen X-lukko avaimen 0 seuraajaan. I 1 [0]: T 1 :lle pitkäkestoinen X-lukko avaimeen 0. D 1 [0]: T 1 pitää kummankin X-lukkonsa. A 1 : T 1 keskeytyy. D1 1 [0]: T 1 palauttaa avaimen 0 tietokantaan seuraajan X- lukon turvin. B 2 : T 2 alkaa. R 2 [0]: T 2 yrittää varata pitkäkestoista S-lukkoa avaimeen 0. Tämä ei onnistu, vaan T 2 joutuu odottamaan. Ajoitus ei siis ole mahdollinen. Huomaa, ettei avain 0 vielä ole sitoutunut siinä vaiheessa, kun D1 1 [0] on suoritettu. Vielä on avaimen 0 päivityksiä T 1 :ssä peruuttamatta. R 2 [0] on likainen luku. 3

4. Ajoituksessa B 1 D 1 [1]B 2 I 2 [2] ei ole yhtään eristyneisyysanomaliaa, mutta se ei kuitenkaan ole mahdollinen avainvälilukituskäytännössä: Tietokannassa {(1, 1), (3, 3)} ajettuna T 2 ei voi saada lyhytkestoista X- lukkoa avaimen 2 seuraajaan 3, koska T 1 :llä on siihen pitkäkestoinen X-lukko (otettu operaatiota D 1 [1] varten). 4

5. Olkoot T 1 ja T 2 eteneviä tai sitoutuneita transaktioita. T 2 :n likainen kirjoitus: T 1 päivittää avaimella x varustettua monikkoa, minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 päivittää avaimella x varustettua monikkoa....w 1 [x]...w 2 [x]... T 2 :n likainen luku: (1) T 1 päivittää monikkoa (x,a,v), minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 lukee operaatiolla R[x, a, v ] monikon (x, a, v )....W 1 [x]...r 2 [x]... (2) T 1 päivittää monikkoa (x,a,v), minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 lukee operaatiolla R[a,s] monikkojoukon s....w 1 [x, a, v, a, v ]...R 2 [a, s]... (3) T 1 päivittää monikon (x,a,v) monikoksi (x, a, v ), minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 lukee operaatiolla R[a, s] monikkojoukon s....w 1 [x, a, v, a, v ]...R 2 [a, s]... T 1 :n toistokelvoton luku: (1) T 1 lukee operaatiolla R[x,a,v] monikon (x,a,v), minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 päivittää avaimella x varustettua monikkoa....r 1 [x]...w [x]... (2) T 1 lukee operaatiolla R[a,s] monikkojoukon s, minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 päivittää monikkoa (x,a,v)....r 1 [a, s]...w [x, a, v, a, v ]... 5

(3) T 1 lukee operaatiolla R[a, s] monikkojoukon s, minkä jälkeen, T 1 :n ollessa vielä aktiivinen, T 2 päivittää monikon (x,a,v) monikoksi (x, a, v )....R 1 [a, s]...w 2 [x, a, v, a, v ]... Yleisessä tapauksessa, so. kun T 1 tai T 2 voi olla myös peruuntuva tai peruutuksensa päättänyt, anomaliat määritellään muokaten luentojen sivujen 100-102 määritelmät tähän transaktiomalliin. Tarkastellaan ensin lukituskäytäntöä, jossa W- ja R-operaatioita varten varataan lukkoja seuraavasti: W[x]: pitkäkestoinen X-lukko avaimeen x. R[x,a,v]: pitkäkestoinen S-lukko avaimeen x. R[a,s]: pitkäkestoinen S-lukko s:n jokaisen monikon (x,a,v) avaimeen x. Tämä lukituskäytäntö estää likaiset kirjoitukset, muotoa (1) tai (3) olevat likaiset luvut sekä muotoa (1) tai (2) olevat toistokelvottomat luvut, muttei muotoa (2) olevia likaisia lukuja eikä muotoa (3) olevia toistokelvottomia lukuja. Muotoa (2) olevat likaiset luvut estyvät, jos operaatiota W [x, a, v, a, v ] varten varataan pitkäkestoinen X-lukko attribuuttiarvoon a ja operaatiota R[a,s] varten vähintään lyhytkestoinen S-lukko a:han. Muotoa (3) olevat toistokelvottomat luvut estyvät, jos operaatiota R[a,s] varten varataan pitkäkestoinen S-lukko attribuuttiarvoon a ja operaatiota W [x, a, v, a, v ] varten vähintään lyhytkestoinen X-lukko arvoon a. 6