Etusijakaavio - Precedence graph
Etusija kaavio , myös nimeltään konflikti kaavio ja serializability kaavio , jota käytetään yhteydessä samanaikaisuuden hallinta on tietokantoihin .
Aikataulun S etusijakaavio sisältää:
- Solmu jokaiselle suoritetulle tapahtumalle S: ssä
- Kaari T i: stä T j: een, jos T i: n toiminta edeltää ja on ristiriidassa jonkin T j : n toiminnan kanssa. Toisin sanoen toiminnot kuuluvat eri tapahtumiin, ainakin yksi toiminnoista on kirjoitusoperaatio ja toiminnot käyttävät samaa objektia (luku tai kirjoitus).
Esimerkkejä prioriteettikaavioista
Esimerkki 1
Esimerkki 2
Aikataulun D etusijakaavio, 3 tapahtumaa. Koska sitoutuneiden tapahtumien T1 ja T2 läpi on jakso (pituus 2; kaksi reunaa), tämä aikataulu (historia) ei ole ristiriitaisuussarjoitettavissa . Huomaa, että tapahtuman 2 suorittamisella ei ole merkitystä prioriteettikaavion luomisessa.
Serialisoitavuuden testaaminen prioriteettikaavion avulla
Algoritmi S-aikataulun konfliktiserialisoitavuuden testaamiseksi yhdessä esimerkki-aikataulun kanssa.
- tai
- Jokaista tapahtuman T x osallistuvien aikataulussa S, luoda solmu merkitty T i on etusija kuvaaja. Näin ollen etusija kuvaaja sisältää T 1 , T 2 , T 3 .
- Luo kullekin S: n tapaukselle, jossa T j suorittaa read_item (X) sen jälkeen, kun T i suorittaa kirjoitusalueen (X), prioriteettikaavioon reuna (T i → T j ). Tätä ei tapahdu missään yllä olevassa esimerkissä, koska lukemista kirjoituksen jälkeen ei ole.
- Kullekin S: n tapaukselle, jossa T j suorittaa kirjoitusalueen (X) sen jälkeen, kun T i suorittaa lukulauseen (X), luo reuna (T i → T j ) etusijakaavioon . Tämä johtaa suunnatun reunan T 1 -T 2 (kuten T- 1 on R (A) ennen kuin T 2 , jossa W (A) ).
- Kullekin S: n tapaukselle, jossa T j suorittaa kirjoitusalueen (X) sen jälkeen, kun T i suorittaa kirjoitusalueen (X), luo reuna (T i → T j ) etusijakaavioon . Tämä johtaa ulottuvat reunat T 2 -T 1 , T 2 T 3 ja T 1 -T 3 .
- Aikataulu S on sarjoitettavissa vain ja vain, jos etusijakaaviossa ei ole syklejä. Kuten T 1 ja T 2 muodostavat syklin, yllä olevassa esimerkissä ei ole (ristiriita) sarjoittaa.
Viitteet
Ulkoiset linkit
- Tietokantajärjestelmien perusteet, 5. painos, etusijakaavioiden käyttöä käsitellään luvussa 17, koska ne liittyvät konfliktien sarjallisuuden testeihin .
- Abraham Silberschatz, Henry Korth ja S. Sudarshan. 2005. Database Systems Concepts (5 toim.), PP. 628–630. McGraw-Hill, Inc., New York, NY, Yhdysvallat.