logo
Шпора ПРИС для Тани

Метки времени

Каждой транзакции присваивается глобальная уникальная метка времени. Значение метки времени явно определяет порядок, в котором транзакции предоставляются СУБД.

Метки времени должны обладать двумя свойствами:

  1. Уникальностью. Гарантирует отсутствие одинаковых значений меток времени.

  2. Монотонностью. Гарантирует, что значение метки времени всегда возрастает.

Все операции БД в рамках данной транзакции должны иметь одну и ту же метку времени. СУБД выполняет конфликтующие операции в порядке меток времени, что гарантирует их последовательное выполнение. Когда две транзакции конфликтуют, одна из них останавливается, откатывается, снова планируется на запуск и ей присваивается новая метка времени.

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