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

Serializable Isolation

Serializability

Результат транзакций эквивалентен некоторому последовательному выполнению.

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

Проблемный вариант выглядит так: решение принимают без учета механизма «Serializable Isolation», оценивая только ближайший эффект. На практике принцип полезен, когда решение в области «Схема данных» выглядит локальным, но меняет поведение всей системы. Поэтому заранее определяют, какие данные считаются правильными и что произойдёт при параллельных изменениях или сбое.

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

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

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

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

Решение принимают без учета механизма «Serializable Isolation», оценивая только ближайший эффект.

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

Перед изменением проверяют, как «Serializable Isolation» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

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

Источник

Hal Berenson et al.. A Critique of ANSI SQL Isolation Levels (1995).

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