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


Часто задаваемые вопросы в 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 также поддерживает передачу вычислений на нижний уровень внешним источникам данных, за исключением универсальных типов ODBC.

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

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

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

Note

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

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

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

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

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

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

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

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

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

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

Какие порты следует разрешить через брандмауэр для 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 или документацию по используемым источникам данных. Рассмотрим пример.

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

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

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

Note

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

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

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

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

Feature Кластер больших данных Изолированный экземпляр
Создание внешнего источника данных для 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)

Important

Кластеры больших данных Microsoft SQL Server 2019 сняты с эксплуатации. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.