Procházet otázky :: SZZ na MFF UK

#

- Hlavní strana
- Okruhy
- Projít
- Stáhnout
- Co je potřeba
- Chci přispět
- Kredity

Hledat:

## Prohlížení státnicových textů

#### Časová razítka

- Další z protokolů zaručující uspořádatelnost je využití časových razítek. Na začátku dostane transakce časové razítko - (časová razítka jsou unikátní a v čase rostou), abychom věděli pořadí, ve kterém by měli být transakce vykonány. Každý objekt v databázi má čtecí razítko - (read timestamp), které je aktualizováno, když je objekt čten, a zapisovací razítko - (write timestamp), které je aktualizováno, když nějaká transakce objekt mění.

Pokud chce transakce číst objekt mohou nastat dva případy:

- , tzn. někdo změnil objekt potom co byla spuštěna transakce . V tomto případě musí být transakce zrušena a spouštěna znovu (a tedy s jiným časovým razítkem).

- , tzn. je bezpečné objekt číst. V tomto případě přečte a je nastaveno na .

Pokud chce transakce zapisovat do objektu rozlišujeme případy tři:

- , tzn. někdo četl poté co byla spuštěna a předpokládáme, že si pořídil lokální kopii. Nemůžeme tedy změnit, protože by lokální kopie přestala být platná a tedy je nutné zrušit a spustit znova.

- , tzn. někdo změnil po startu . V tomto případě přeskočíme write operaci a pokračujeme dále normálně. nemusí být restartována.

- V ostatních případech změní a je nastaveno na .