Поделиться через


Рекомендации Помощника по Azure для выделенного пула SQL в Azure Synapse Analytics

В этой статье описываются рекомендации для выделенного пула SQL, доступные в Помощнике по Azure.

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

Проверить свои рекомендации можно уже сегодня!

Неравномерное распределение данных

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

Отсутствующие или устаревшие статистические данные

Неоптимальная статистика может существенно ухудшать производительность запросов из-за того, что оптимизатор запросов SQL создает неоптимальные планы запросов. В следующем документе приводятся рекомендации по созданию и обновлению статистики:

Чтобы просмотреть список таблиц, которых касаются эти рекомендации, выполните скрипт T-SQL. Для создания этих рекомендаций Помощник непрерывно выполняет один и тот же скрипт T-SQL.

Реплицируйте таблицы

Для рекомендаций по реплицированным таблицам Консультант выявляет кандидатов на основе следующих физических характеристик.

  • Размер реплицированной таблицы
  • Число столбцов
  • Тип распределения таблиц
  • Количество разделов

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

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

  • Средний процент строк, возвращенных из таблицы при каждом её обращении за последние семь дней;
  • частое чтение без обновления— указывает, что не было обновления таблицы за последние семь дней, хотя и происходило действие доступа;
  • соотношение чтения или обновления — соотношение частотности доступа к таблице к ее обновлению за последние семь дней;
  • активность — измеряет использование на основе активности доступа. Это действие сравнивает доступ к таблице со средним уровнем доступа к таблицам в хранилище данных за последние семь дней.

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

Внимание

Рекомендация по реплицированным таблицам не является надёжной и не учитывает операции перемещения данных. Сейчас мы работаем над добавлением этого метода эвристики, но пока что вы должны проверить рабочую нагрузку после применения рекомендации. Чтобы узнать больше о реплицированных таблицах, посетите следующую документацию.

Адаптивное (Gen2) использование кэша

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

Состязание за tempdb

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

Неправильная настройка загрузки данных

Обязательно загружайте данные из учетной записи хранения в том же регионе, в котором находится выделенный пул SQL, чтобы минимизировать задержку. Используйте оператор COPY для загрузки данных с высокой пропускной способностью и разделите подготовленные файлы в учетной записи хранения, чтобы максимально увеличить производительность. Если вы не можете использовать оператор COPY, вы можете использовать API SqlBulkCopy или bcp с большим размером порции данных для улучшения пропускной способности. Дополнительные инструкции по загрузке данных см. в рекомендациях по загрузке данных.