Graf priority - Precedence graph
Přednost graf , také nazývaný konflikt graf a sériovost graf se používá v souvislosti s souběžnosti kontroly v databázích .
Graf priority pro plán S obsahuje:
- Uzel pro každou potvrzenou transakci v S.
- Oblouk z T i do T j, pokud akce T i předchází a je v konfliktu s jednou z akcí T j . To znamená, že akce patří do různých transakcí, alespoň jednou z akcí je operace zápisu a akce přistupují ke stejnému objektu (čtení nebo zápis).
Příklady grafu priority
Příklad 1
Příklad 2
Prioritní graf plánu D se 3 transakcemi. Vzhledem k tomu, je cyklus (o délce 2, se dvěma hranami) přes potvrzených transakcí T1 a T2, tento program (historie) je není konflikt serializovatelný . Všimněte si, že potvrzení transakce 2 nemá žádný význam, pokud jde o vytvoření prioritního grafu.
Testování serializovatelnosti s grafem priority
Algoritmus pro testování Serializovatelnosti konfliktu plánu S spolu s ukázkovým plánem.
- nebo
- Pro každou transakci T x účastnící se plánu S vytvořte uzel označený T i v grafu priority. Graf priority tedy obsahuje T 1 , T 2 , T 3 .
- Pro každý případ v S, kde T j provede read_item (X) po T i provede write_item (X), vytvořit hranu (T i → T j ) v přednost graf. Ve výše uvedeném příkladu se to nikde nevyskytuje, protože po zápisu není čtení.
- Pro každý případ v S, kde T j provede write_item (X) po T i provede read_item (X), vytvořit hranu (T i → T j ) v přednost graf. To má za následek směřující hrany od T 1 až T 2 (jako T 1 má R (A) , než T 2 s W (A) ).
- Pro každý případ v S, kde T j provede write_item (X) po T i provede write_item (X), vytvořit hranu (T i → T j ) v přednost graf. To má za následek směřujících hran od T 2 až T 1 , T 2 až T 3 a T 1 až T 3 .
- Plán S je serializovatelný právě tehdy, pokud graf priority nemá žádné cykly. Jako T 1 a T 2 tvoří cyklus, výše uvedený příklad není (konflikt) serializovatelný.
Reference
externí odkazy
- Základy databázových systémů, 5. vydání, použití prioritních grafů je popsáno v kapitole 17, protože se týkají testů serializovatelnosti konfliktů .
- Abraham Silberschatz, Henry Korth a S. Sudarshan. 2005. Database Systems Concepts (5. vydání), PP. 628–630. McGraw-Hill, Inc., New York, NY, USA.