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


Масштабируемые группы PolyBase

Применимо: SQL Server (только для Windows)Не поддерживается. База данных SQL AzureНе поддерживается. Azure Synapse Analytics Analytics Не поддерживается. Platform System (PDW)

Обработка больших наборов данных в Hadoop или хранилище BLOB-объектов Azure автономным экземпляром SQL Server с PolyBase может сопровождаться снижением производительности. Группы PolyBase позволяют создавать кластеры экземпляров SQL Server для обработки больших наборов данных из внешних источников данных (например, Hadoop или хранилища BLOB-объектов Azure), используя возможности масштабирования. Это помогает повысить производительность запросов. Теперь можно масштабировать вычисления SQL Server в соответствии с требованиями производительности рабочей нагрузки. Масштабируемая группа PolyBase — это группа экземпляров SQL Server, позволяющая обрабатывать большие наборы внешних данных в архитектуре параллельной обработки. Производительность загрузки данных и запросов может увеличиваться линейно по мере добавления дополнительных экземпляров SQL Server в группу.

Внимание

Поддержка для групп горизонтального увеличения масштаба Microsoft SQL Server PolyBase будет прекращена. Функции группы горизонтального масштабирования будут удалены из продукта в SQL Server 2022 (16.x). Виртуализация данных PolyBase будет по-прежнему полностью поддерживаться как функция вертикального увеличения масштаба в SQL Server. Дополнительные сведения см. в разделе Параметры больших данных на платформе Microsoft SQL Server.

См. разделы Приступая к работе с PolyBase и Руководство по PolyBase.

Схема групп горизонтального увеличения масштаба PolyBase.

Головной узел

Головной узел содержит экземпляр SQL Server, на который отправляются запросы PolyBase. Каждая группа PolyBase может иметь только один головной узел. Головной узел — это логическая группа на экземпляре SQL Server, в которую входят ядро СУБД SQL Server, а также ядро PolyBase и служба "Перемещение данных PolyBase". Для головного узла с SQL Server 2017 и SQL Server 2016 должен использоваться выпуск Enterprise. Начиная с SQL Server 2019, для головного узла PolyBase можно использовать выпуск Enterprise либо Standard.

Вычислительный узел

Вычислительный узел содержит экземпляр SQL Server, который помогает выполнять масштабируемую обработку запросов к внешним данным. Вычислительный узел — это логическая группа на экземпляре SQL Server, в которую входят SQL Server и служба перемещения данных PolyBase. Группа PolyBase может включать несколько вычислительных узлов. В головном узле и вычислительных узлах должна использоваться одна и та же версия SQL Server. В первом выпуске SQL Server 2016 допускалось, чтобы для вычислительных узлов использовались выпуски Enterprise или Standard. Начиная с SQL Server 2016 с пакетом обновления 1 (SP1), для вычислительный узлов могут использоваться все выпуски SQL Server.

Масштабируемое чтение

Секционированные таблицы выиграют от использования масштабируемого чтения при запросах к внешним экземплярам SQL Server, Oracle или Teradata. Каждый узел в масштабируемой группе PolyBase может запустить до 8 средств для чтения внешних данных. И каждому средству чтения назначается один раздел во внешней таблице.

Предположим, что у вас есть внешняя таблица SQL Server с 12 секциями (за каждый месяц) и масштабируемая группа PolyBase с 3 узлами. Каждый узел будет использовать по 4 средства чтения PolyBase для обработки каждой из 12 секций. Это как раз иллюстрируется на следующих образах.

Примечание.

Процесс отличается от масштабируемого чтения в Hadoop.

Масштабируемое чтение в PolyBase

Распределенная обработка запросов

Запросы PolyBase отправляются на SQL Server на головном узле. Часть запроса, которая относится к внешним таблицам, передается в ядро PolyBase.

Ядро PolyBase — это ключевой компонент в процессе обработки запросов PolyBase. Оно анализирует запрос к внешним данным, создает план запроса и распределяет работу между службами перемещения данных на вычислительных узлах. После выполнения этой работы ядро PolyBase получает результаты от вычислительных узлов и отправляет их на SQL Server для финальной обработки и передачи клиенту.

Служба перемещения данных PolyBase получает инструкции от ядра PolyBase и передает данные между HDFS и SQL Server, а также между экземплярами SQL Server на головном и вычислительных узлах.

Следующие шаги

Чтобы настроить масштабируемую группу PolyBase, обратитесь к следующему руководству:

Улучшение масштабируемых групп PolyBase в Windows

См. также

sys-dm-exec-compute-nodes
sys-dm-exec-compute-node-status
sys.dm_exec_compute_node_errors