Преимущество использования снимка базы данных для отчетности

8

В чем преимущество производительности при использовании моментального снимка базы данных для создания отчетов?

На мой взгляд, это, вероятно, понизит производительность, поскольку для каждой записи в исходной базе данных необходимо выполнить другую запись для самого снимка.

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

Итак, опять же, есть ли преимущество в производительности?

ivanmp
источник

Ответы:

7

Использование моментального снимка базы данных, расположенного на вашем рабочем OLTP-сервере, по всей вероятности, ухудшит производительность. Есть две основные причины:

  1. Дополнительная запись накладных расходов. Снимки копируются при записи, поэтому это, очевидно, повлияет на производительность.

  2. Снимок разделит страницы из старой базы данных на диске, но он использует свою собственную память в пуле буферов. Если у вас большая таблица, она в итоге потребляет память как для базы данных OLTP, так и для снимка, даже для неизмененных страниц. Из-за этого вы можете использовать много дополнительной памяти, что может привести к увеличению дискового ввода-вывода, если ваш сервер не загружен свободной оперативной памятью.

Поэтому, если вы пытаетесь сделать отчеты менее навязчивыми только на одном сервере, вам, вероятно, лучше просто запросить базу данных OLTP и использовать подсказки WITH (NOLOCK), а затем при необходимости связать все с регулятором ресурсов. Помимо этого, посмотрите на какую-то систему горизонтального масштабирования (доставка журналов, зеркалирование и т. Д.)

db2
источник
Я согласен с тем, что моментальный снимок может ухудшить ситуацию, но если вы используете 2008 R2, подсказка NOLOCK ничего не делает для повышения производительности OLTP при составлении отчетов. stackoverflow.com/questions/15770402/…
Джеймс Дженкинс
1

Одно из преимуществ производительности, которое я вижу при использовании моментальных снимков БД, заключается в том, что проблемы блокирования и блокировки значительно уменьшаются при использовании моментального снимка для отчетов.

StanleyJohns
источник