Снимок транзакции Уровни изоляции: это действительно работает как рекламируется?

Есть ли у вас проблемы с использованием его в среде с высокой степенью параллелизма? Это действительно работает как рекламируется MS? Я использую SQL Server 2005 и хотел бы услышать опыт тех, кто использует его в приложениях, использующих его на производстве.

Сама по себе изоляция снимков не нова, так как я разрабатываю / администрирую Firebird/Interbase - там, где нет явной блокировки, и все работает при версионировании строк...

1 ответ

Решение

Мы используем изоляцию моментальных снимков на нескольких наших серверах, включая реплику с высокой конкуренцией нашей биллинговой системы (обновления постоянно реплицируются), и существует множество запросов в секунду, которые выбирают из него. Прежде чем мы включили изоляцию моментальных снимков, длительные запросы на выборку часто блокировали репликацию данных выставления счетов до такой степени, что реплика была бы устаревшей на час или более, поскольку однопоточная служба репликации была заблокирована.

После того, как мы включили изоляцию моментальных снимков, проблемы сразу решили сами - операторы Select просматривают самую последнюю внутренне согласованную версию данных, и репликация может продолжаться в фоновом режиме. Компромисс заключается в том, что выбранные вами данные могут быть в процессе обновления, поэтому два одновременных оператора Select могут возвращать разные данные, но в обмен на повышенный допуск для конкуренции, что нас устраивало.

У вас были какие-то конкретные вопросы или просто общее представление о том, как хорошо это работает?

Другие вопросы по тегам