Thomas napsal pravidlo - Thomas write rule - Wikipedia

v počítačová věda, zejména oblast databáze, Thomas napsal pravidlo je pravidlem v řízení souběžnosti založené na časovém razítku. Lze to shrnout jako ignorovat zastaralé zápisy.

Uvádí, že pokud novější transakce již zapsala hodnotu objektu, pak méně nedávná transakce nemusí provádět svůj vlastní zápis, protože bude nakonec přepsána novější.

Pravidlo pro zápis Thomase se použije v situacích, kdy je předem definováno logický objednávka je přiřazena transakcím při jejich zahájení. Například transakci lze při vytvoření přiřadit monotónně rostoucí časové razítko. Pravidlo brání změnám v pořadí, ve kterém jsou transakce prováděny, ve vytváření různých výstupů: Výstupy budou vždy konzistentní s předdefinovaným logickým pořadím.

Zvažte například databázi se 3 proměnnými (A, B, C) a dvěma atomovými operacemi C: = A (T1) a C: = B (T2). Každá transakce zahrnuje čtení (A nebo B) a zápis (C). Jediným konfliktem mezi těmito transakcemi je zápis na C. Následuje jeden možný plán operací těchto transakcí:

Pokud (když jsou transakce vytvořeny) je T1 přiřazeno časové razítko, které předchází T2 (tj. Podle logického pořadí je T1 na prvním místě), pak by měl být viditelný pouze zápis T2. Pokud se však zápis T1 provede po zápisu T2, pak potřebujeme způsob, jak to detekovat a zahodit zápis.

Jedním praktickým přístupem k tomu je označení každé hodnoty časovým razítkem pro zápis (WTS), které označuje časové razítko poslední transakce, která má hodnotu upravit. Vynucení pravidla pro zápis Thomase vyžaduje pouze kontrolu, zda je časové razítko zápisu objektu větší než časové razítko transakce provádějící zápis. Pokud ano, zápis je zahozen

Ve výše uvedeném příkladu, pokud nazýváme TS (T) časové razítko transakce T a WTS (O) časové razítko zápisu objektu O, pak zápis T2 nastaví WTS (C) na TS (T2). Když se T1 pokusí zapsat C, uvidí, že TS (T1) TS (T2)) měla následně zapisovat do C, získala by TS (T3)> WTS (C) a zápis by byl povolen.

Reference

  • Robert H. Thomas (1979). "Většinový konsenzuální přístup k řízení souběžnosti pro více kopií databází". Transakce ACM v databázových systémech. 4 (2): 180–209. doi:10.1145/320071.320076.

©