![]() |
SUMit Roostersoftware > Wekelijkse Noot > Februari 2001 > Locking | English · Zoek... |
Locking |
Maandag, 19 februari 2001 |
![]() | ||||||||
Wat te doen als twee gebruikers tegelijkertijd dezelfde gegevens willen wijzigen?
Drie oplossingen:
Geen lockingDit is de meest simpele vorm. De gebruiker die het laatst een update doet wint, de wet van de laatst sprekende. |
||||||||||
Gebruiker 1 | Leest A | Schrijft B | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Waarde in database | A | B | C | |||||||
Gebruiker 2 | Leest A | Schrijft C | ||||||||
In het voorbeeld hierboven schrijft gebruiker 2 het laatst. Zijn 'C' wint. De 'B' van gebruiker 1 gaat verloren. | ||||||||||
Voordelen
| Nadelen
|
|||||||||
Pessimistic LockingHier geldt een blokkade voor anderen, zolang één gebruiker met een gegeven bezig is. De blokkade ispessimistisch, slechts voor het geval dat er later een update volgt. | ||||||||||
Gebruiker 1 | Leest A | Schrijft B | ||||||||
Waarde in database | A | B | C | |||||||
Gebruiker 2 | ![]() |
Leest B | Schrijft C | |||||||
Voordelen
| Nadelen
|
|||||||||
Optimistic LockingBij optimistic locking werkt de blokkade achteraf met een controle op de juiste versie.In de database staan datum en tijd van de laatste versie. Bij een schrijfactie controleert de applicatie of de update nog wel met geldige gegevens werkt. Een gebruiker die met verouderde gegevens blijkt te werken moet z'n actie overnieuw doen. | ||||||||||
Gebruiker 1 | Leest A 09:00 | Schrijft A 09:00 -> B | ||||||||
Waarde in database | A 09:00 | B 10:15 | C 11:30 | |||||||
Gebruiker 2 | leest A 09:00 | Schrijft A 09:00 -> C ![]() |
Leest B 10:15 | Schrijft B 10:15 -> C | ||||||
Voordelen
| Nadelen
|
|||||||||
Januari 2001
· Bezit
· Thuis
· Locking
· Sok
· Maart 2001
Home · Zoek... |