Простыми словами
Представьте фотографию базы данных, сделанную в момент начала операции: чтения внутри этой операции продолжают видеть именно эту картину, даже если рядом уже появились новые версии строк. Например, отчёт может спокойно дочитать старый снимок, пока другая операция обновляет заказ. Поэтому при записи всё равно отдельно проверяют столкновения изменений, чтобы две параллельные операции не перезаписали важный результат незаметно.
Механизм действия
Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.
Пример в работе
Решение принимают без учета механизма «Snapshot Isolation», оценивая только ближайший эффект.
Перед изменением проверяют, как «Snapshot Isolation» влияет на ограничения, стимулы, зависимости и вторичные последствия.
Ограничения
«Snapshot Isolation» объясняет только часть происходящего в области «Базы данных и данные». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.
Источник
Hal Berenson et al.. A Critique of ANSI SQL Isolation Levels (1995).