Что такое управление рабочей нагрузкой?

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

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

Рабочими нагрузками хранилища данных считаются любые операции, имеющие отношение к хранилищу данных. Глубина и ширина этих компонентов зависят от уровня зрелости хранилища данных. Рабочая нагрузка хранилища данных включает следующее:

  • полный процесс загрузки данных в хранилище;
  • выполнение анализа и создание отчетов по хранилищу данных;
  • управление данными в хранилище данных;
  • экспорт данных из хранилища данных.

Производительность хранилища данных зависит от единиц использования хранилища данных.

Основные понятия, связанные с управлением рабочими нагрузками

Раньше для Synapse SQL в Azure Synapse для управления производительностью запросов применялись классы ресурсов. Классы ресурсов позволяли назначать запросу определенный объем памяти на основе членства в роли. Основная проблема с классами ресурсов заключается в том, что после исходной настройки не было никаких систем или возможностей для управления рабочей нагрузкой.

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

Управление рабочей нагрузкой в выделенном пуле SQL описывают три базовые концепции Azure Synapse: классификация, важность и изоляция рабочих нагрузок. Эти возможности позволяют выборочно управлять тем, как рабочие нагрузки потребляют системные ресурсы.

Классификация рабочих нагрузок означает назначение запросов определенным группам рабочих нагрузок с указанным уровнем важности. Исторически это назначение выполнялось через членство в ролях с помощью команды sp_addrolemember. Теперь это действие можно выполнить с помощью инструкции CREATE WORKLOAD CLASSIFER. Возможность классификации предоставляет расширенный набор параметров для классификации запросов, таких как метка, сеанс и время.

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

Изоляция рабочих нагрузок означает резервирование ресурсов для группы рабочих нагрузок. Такие ресурсы сохраняются исключительно для этой группы, чтобы обеспечить выполнение. Группы рабочих нагрузок (примерно как и классы ресурсов) также позволяют определить объем ресурсов, назначаемых для каждому запросу. Группы рабочих нагрузок позволяют зарезервировать ресурсы или ограничить объем ресурсов, которые может потреблять набор запросов. И наконец, группы рабочих нагрузок предоставляют механизм для применения к запросам особых правил, таких как время ожидания запроса.

Дальнейшие действия