Определите приоритет доступа к базе данных в SQL Server 2008

Мы используем базу данных SQL Server 2008. Эта база данных предоставляет данные для двух основных приложений:

  1. Веб-сайт для отображения зрителя.
  2. Приложение маршрутизации, которое должно быть очень отзывчивым!

Можно ли отдавать разные приоритеты этим двум приложениям и каковы были бы все доступные нам возможности? Я боюсь, что наш веб-сайт Viewer из-за ошибки или чего-либо еще замедлит работу нашего приложения маршрутизации.

Я хочу защитить приложение маршрутизации, чтобы оно было максимально отзывчивым. Какие решения я мог бы использовать?

1 ответ

Решение

Энди М, чтобы достичь такого уровня настройки в SQL, вы должны использовать Resource Governor. Это может быть проблемой, поскольку доступно только в (дорогих) версиях Datacenter & Enterprise.

Если вы не можете позволить себе эти издания, есть несколько вещей, которые вы можете рассмотреть:

ГЕНЕРАЛЬНЫЙ

  • Разделите вашу базу данных на 2: одну для приложения маршрутизации, другую для приложения просмотра. Таким образом, вы можете настроить их отдельно, чтобы получить наилучшую производительность;
  • Рассмотрите возможность приобретения жестких дисков на свой сервер (SSD, если вы можете себе это позволить) и разделите файлы данных / индексов между ними, чтобы увеличить число операций ввода-вывода (таким образом, скорость реакции);

МАРШРУТНОЕ ПРИЛОЖЕНИЕ

  • Если вам нужна высокая производительность только при запросе данных, вы можете предварительно обработать эти данные, оставив их в окончательном моделировании. Такой подход может повысить производительность вашего запроса на несколько порядков;
  • Если вам нужно обработать информацию для этого запроса, но не вся эта обработка имеет отношение к выводу, попробуйте буферизировать обработку: проанализируйте, какая обработка данных может быть отложена, и просто запишите данные в некоторые фиктивные таблицы (возможно, в другой БД), и обрабатывать их в другое время.
Другие вопросы по тегам