Часто задаваемые вопросы в PolyBase

Область применения: SQL Server 2016 (13.x) и более поздних версий

PolyBase и связанные серверы

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

PolyBase Связанные серверы
Объект в области базы данных Объект в области экземпляра
Использует драйверы ODBC Использует поставщики OLEDB
Поддерживает операции только для чтения для всех источников данных и запись в некоторые внешние источники данных Поддерживает как операции чтения, так и записи
Запросы к удаленному источнику данных из одного соединения могут масштабироваться Запросы к удаленному источнику данных из одного соединения не могут масштабироваться
Поддерживается принудительная отправка предикатов Поддерживается принудительная отправка предикатов
Для группы доступности не требуется отдельная конфигурация Для каждого экземпляра в группе доступности требуется отдельная конфигурация
Только обычная проверка подлинности Обычная и встроенная проверка подлинности
Подходит для аналитических запросов с обработкой большого числа строк Подходит для OLTP-запросов, возвращающих одну или несколько строк
Запросы с использованием внешней таблицы не могут участвовать в распределенной транзакции Распределенные запросы могут участвовать в распределенной транзакции

Новые возможности PolyBase в SQL Server 2022?

SQL Server 2022 (16.x) теперь поддерживает ФАЙЛЫ CSV, Parquet и Delta, хранящиеся в учетной записи служба хранилища Azure версии 2, Azure Data Lake Storage 2-го поколения или любом хранилище объектов, совместимое с S3, с помощью REST API S3, локальной или в облаке.

SQL Server 2022 (16.x) теперь может использовать CREATE EXTERNAL TABLE as SELECT (CETAS), а также команды, такие как OPENROWSET, CREATE EXTERNAL TABLE (CET) и все новые улучшения T-SQL.

В настоящее время поддержка внешних источников данных Hadoop была удалена в SQL Server 2022 (16.x).

Накопительное обновление 2 для SQL Server 2022 (16.x) теперь предоставляет поддержку файлов TNS Oracle. Дополнительные сведения и примеры см. в статье CREATE EXTERNAL DATA SOURCE .

Дополнительные сведения о виртуализации данных с помощью PolyBase для SQL Server 2022 и ознакомьтесь с усовершенствованиями PolyBase SQL Server 2022.

Новые возможности PolyBase в SQL Server 2019?

PolyBase в SQL Server 2019 (15.x) теперь может считывать данные из большего количества источников данных. Данные из этих внешних источников данных можно хранить в виде внешних таблиц в SQL Server. PolyBase также поддерживает передачу вычислений pushdown в эти внешние источники данных, исключая универсальные типы ODBC.

Совместимые источники данных

  • SQL Server
  • Oracle;
  • Teradata
  • MongoDB
  • Совместимые универсальные типы ODBC

Накопительное обновление 19 sql Server 2019 (15.x) теперь предоставляет поддержку файлов TNS Oracle. Дополнительные сведения и примеры см. в статье CREATE EXTERNAL DATA SOURCE .

Примечание.

PolyBase может разрешить подключение к внешним источникам данных с помощью сторонних драйверов ODBC. Эти драйверы не предоставляются вместе с PolyBase и могут не работать как положено. Дополнительные сведения см. в статье Настройка PolyBase для доступа к внешним данным с помощью универсальных типов ODBC.

Какие CONNECTION_OPTIONS можно указать для подключения к сторонним источникам данных?

Ознакомьтесь с CONNECTION_OPTIONS CREATE EXTERNAL DATA SOURCE (Transact-SQL) для поддерживаемых параметров подключения поставщика данных для SQL Server, Oracle, Teradata, API MongoDB для Cosmos DB и универсальных поставщиков данных ODBC.

Как просмотреть план выполнения удаленного запроса для вычисления pushdown PolyBase?

Это можно сделать несколькими способами в зависимости от версии SQL Server. См. раздел Устранение неполадок PolyBase: просмотр плана запроса PolyBase.

Как определить, происходит ли вычисление pushdown PolyBase?

Поддерживается ли PolyBase в База данных SQL Azure?

Нет, но вы можете запрашивать данные в файлах, размещенных на Хранилище BLOB-объектов Azure с помощью функции OPENROWSET, или использовать CREATE EXTERNAL TABLE для чтения из бессерверного пула SQL в Synapse Analytics. Дополнительные сведения см. в статье о том, как считывать файлы хранилища Azure Data Lake с помощью внешних таблиц Synapse SQL.

Поддерживается ли PolyBase в Управляемый экземпляр SQL Azure?

Управляемый экземпляр SQL Azure имеет собственные возможности виртуализации данных для Azure Data Lake Storage (ADLS) и Хранилище BLOB-объектов Azure в качестве источников данных. Дополнительные сведения см. в статье о виртуализации данных с помощью Управляемый экземпляр SQL Azure.

Какие порты следует разрешить через брандмауэр для PolyBase?

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

На серверах Windows PolyBase будет использовать порты, используемые SQL Server (раздел IPAll параметров TCP/IP в диспетчере конфигурации SQL Server). Дополнительные сведения см. в статье Свойства TCP/IP. На серверах Linux PolyBase будет использовать параметр network.tcpport. Дополнительные сведения см. в разделе TCP-порт.

Если группа горизонтального увеличения масштаба PolyBase используется на нескольких серверах Windows, см. сведения о порте в следующем разделе.

Но для взаимодействия с различными внешними источниками данных, используемыми PolyBase, необходимо разрешить другие порты. См. документацию по конфигурации ODBC, конфигурации ресурсов Azure или документацию по используемым источникам данных. Например:

Исходная платформа Справочные материалы
Microsoft SQL Server Порты, используемые SQL Server
Hortonworks HDP Администрирование HDFS
Cloudera CDH Порты, используемые компонентами CDH

Какие порты используются для группы горизонтального увеличения масштаба PolyBase?

По умолчанию служба перемещения данных PolyBase подключается к головному узлу группы горизонтального увеличения масштаба через диапазон TCP-портов 16450–16460 (обычно это порты 16450–16453), а также через порт 17001. Эти порты используются только при настройке группы горизонтального увеличения масштаба PolyBase и должны быть разрешены через брандмауэры сервера. Программа установки SQL Server должна автоматически создать локальное правило брандмауэра, разрешающее эти порты при установке компонентов. Дополнительные сведения см. в статье Настройка групп горизонтального увеличения масштаба PolyBase в Windows.

Примечание.

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

PolyBase в Кластеры больших данных и PolyBase в автономных экземплярах

Дополнительные сведения о подключениях с помощью универсального соединителя ODBC см. в руководстве по настройке универсальных типов ODBC.

В следующей таблице перечислены функции PolyBase, доступные в автономном кластере данных SQL Server 2019 (15.x) и кластер больших данных SQL Server 2019 (15.x):

Функция Кластер больших данных Изолированный экземпляр
Создание внешнего источника данных для SQL Server, Oracle, Teradata и Mongo DB X X
Создание внешнего источника данных с помощью совместимого стороннего драйвера ODBC X
Создание внешнего источника данных для источника данных Hadoop X X
Создание внешнего источника данных для хранилища BLOB-объектов Azure X X
Создание внешней таблицы в пуле данных SQL Server X
Создание внешней таблицы в пуле хранилищ SQL Server X
Масштабирование выполнения запроса X X (только Windows)

Внимание

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.