Jump to content

Томас пишет правило

В информатике , особенно в области баз данных , правило записи Томаса является правилом управления параллелизмом на основе меток времени . Это можно резюмировать как игнорирование устаревших записей .

В нем говорится, что если более поздняя транзакция уже записала значение объекта, то менее поздней транзакции не нужно выполнять запись, поскольку более поздняя транзакция в конечном итоге перезапишет его.

Правило записи Томаса применяется в ситуациях, когда предопределенный логический транзакциям при их запуске назначается порядок. Например, транзакции может быть присвоена монотонно увеличивающаяся временная метка при ее создании. Правило не позволяет изменениям порядка выполнения транзакций создавать разные выходные данные: выходные данные всегда будут соответствовать предопределенному логическому порядку.

Например, рассмотрим базу данных с тремя переменными (A, B, C) и двумя атомарными операциями C := A (T1) и C := B (T2). Каждая транзакция включает в себя чтение (A или B) и запись (C). Единственным конфликтом между этими транзакциями является запись на C. Ниже приведен один из возможных графиков операций этих транзакций:

Если (при создании транзакций) T1 присвоена временная метка, которая предшествует T2 (т. е. в соответствии с логическим порядком T1 идет первым), то только запись T2 должна быть видна. Однако если запись T1 выполняется после записи T2, то нам нужен способ обнаружить это и отменить запись.

Один из практических подходов к этому — пометить каждое значение меткой времени записи (WTS), которая указывает метку времени последней транзакции, изменившей значение. Для обеспечения соблюдения правила записи Томаса требуется только проверка того, превышает ли временная метка записи объекта временную метку транзакции, выполняющей запись. Если да, то запись отменяется.

В приведенном выше примере, если мы называем TS(T) меткой времени транзакции T, а WTS(O) — меткой времени записи объекта O, то запись T2 устанавливает WTS(C) в TS(T2). Когда T1 пытается записать C, он видит, что TS(T1) < WTS(C), и отменяет запись. Если бы третья транзакция T3 (с TS(T3) > TS(T2)) затем выполнила запись в C, она получила бы TS(T3) > WTS(C), и запись была бы разрешена.

  • Роберт Х. Томас (1979). «Консенсусный подход большинства к управлению параллелизмом для баз данных с несколькими копиями» . Транзакции ACM в системах баз данных . 4 (2): 180–209. дои : 10.1145/320071.320076 .

©


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1f5d95fc1e2c24a8ee701d98fb46b323__1679342280
URL1:https://arc.ask3.ru/arc/aa/1f/23/1f5d95fc1e2c24a8ee701d98fb46b323.html
Заголовок, (Title) документа по адресу, URL1:
Thomas write rule - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)