Исследовательский анализ с помощью помощника по настройке ядра СУБД

Администраторы баз данных могут использовать помощник по настройке ядра СУБД для выполнения исследовательского анализа. Исследовательский анализ включает использование сочетания ручной настройки и настройки с помощью инструментов. Для выполнения исследовательского анализа с помощью помощника по настройке ядра СУБД используйте подходящие возможности конфигурации. Возможности конфигурации позволяют указывать настройки для существующих и гипотетических структур физического проектирования, таких как индексы, индексированные представления и секционирование. Достоинство указания гипотетических структур в том, что можно оценить их влияние на базу данных без возможных потерь при их реализации.

Несмотря на то, что графический интерфейс пользователя помощника по настройке ядра СУБД и программа командной строки dta поддерживают исследовательский анализ, dta предоставляет больше гибкости, так как использует входной XML-файл. Этот входной XML-файл использует XML-схему помощника по настройке ядра СУБД, опубликованную схему, которую можно загрузить с веб-узла Схема помощника по настройке ядра СУБД.

После перехода по этому URL-адресу пролистайте вниз строки таблицы до тех пор, пока не найдете ссылку на схему помощника по настройке ядра СУБД. Точный URL-адрес этой схемы находится в соседнем столбце. XML-схема поддерживает указание гипотетических конфигураций для анализа, которые оцениваются изолированно или относительно текущей конфигурации. Для сравнения: графический интерфейс пользователя помощника по настройке ядра СУБД полностью поддерживает оценку только части структур рекомендаций, сформированных самим помощником по настройке ядра СУБД.

Два режима исследовательского анализа

Исследовательский анализ может быть выполнен с помощью помощника по настройке ядра СУБД в одном из двух режимов.

  • Режим оценки

    В режиме оценки помощник по настройке ядра СУБД сравнивает стоимость текущей конфигурации (Т) с указанной пользовательской конфигурацией (П) для одной и той же рабочей нагрузки. Значение Т всегда является реальной конфигурацией, так как содержит физические структуры, существующие в базе данных на текущий момент. Значение П же является конфигурацией, состоящей из реальных и гипотетических физических структур. Если помощник по настройке ядра СУБД сообщает о том, что стоимость П ниже стоимости Т, скорее всего, физическая структура П будет более производительна.

    Например, режим оценки полезен в таких ситуациях:

    • Администратор хочет определить, какое влияние окажет на производительность добавление в таблицу некластеризованного индекса.

    • Администратор только что завершил работу с помощником по настройке ядра СУБД и получил рекомендации (Р). После просмотра Р администратор хочет точно настроить Р, изменив их. Например, нужно добавить два некластеризованных индекса и удалить один некластеризованный индекс, который входил в Р. После изменения Р администратор применяет исправленную рекомендацию в качестве входа для помощника по настройке ядра СУБД и настраивает базу данных снова, чтобы измерить влияние сделанных изменений на производительность.

  • Режим настройки

    В режиме настройки администратор базы данных уже знает, что часть физической структуры базы данных должны быть изменена, но хочет, чтобы помощник по настройке ядра СУБД дал рекомендации по поводу улучшения физических структур для остальной части конфигурации.

    Например, режим настройки полезен в таких ситуациях:

    • Администратор базы данных знает, что таблица фактов должна быть секционирована, так как она слишком большая. Администратор должен выбрать между секционированием по месяцам или по кварталам. Допустим любой из способов секционирования, но администратор хочет выбрать метод секционирования, дающий лучшую производительность с указанной рабочей нагрузкой. Чтобы определить какой метод секционирования лучше, администратор может использовать помощник по настройке ядра СУБД для двойной настройки рабочей нагрузки. Сначала администратор с помощью пользовательской конфигурации настраивает рабочую нагрузку с таблицей, гипотетически секционированной по месяцам. Затем он настраивает рабочую нагрузку с таблицей, гипотетически секционированной по кварталам. После того как рабочая нагрузка была настроена для обеих конфигураций, администратор сравнивает процент улучшения, чтобы определить, какой метод секционирования даст лучшую производительность.

    • У таблицы Orders должен быть кластеризованный индекс для столбца ship_date. Администратор базы данных хочет определить лучший набор некластеризованных индексов для таблицы Orders. Администратор может частично исправить физическую архитектуру, указав пользовательскую конфигурацию, в которой есть кластеризованный индекс для столбца ship_date таблицы Orders. После этого можно использовать помощник по настройке ядра СУБД в режиме настройки для определения влияния пользовательской конфигурации на производительность.

О сравнении двух конфигураций для конкретной рабочей нагрузки

Обычный сценарий работы — сравнить две различные конфигурации для конкретной рабочей нагрузки. Например, помощник по настройке ядра СУБД рекомендует определенную конфигурацию, а администратор хочет оценить влияние ее слегка измененного варианта. Для сравнения новой конфигурации с первоначальной при одной и той же рабочей нагрузке важно использовать консольную программу dta вместо графического интерфейса пользователя, так как программа командной строки позволяет указать, сколько событий рабочей нагрузки должен настроить помощник по настройке ядра СУБД (параметр -n). Если для каждой конфигурации помощнику по настройке ядра СУБД будет указано одно и то же число событий, можно быть уверенным, что два сеанса настройки эквивалентны, а значит, пригодны для сравнения. Это важно, так как вся рабочая нагрузка может не быть настроена помощником по настройке ядра СУБД за указанное время. Дополнительные сведения см. в разделах Программа dta и Как настроить базу данных при помощи программы dta.

Рекомендации по использованию пользовательских конфигураций

Следует отметить следующее:

  • пользовательские конфигурации могут состоять из таких объектов физической структуры, как индексы, индексированные представления, секционирование индексов и индексированных представлений, статистики;

  • графический интерфейс помощника по настройке ядра СУБД можно использовать для импорта пользовательской конфигурации в сеанс настройки. Для импорта конфигурации в меню Файл выберите Импорт определения сеанса;

  • графический интерфейс помощника по настройке ядра СУБД можно также использовать для выбора поднабора индексов из одной из рекомендаций и запуска нового сеанса с выбранным поднабором рекомендуемой конфигурации для оценки.

Ограничения пользовательских конфигураций

Для пользовательских конфигураций существуют такие ограничения:

  • Определение конфигурации должно соответствовать схеме XML помощника по настройке ядра СУБД DTAschema.xsd, которая находится на веб-узле Майкрософт.

  • конфигурация не должна определять добавление в базу данных уже существующих индексов и индексированных представлений;

  • конфигурация не должна содержать представления, для которых нельзя создать индексы;

  • конфигурация не должна пытаться удалить несуществующий индекс или индекс, налагающий ограничение (например ограничение уникальности или первичного ключа);

  • конфигурация не может создать и удалить один и тот же индекс. Например, нельзя создать индекс I в таблице T, а затем удалить его. Также нельзя сделать обратное: удалить индекс I в таблице T, а затем создать его снова.