Рекомендации Помощника по Azure для выделенного пула SQL в Azure Synapse Analytics
В этой статье описываются рекомендации для выделенного пула SQL, доступные в Помощнике по Azure.
Выделенный пул SQL предоставляет рекомендации, которые помогают непрерывно оптимизировать рабочую нагрузку хранилища данных для повышения производительности. Рекомендации тесно интегрированы с Помощником по Azure, что позволяет получать рекомендации непосредственно на портале Azure. Выделенный пул SQL собирает данные телеметрии и предоставляет рекомендации для активной рабочей нагрузки в ежедневном ритме. Ниже описаны поддерживаемые сценарии рекомендаций, а также инструкции по применению рекомендуемых действий.
Проверить свои рекомендации можно уже сегодня!
Неравномерное распределение данных
Неравномерное распределение данных может привести к дополнительному перемещению данных или к возникновению узких мест в ресурсах при выполнении рабочей нагрузки. В следующем документе описывается, как выявить неравномерное распределение данных и избежать его, выбрав оптимальный принцип распределения.
Отсутствующие или устаревшие статистические данные
Неоптимальная статистика может существенно ухудшать производительность запросов из-за того, что оптимизатор запросов SQL создает неоптимальные планы запросов. В следующем документе приводятся рекомендации по созданию и обновлению статистики:
Чтобы просмотреть список таблиц, которых касаются эти рекомендации, выполните скрипт T-SQL. Для создания этих рекомендаций Помощник непрерывно выполняет один и тот же скрипт T-SQL.
Таблицы репликации
Для рекомендаций реплицированной таблицы Помощник определяет варианты таблиц на основе следующих физических характеристик.
- Размер реплицированной таблицы
- Число столбцов
- Тип распределения таблиц
- Количество разделов
Помощник постоянно использует методы эвристики, основанной на рабочих нагрузках (например, периодичность доступа к таблицам, среднее количество возвращенных записей или пороговые значения размеров хранилищ данных и активности в них), чтобы убедиться в высоком качестве генерируемых рекомендаций.
В разделе ниже описаны методы основанной на рабочих нагрузках эвристики, которые вы можете найти для каждой рекомендации реплицированных таблиц на портале Azure.
- проверка avg — среднее количество возвращенных записей в процентах для каждой таблицы за последние семь дней;
- частое чтение без обновления— указывает, что не было обновления таблицы за последние семь дней, хотя и происходило действие доступа;
- соотношение чтения или обновления — соотношение частотности доступа к таблице к ее обновлению за последние семь дней;
- действие — измеряет использование на основе действия доступа. Это действие сравнивает действия доступа к таблице со средним значением действия доступа к таблице базе данных хранилища данных за последние семь дней.
В настоящее время Помощник будет отображать только четыре варианта реплицированной таблицы за раз с кластеризованными индексами columnstore, обозначающими наивысшую активность.
Внимание
Реплицированная рекомендация по таблице не является глупым доказательством и не учитывает операции перемещения данных. Сейчас мы работаем над добавлением этого метода эвристики, но пока что вы должны проверить рабочую нагрузку после применения рекомендации. Чтобы узнать больше о реплицированных таблицах, см. статью Руководство по проектированию для использования реплицированных таблиц в хранилище данных SQL Azure.
Адаптивное (Gen2) использование кэша
При наличии большого рабочего набора можно столкнуться с низким процентом попаданий в кэш и высокой степенью использования кэша. В этом сценарии необходимо выполнить масштабирование, чтобы увеличить емкость кэша и повторно запустить рабочую нагрузку. Дополнительные сведения см. в следующей документации.
Состязание за tempdb
Производительность запросов может снизиться при интенсивном состязании за tempdb. Состязание за tempdb может происходить через определяемые пользователем временные таблицы или при большом объеме перемещений данных. В этом сценарии можно выполнить масштабирование для выделения дополнительных ресурсов tempdb и настроить классы ресурсов и управление рабочей нагрузкой, чтобы предоставить больше памяти для запросов.
Неправильная настройка загрузки данных
Обязательно загружайте данные из учетной записи хранения в том же регионе, в котором находится выделенный пул SQL, чтобы минимизировать задержку. Используйте оператор COPY для приема данных с высокой пропускной способностью и разделите промежуточные файлы в учетной записи хранения, чтобы максимально увеличить производительность. Если вы не можете использовать оператор COPY, API SqlBulkCopy или bcp с большим размером пакета также позволяют улучшить пропускную способность. Дополнительные инструкции по загрузке данных см. в рекомендациях по загрузке данных.