SYSTEM ATLASЗагрузка материала

Write Skew

Write Skew

Параллельные изменения разных строк могут совместно нарушить инвариант.

Простыми словами

Представьте двух врачей, каждый видит, что второй дежурит, и одновременно снимает себя со смены. Они изменяют разные строки, но вместе нарушают правило «хотя бы один врач должен остаться»; поэтому одной проверки отдельных записей недостаточно.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Применять локальное решение без проверки контекста, ограничений и вторичных последствий.

Системный подход

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Write Skew» объясняет только часть происходящего в области «Базы данных и данные». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Hal Berenson et al.. A Critique of ANSI SQL Isolation Levels. 1995. DOI 10.1145/223784.223785.

Первоисточник