Термин SQL и базы данных обновлено

Write skew: что это

Коротко

Write skew: аномалия, когда две транзакции читают пересекающиеся данные, проверяют инвариант и меняют разные строки, а вместе нарушают инвариант. Пример: два дежурных врача одновременно снимаются с дежурства.

Определение

Аномалия, когда две транзакции читают пересекающиеся данные, проверяют инвариант и меняют разные строки, а вместе нарушают инвариант. Пример: два дежурных врача одновременно снимаются с дежурства. Repeatable Read в PostgreSQL от неё не защищает, Serializable защищает.

Из урока «Транзакции и изоляция за 8 минут»

Write skew: две транзакции читают пересекающиеся данные и меняют разные строки, вместе нарушая инвариант (оба дежурных врача снялись с дежурства, каждый видел, что второй остаётся). Serializable (SSI) дополнительно ловит write skew и откатывает одну из конфликтующих транзакций.

Читать урок целиком

Запомните, а не прочитайте

В тренажёре карточка вернётся, когда начнёт забываться. А билеты по SQL и базы данных проверят, что термин понятен в деле.