Weblog   Foto galerie   Odkazy   Implementace katedrálního portálu   ZČU-FAV

Databázové systémy 1 (DB1) - Paralelní zpracování transakcí

S?BD obsahuje 3 moduly pro paralelní zpracování:

  • modul řízení transakcí (RT) – na který se transakce obracejí s žádostí o provedení operace
  • plánovač – zabezpečuje synchronizaci požadavků více transakcí (z modulu RT), požadavky zpracovává do tzv. plánů
  • modul řízení dat (RD) – v databázi vykonává čtení, zápis podle požadavků plánovače

U paralelního běhu se hlídá uspořádanost – aby výsledek dopadl stejně jako při sériovém uspořádání. Chyba nastane, když transakce nastanou navzájem – transakce se musí řídit.

LOCK

Objekt smí být zamčen pouze jednou transakcí a pokud jiná transakce chce číst hodnotu x, tak je pozastavena.

UNLOCK

Musí být proveden transakcí, která hodnotu x zamkla.

Lze dokázat, že uspořadatelnost je zaručena

  • Objekt může být v jednom okamžiku uzamčen pouze pro jednu transakci.
  • Jakmile transakce odemkne alespo? 1 objekt, nesmí již žádný jiný objekt zamknout.

Výlučný zámek x sdílený zámek. Sdílený zámek dovolí číst.

Jiné uzamykací protokoly – mohou být jiné, ale vyžaduje to další znalost o databázích. V případě stromu – hierarchická struktura (strom nemusí být vyvážený). Hierarchické databáze – závislost mezi entitami vytváří strom.

Stromový protokol pro hierarchickou databázi

  • Výlučný zámek transakce T lze použít na jakýkoliv objekt X.
  • Další objekt může být uzamčen transakcí T, pokud byl v T uzamčen jeho předchůdce.
  • Objekty mohou být odemknuty kdykoliv.
  • Objekt, který byl transakcí T zamknut a odemknut, nesmí být znovu zamknut transakcí T.

Poznámka: Lze dokázat, že tento protokol zaručí, že všechny rozvrhy jsou uspořádatelné a navíc nemůže dojít k uvíznutí.

Uzamykací protokol pro databázi typu B-stromu: uzel, který při operaci INSERT nebo operaci DELETE nezpůsobí zásah do nadřízeného uzlu nebo sousedů, se nazývá bezpečný.

Porovnání stromových a dvoufázových protokolů

Pokud chci hodnotit protokol, tak sleduji, kolik objektů zamkne a na jak dlouho je zamkne. Stromové protokoly zamykají více objektů, ale na kratší dobu. U stromových protokolů nedojde k uvíznutí.

Časové značky

  • sledujeme časovou značku u transakce, což je okamžik, kdy transakce vznikla
  • u každého objektu sledujeme časovou značku posledního čtení (R/ČZ) a časovou značku posledního zápisu (W/ČZ)

Princip

Transakce vznikne v určitém okamžiku a nemůže pracovat s objekty, jejichž hodnoty se změnily v "budoucnosti".