Vakgroep Telecommunicatie en Informatieverwerking 1 Werken met databasesystemen: delen van gegevens Hoofdstuk 11 Database, Document and Content Management.

Slides:



Advertisements
Verwante presentaties
1 Op Stap naar het SO. 2 • Waar gaat het om ? • Eerst even kijken naar het keuzewerkboek • Wat moest er zo dringend veranderen ? • Studiekeuzetaken !
Advertisements

KWALITEITSZORG november 2012
Stilstaan bij parkeren Dat houdt ons in beweging
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
De Ontvangst van de Koning
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Beter afspelen.
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
ZIEHIER 36 REDENEN WAAROM BIER
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
1 COVER: Selecteer het grijze vlak hiernaast met rechtsklik & kies ‘change picture’ voor een ander beeld of verwijder deze slide & kies in de menubalk.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Keuzeondersteunend model voor inbouwpakketten bij herbestemmingsprojecten Eindcolloquium Wiebrand Bunt.
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Start.
Kb.1 Ik leer op een goede manier optellen en aftrekken
9 januari 2013 Bodegraven 1. 1Korinthe 11 1 Wordt mijn navolgers, gelijk ook ik Christus navolg. 2.
Nooit meer onnodig groen? Luuk Misdom, IT&T
BZ voor de Klas 3 juni 2010.
Hoofdstuk 6: Controle structuren
Passie - Verrijzenis Arcabas
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
1. 2 De ontwikkeling van creatieve concepten t.b.v. mediacampagnes. Peter van Kessel Creatief Directeur, Headland Interactive.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
Inkomen bij ziekte en arbeidsongeschiktheid
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
1 7 nov Rijnsburg 7 nov Rijnsburg. 2 Hebreeën 7 15 En nog veel duidelijker wordt het, als naar het evenbeeld van Melchisedek een andere priester.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Werken aan Intergenerationele Samenwerking en Expertise.
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
1 Controleplan 2005 Raadgevend comité Hotel President – donderdag 21 april 2005.
Gegevensbanken 2010 Begrippen van transactieverwerking II: technieken voor concurrentiecontrole en herstel Bettina Berendt
Van Vensoc tot Biztax Vennootschapsbelasting Aj 2011.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 5 Stayman & Jacoby 1Contract 2, hst 5. Stayman & Jacoby.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
De financiële functie: Integrale bedrijfsanalyse©
aangename ont - moeting
Centrummaten en Boxplot
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
ZijActief Koningslust
1 DE ADVIEZEN VAN BEURSMAKELAAR BERNARD BUSSCHAERT Week
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
Transcript van de presentatie:

Vakgroep Telecommunicatie en Informatieverwerking 1 Werken met databasesystemen: delen van gegevens Hoofdstuk 11 Database, Document and Content Management

Vakgroep Telecommunicatie en Informatieverwerking 2 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 3 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 4 De behoefte aan ‘concurrency’-controle Gelijktijdige verwerking van transacties –Parallelle verwerking –‘Interleaved’ verwerking transactie A parallelle transacties processor 1 (a)(b) transactie B processor 2 “interleaved” transacties transactie Atransactie B processor 1

Vakgroep Telecommunicatie en Informatieverwerking 5 De behoefte aan ‘concurrency’-controle Soorten problemen bij het ‘gelijktijdig’ verwerking van transacties –‘Lost update’-problemen De aanpassingsoperatie van de ene transactie wordt overschreven door de aanpassingsoperatie van een andere transactie.

Vakgroep Telecommunicatie en Informatieverwerking 6 De behoefte aan ‘concurrency’-controle tijd … lees d … lees d … t1t1 t2t2 t3t3 t4t4 pas d aan … pas d aan … gaat verloren op t 4 ! transactie B transactie A

Vakgroep Telecommunicatie en Informatieverwerking 7 De behoefte aan ‘concurrency’-controle –‘Uncommitted dependency’-problemen Een transactie werkt met data die werden aangepast door een andere transactie en nadien ongeldig worden doordat deze aanpassing bij een ‘rollback’ van de andere transactie ongedaan wordt gemaakt. Dirty read

Vakgroep Telecommunicatie en Informatieverwerking 8 De behoefte aan ‘concurrency’-controle tijd … pas d aan … t1t1 t2t2 t3t3 lees d … ROLLBACK d wordt ongeldig op t 3 ! transactie B transactie A

Vakgroep Telecommunicatie en Informatieverwerking 9 De behoefte aan ‘concurrency’-controle –Problemen van inconsistente analyse Een transactie past gegevens aan terwijl een andere transactie nog bezig is met de verwerking van deze gegevens. Nonrepeatable read Phantom read

Vakgroep Telecommunicatie en Informatieverwerking 10 De behoefte aan ‘concurrency’-controle tijd lees Eigenaar3 pas Eigenaar3 aan lees Eigenaar1 pas Eigenaar1 aan COMMIT t1t1 t2t2 t3t3 lees Eigenaar1 totaal = 45 lees Eigenaar2 totaal = 75 transactie B transactie A fout: moet 100 zijn! t7t7 t8t8 t4t4 t5t5 t6t6 lees Eigenaar3 totaal = 90 Eigenaar 1 Eigenaar 3 Eigenaar

Vakgroep Telecommunicatie en Informatieverwerking 11 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 12 Serialiseerbaarheid van transacties Serialiseerbaarheid –Seriële sequentie –Omvormingsregels Als een instructiesequentie van (‘gelijktijdige’) transacties via omvormingsregels kan worden omge- zet naar een seriële sequentie zegt men dat de instructiesequentie serialiseerbaar is. De instructie- sequentie produceert dan dezelfde resultaten als de verkregen seriële sequentie.

Vakgroep Telecommunicatie en Informatieverwerking 13 Serialiseerbaarheid van transacties –Conflictserialiseerbaarheidsregels  Als twee instructies alleen gegevens lezen, conflicteren ze niet en kan hun volgorde in de instructiesequentie worden omgewisseld.  Als twee instructies elk verschillende data lezen of aanpassen, conflicteren ze niet en kan hun volgorde in de instructiesequentie worden omgewisseld.  Als de ene instructie data aanpast en een andere instructie dezelfde data leest of aanpast, moet hun volgorde in de instructiesequentie behouden blijven.

Vakgroep Telecommunicatie en Informatieverwerking 14 Serialiseerbaarheid van transacties tijd t1t1 t2t2 t3t3 start trans. lees d1 pas d1 aan transactie A t7t7 t8t8 t4t4 t5t5 t6t6 t9t9 t 10 start trans. lees d1 pas d1 aan transactie B lees d2 pas d2 aan COMMIT t 11 lees d2 COMMIT start trans. lees d1 pas d1 aan transactie A start trans. lees d1 transactie B lees d2 COMMIT start trans. lees d1 pas d1 aan lees d2 pas d2 aan COMMIT transactie A start trans. lees d1 pas d1 aan lees d2 COMMIT transactie B pas d2 aan COMMIT pas d1 aan …

Vakgroep Telecommunicatie en Informatieverwerking 15 Serialiseerbaarheid van transacties Werken met isolatieniveaus –Isolatieniveau ‘Read uncommitted’. Een transactie kan data lezen die aangepast, maar nog niet bevestigd zijn door een andere transactie. Transacties kunnen data aanpassen of toevoegen terwijl een andere transactie met deze data werkt. Hierdoor loopt men risico op ‘dirty read’, ‘nonrepeatable read’ en ‘phantom read’. ‘Read committed’. Deze optie beveiligt tegen ‘dirty read’. ‘Nonrepeatable read’ en ‘phantom read’ blijven mogelijk.

Vakgroep Telecommunicatie en Informatieverwerking 16 Serialiseerbaarheid van transacties ‘Repeatable read’. Deze optie beveiligt tegen ‘dirty read’ en ‘nonrepeatable read’. ‘Phantom read’ blijft mogelijk. ‘Serializable’. Deze optie vereist dat de instructiesequenties serialiseerbaar zijn.

Vakgroep Telecommunicatie en Informatieverwerking 17 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 18 ‘Timestamping’-methoden Principe –Oudere transacties krijgen bij conflict steeds voorrang op jongere transacties –‘Timestamp’ aan het begin van elke transactie –‘Lees-timestamp’ –‘aanpassing-timestamp’ Een timestamp is een unieke identificator die de relatieve starttijd van een transactie aanduidt.

Vakgroep Telecommunicatie en Informatieverwerking 19 ‘Timestamping’-methoden Basisregels –Als een transactie een gegeven wenst te lezen of aan te passen, wordt dit alleen toegestaan als de recentste aanpassing op dat gegeven gebeurde door een oudere transactie. –In het andere geval wordt het lezen of aanpassen geweigerd en wordt de transactie ongedaan gemaakt (‘rollback’) en opnieuw opgestart met een nieuwe, recentere ‘timestamp’

Vakgroep Telecommunicatie en Informatieverwerking 20 ‘Timestamping’-methoden Basisprotocol –Transactie T wil het gegeven d lezen Als transactie T een gegeven d wil lezen dat werd aangepast door een recentere transactie, dan moet T worden afgebroken (‘rollback’) en met een nieuwe timestamp opnieuw worden opgestart. Als transactie T een gegeven d wil lezen dat niet werd aangepast door een recentere transactie, dan kan T zijn leesoperatie uitvoeren. Nadien wordt de lees-timestamp van d als volgt geactualiseerd: lees-timestamp(d) = max( timestamp(T), lees-timestamp(d) )

Vakgroep Telecommunicatie en Informatieverwerking 21 ‘Timestamping’-methoden –Transactie T wil het gegeven d aanpassen. Als transactie T een gegeven d wil aanpassen dat reeds gelezen werd door een recentere transactie, dan moet T worden afgebroken (‘rollback’) en opnieuw met een nieuwe timestamp worden opgestart. Als transactie T een gegeven d wil aanpassen dat reeds aangepast werd door een recentere transactie, dan moet T worden afgebroken (‘rollback’) en opnieuw een nieuwe time­stamp worden opgestart.

Vakgroep Telecommunicatie en Informatieverwerking 22 ‘Timestamping’-methoden In alle andere gevallen, kan transactie T de aanpassing uitvoeren. Nadien wordt de aanpassing-timestamp van d als volgt geactualiseerd: aanpassing-timestamp(d) = timestamp(T)

Vakgroep Telecommunicatie en Informatieverwerking 23 ‘Timestamping’-methoden De aanpassingsregel van Thomas Als transactie T een gegeven d wil aanpassen dat reeds aangepast werd door een recentere transactie, dan kan de aanpassing door T veilig worden genegeerd zonder dat T moet worden afgebroken. Granulariteit Hoe groot is de data-eenheid waaraan de ‘timestamp’ wordt gekoppeld? ‘Lost update’-problemen opnieuw bekeken

Vakgroep Telecommunicatie en Informatieverwerking 24 ‘Timestamping’-methoden tijd … lees d … lees d … t2t2 t4t4 t5t5 t6t6 pas d aan ROLLBACK … pas d aan … transactie B transactie A t1t1 t3t3 timestamp( transactie A ) = t 1 tijd t2t2 t4t4 t5t5 t6t6 t1t1 t3t3 lees-timestamp( d ) = t 1 t8t8  t9t9 aanpassing-timestamp( d ) = t 7 timestamp( transactie B ) = t 3 lees-timestamp( d ) = t 3 t 1 < t 3 … lees d … pas d aan aanpassing-timestamp( d ) = t 3 timestamp( transactie A ) = t 7 t7t7 lees-timestamp( d ) = t 7

Vakgroep Telecommunicatie en Informatieverwerking 25 ‘Timestamping’-methoden ‘Uncommitted dependency’-problemen opnieuw bekeken tijd … lees d … pas d aan … t2t2 t4t4 ROLLBACK transactie B transactie A t1t1 t3t3 timestamp( transactie B ) = t 1 tijd t2t2 t4t4 t5t5 t1t1 t3t3  timestamp( transactie A ) = t 3 aanpassing-timestamp( d ) = t 1 lees-timestamp( d ) = t 3

Vakgroep Telecommunicatie en Informatieverwerking 26 ‘Timestamping’-methoden Problemen van inconsistente analyse opnieuw bekeken tijd lees Eig.3 pas Eig.3 aan lees Eig.1 pas Eig.1 aan COMMIT t1t1 t2t2 t3t3 lees Eig.1 totaal = 45 lees Eig.2 totaal = 75 transactie B transactie A timestamp( transactie A ) = t 1 tijd t2t2 t4t4 t1t1 t3t3 lees-timestamp( Eig.1 ) = t 1 t5t5 t5t5 t4t4 t7t7 t7t7 t8t8 t6t6 t6t6 t8t8 lees-timestamp( Eig.2 ) = t 1 timestamp( transactie B ) = t 4 lees-timestamp( Eig.3 ) = t 4 aanpassing-timestamp( Eig.3 ) = t 4 lees-timestamp( Eig.1 ) = t 4 aanpassing-timestamp( Eig.1 ) = t 4

Vakgroep Telecommunicatie en Informatieverwerking 27 ‘Timestamping’-methoden Problemen van inconsistente analyse opnieuw bekeken (vervolg) tijd transactie A lees Eig.3 ROLLBACK tijd t9t9  lees Eig.1 totaal = 45 lees Eig.2 totaal = 75 lees Eig.3 totaal = 100 t9t9 t 11 t 12 t 11 t 12 t 10 t 13 t 1 < t 4 timestamp( transactie A ) = t 10 lees-timestamp( Eig.1 ) = t 10 lees-timestamp( Eig.2 ) = t 10 lees-timestamp( Eig.3 ) = t 10

Vakgroep Telecommunicatie en Informatieverwerking 28 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 29 ‘Locking’-methoden Principe –Alvorens een transactie een gegeven kan lezen of aanpassen moet het daartoe eerst een gepaste ‘lock’ op het gegeven verkrijgen Een lock is een soort van reservering op een gegeven, waardoor een transactie een exclusieve of gedeelde toegang tot het gegeven krijgt en de gewenste operatie kan uitvoeren.

Vakgroep Telecommunicatie en Informatieverwerking 30 ‘Locking’-methoden –Exclusieve en gedeelde locks gedeeld vraagt exclusief niets gedeeld exclusief niets bestaat geen conflict geen conflict geen conflict geen conflict geen conflict geen conflict

Vakgroep Telecommunicatie en Informatieverwerking 31 ‘Locking’-methoden Basisregels –Een transactie die een gegeven wil lezen, moet daartoe eerst een gedeelde ‘lock’ op het gegeven hebben gekregen van het dbms. –Een transactie die een gegeven wil aanpassen, moet daartoe eerst een exclusieve ‘lock’ op het gegeven hebben gekregen van het dbms.

Vakgroep Telecommunicatie en Informatieverwerking 32 ‘Locking’-methoden Basisprotocol –Een transactie die een gegeven wil lezen, moet eerst een gedeelde ‘lock’ op het gegeven verkrijgen. Dit houdt in dat geen enkele andere transactie een exclusieve ‘lock’ op het gegeven mag hebben.

Vakgroep Telecommunicatie en Informatieverwerking 33 ‘Locking’-methoden –Een transactie die een gegeven wil aanpassen, moet eerst een exclusieve ‘lock’ op het gegeven verkrijgen. Dit houdt in dat geen enkele andere transactie een gedeelde ‘lock’ of exclusieve ‘lock’ op het gegeven mag hebben. Als de transactie die de exclusieve ‘lock’ vraagt, de enige transactie is met een ‘lock’ op het gegeven – wat dan noodzakelijk een gedeelde ‘lock’ moet zijn – dan wordt deze gedeelde ‘lock’ gepromoveerd tot een exclusieve ‘lock’.

Vakgroep Telecommunicatie en Informatieverwerking 34 ‘Locking’-methoden –Als een ‘lock’-aanvraag door een transactie niet onmiddellijk kan worden ingewilligd omdat een andere transactie een conflicterende ‘lock’ op het gegeven heeft, moet de transactie door het dbms in een wachttoestand worden gezet. Deze wachttoestand duurt net zo lang tot de andere transactie de conflicterende ‘lock’ vrijgeeft. –Exclusieve en gedeelde ‘locks’ worden vrijgegeven aan het einde van de transactie.

Vakgroep Telecommunicatie en Informatieverwerking 35 ‘Locking’-methoden Het ‘twee-fase locking’-protocol Het ‘twee-fase locking’-protocol houdt in dat een transactie kan worden opgedeeld in twee fasen. In een eerste fase, die de groeifase wordt genoemd, kan de transactie ‘locks’ aanvragen en toegekend krijgen. In de tweede fase, die de krimpfase wordt genoemd, worden de verkregen ‘locks’ vrijgegeven. Tijdens de krimpfase kan de transactie geen nieuwe ‘locks’ meer verkrijgen.

Vakgroep Telecommunicatie en Informatieverwerking 36 ‘Locking’-methoden Het ‘twee-fase locking’-theorema Granulariteit Als alle transacties werken volgens het ‘twee-fase locking’-protocol, dan zijn de instructie­ sequenties van alle ‘gelijktijdige’ uitvoeringen van deze transacties serialiseerbaar.

Vakgroep Telecommunicatie en Informatieverwerking 37 ‘Locking’-methoden ‘Lost update’-problemen opnieuw bekeken tijd … lees d … lees d … t1t1 t4t4 pas d aan … pas d aan transactie B transactie A tijd t1t1 t4t4 transactie A vraagt en krijgt gedeelde “lock” op d deadlock ! transactie B vraagt en krijgt gedeelde “lock” op d t2t2 t2t2 t3t3 t3t3 transactie A vraagt exclusieve “lock” op d, maar moet wachten wacht transactie B vraagt exclusieve “lock” op d, maar moet wachten tijd … lees d … lees d … t1t1 t4t4 pas d aan … pas d aan transactie B transactie A tijd t1t1 t4t4 transactie A vraagt en krijgt gedeelde “lock” op d transactie B vraagt en krijgt gedeelde “lock” op d t2t2 t2t2 t3t3 t3t3 transactie A vraagt exclusieve “lock” op d, maar moet wachten wacht transactie B vraagt exclusieve “lock” op d, maar moet wachten

Vakgroep Telecommunicatie en Informatieverwerking 38 ‘Locking’-methoden ‘Uncommitted dependency’-problemen opnieuw bekeken tijd … lees d … pas d aan … t1t1 t2t2 ROLLBACK transactie B transactie A tijd t1t1 t2t2 t3t3 lees d … wacht transactie B vraagt en krijgt exclusieve “lock” op d transactie A vraagt gedeelde “lock” op d, maar moet wachten transactie B geeft exclusieve “lock” op d vrij t4t4 t4t4 transactie A krijgt gedeelde “lock” op d en kan verder werken

Vakgroep Telecommunicatie en Informatieverwerking 39 ‘Locking’-methoden Problemen van inconsistente analyse opnieuw bekeken tijd lees Eig.3 pas Eig.3 aan lees Eig.1 pas Eig.1 aan t1t1 t2t2 t3t3 lees Eig.1 totaal = 45 lees Eig.2 totaal = 75 transactie B transactie A lees Eig.3 tijd t2t2 t4t4 t1t1 t3t3 t5t5 t5t5 t4t4 t7t7 t7t7 t6t6 t6t6 deadlock ! transactie B vraagt en krijgt gedeelde “lock” op Eig.1 wacht transactie B vraagt exclusieve “lock” op Eig.1, maar moet wachten transactie A vraagt en krijgt gedeelde “lock” op Eig.1 transactie A vraagt en krijgt gedeelde “lock” op Eig.2 transactie B vraagt en krijgt gedeelde “lock” op Eig.3 transactie B vraagt en krijgt exclusieve “lock” op Eig.3 (promotie) transactie A vraagt gedeelde “lock” op Eig.3, maar moet wachten wacht

Vakgroep Telecommunicatie en Informatieverwerking 40 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 41 Deadlock Omschrijving Een ‘deadlock’ is een situatie waarbij twee of meerdere transacties tegelijkertijd in een wachttoestand verkeren en elk van deze transacties, om zelf verder te kunnen werken, wacht op het moment dat één van de andere transacties ‘locks’ vrijgeeft.

Vakgroep Telecommunicatie en Informatieverwerking 42 Deadlock ‘Deadlock’-detectie –‘Wacht voor’-graaf Detectie van cycli Werken met tijdsinterval –Timeout A B C

Vakgroep Telecommunicatie en Informatieverwerking 43 Deadlock ‘Deadlock’-herstel –Transactie als slachtoffer aanduiden en afbreken –Opnieuw opstarten van de transactie Automatisch Na tussenkomst van de gebruiker –Keuze van het slachtoffer Recentst gestarte transactie Minste wijzigingen Transactie die betrokken is in het meeste deadlocks

Vakgroep Telecommunicatie en Informatieverwerking 44 Deadlock ‘Deadlock’-preventie –Timestamping van transacties ‘Wait-die’-techniek Een jongere transactie die moet wachten op een oudere transactie moet worden afgebroken. ‘Wound-wait’-techniek Als een oudere transactie moet wachten op een jongere transactie moet de jongere transactie worden afgebroken.

Vakgroep Telecommunicatie en Informatieverwerking 45 Overzicht De behoefte aan ‘concurrency’-controle Serialiseerbaarheid van transacties ‘Timestamping’-methoden ‘Locking’-methoden ‘Deadlock’ Optimistische methoden

Vakgroep Telecommunicatie en Informatieverwerking 46 Optimistische methoden Basisprincipe Net voor het succesvol beëindigen en bevestigen van een transactie wordt gecontroleerd of zich geen ‘concurrency’-problemen met de transactie hebben voorgedaan. Is dit zo dan wordt de transactie afgebroken en opnieuw opgestart.

Vakgroep Telecommunicatie en Informatieverwerking 47 Optimistische methoden Protocol –Leesfase: de transactie leest alle data die het nodig heeft uit de database en houdt een kopie van deze gegevens bij in lokale variabelen. Aanpassingen worden uitgevoerd op de lokale kopieën, niet op de database. De leesfase duurt tot net voor de bevestiging (‘commit’) van de transactie.

Vakgroep Telecommunicatie en Informatieverwerking 48 Optimistische methoden –Valideerfase: na de leesfase wordt er gecontroleerd of het uitvoeren van de lees- en/of aanpassingsoperaties op de database de serialiseerbaarheid van de transacties verhindert. Elke transactie A krijgt een ‘timestamp’ start(A) aan het begin van de transactie, een ‘timestamp’ validatie(A) aan het begin van de valideerfase en een ‘time-stamp’ einde(A) bij het einde van de transactie.

Vakgroep Telecommunicatie en Informatieverwerking 49 Optimistische methoden Om te slagen in de validatietest moet voldaan zijn aan één van de volgende voorwaarden: Alle transacties A die voor de beschouwde transactie B startten, moeten ook voor de start van transactie B zijn beëindigd. Als transactie B start voordat een vroegere transactie A werd beëindigd, dan –mag geen enkele van de gegevens die aangepast werden door A worden gelezen door B en –moet transactie A al zijn aanpassingoperaties hebben beëindigd voor de valideerfase van transactie B start. Als de validatietest niet slaagt, wordt transactie B afgebroken en opnieuw opgestart.

Vakgroep Telecommunicatie en Informatieverwerking 50 Optimistische methoden Als de validatietest slaagt, wordt de schrijffase uitgevoerd. Schrijffase: in deze fase worden de eventuele aanpassingen uit de lokale kopieën overgezet naar de database. Na succesvolle uitvoering van de overzettingen wordt de transactie bevestigd.