Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
Azure Synapse Analytics
Система платформы аналитики (PDW)
PolyBase обеспечивает виртуализацию данных для SQL Server.
Что такое PolyBase?
PolyBase позволяет экземпляру SQL Server запрашивать данные с помощью Transact-SQL (T-SQL) непосредственно из SQL Server, Oracle, Teradata, MongoDB, кластеров Hadoop, Cosmos DB и хранилища объектов, совместимого с S3, без отдельной установки программного обеспечения подключения к клиенту. Можно также использовать универсальный соединитель ODBC для подключения к дополнительным поставщикам с помощью сторонних драйверов ODBC. PolyBase позволяет с помощью запросов T-SQL объединить данные из внешних источников с данными из реляционных таблиц в экземпляре SQL Server.
PolyBase также поддерживает запросы полуструктурированных и структурированных форматов данных на основе файлов, таких как CSV, Parquet, JSON и Delta Lake. Это позволяет легко интегрировать данные на основе файлов в рабочие процессы T-SQL.
Чаще всего виртуализация данных с помощью PolyBase используется для того, чтобы оставить данные в исходном расположении и формате. Вы можете виртуализировать внешние данные в экземпляре и запрашивать их на месте так же, как любую другую таблицу в SQL Server. Это минимизирует необходимость использовать процессы ETL для перемещения данных. Такой сценарий виртуализации данных можно реализовать с помощью соединителей PolyBase.
Поддерживаемые продукты и службы SQL
PolyBase предоставляет одинаковые функции для следующих продуктов SQL от корпорации Майкрософт:
SQL Server 2016 (13.x) и более поздние версии (Windows).
SQL Server 2019 (15.x) и более поздние версии (Windows и Linux).
Управляемый экземпляр SQL Azure, дополнительные сведения см. в статье о виртуализации данных с помощью Управляемого экземпляра SQL Azure.
Дополнительные сведения о базе данных SQL Azure см. в статье "Виртуализация данных" с помощью базы данных SQL Azure (предварительная версия)
Система платформы аналитики SQL Server (PDW)
Azure Synapse Analytics (для выделенных пулов SQL)
- Виртуализация данных в Azure Synapse Analytics доступна в двух режимах, PolyBase и машинном коде. Дополнительные сведения см. в статье "Использование внешних таблиц с Synapse SQL".
Усовершенствования PolyBase в SQL Server 2025
| Новые возможности SQL Server 2025 (17.x) | Сведения |
|---|---|
| Встроенная поддержка CSV, Parquet и Delta 1 | Служба запросов PolyBase для установки внешних данных больше не требуется использовать OPENROWSETили CREATE EXTERNAL TABLECREATE EXTERNAL TABLE AS SELECT со следующими типами внешних данных: Parquet, Delta, Хранилище BLOB-объектов Azure (ABS), Azure Data Lake Storage (ADLS) или хранилище объектов S3-Compatible. |
| Использование универсальных источников данных ODBC в Linux | Дополнительные сведения см. в статье Настройка PolyBase для доступа к внешним данным с помощью универсальных типов ODBC. |
| Поддержка TDS 8.0 | PolyBase использует безопасную конфигурацию по умолчанию с драйвером ODBC для SQL Server версии 18 и Encrypt=Yes (обязательно). В отличие от других функций SQL Server, PolyBase поддерживает сценарии использования самозаверяющих сертификатов TrustServerCertificate=True. Чтобы применить протокол TLS 1.3 и строгое шифрование с помощью TDS 8.0, установите Encrypt=Strict и TrustServerCertificate=No. Дополнительную информацию см. в статье CREATE EXTERNAL DATA SOURCE - CONNECTION_OPTIONS.
Просмотрите критические изменения функций ядра СУБД в SQL Server 2025. |
| Управляемая идентичность | Управляемое удостоверение доступно для SQL Server, включенного Azure Arc и SQL Server 2025 на виртуальных машинах Azure. |
1 В SQL Server 2025 (17.x) служба запросов PolyBase для внешних данных по-прежнему требуется для подключения к другим базам данных. Например, SQL Server, Oracle, DB2, Teradata, MongoDB или ODBC.
Усовершенствования PolyBase в SQL Server 2022
| Новые возможности SQL Server 2022 (16.x) | Сведения |
|---|---|
| S3-совместимое хранилище объектов | SQL Server 2022 (16.x) добавляет новый соединитель, хранилище объектов, совместимое с S3, с помощью REST API S3. С помощью OPENROWSET и CREATE EXTERNAL TABLE можно запрашивать файлы данных в хранилище объектов, совместимом с S3. |
| Некоторые соединители отделены от служб PolyBase | Соединитель хранилища объектов, совместимый с S3, ADSL второго поколения и Azure Blob Storage больше не зависят от служб PolyBase. Службы PolyBase по-прежнему должны работать для поддержки подключения к Oracle, Teradata, MongoDB и универсальному подключению ODBC. Компонент PolyBase по-прежнему должен быть установлен на экземпляре SQL Server. |
| Пример файла Parquet | PolyBase теперь может запрашивать данные из файлов Parquet, хранящихся в S3-совместимом хранилище объектов. Дополнительные сведения см. в статье Виртуализация файла parquet в S3-совместимом хранилище объектов с помощью PolyBase.. |
| Формат разностной таблицы | PolyBase теперь может запрашивать (только для чтения) данные из формата Delta Table, хранящегося в хранилище объектов, совместимом с S3, служба хранилища Azure Account версии 2 и Azure Data Lake Storage 2-го поколения. Дополнительные сведения см. в статье "Виртуализация разностной таблицы" с помощью PolyBase |
| Создание внешней таблицы как выбор (CETAS) | PolyBase теперь может использовать CETAS для создания внешней таблицы, а затем экспорта, параллельного выполнения инструкции Transact-SQL SELECT в Azure Data Lake Storage 2-го поколения, учетной записи хранения Azure версии 2 и хранилища объектов, совместимого с S3. Дополнительные сведения см. в разделе CREATE EXTERNAL TABLE AS SELECT (CETAS). |
Дополнительные возможности SQL Server 2022 (16.x) см. в статье "Новые возможности SQL Server 2022".
Совет
Руководство по функциям и возможностям PolyBase в SQL Server 2022 (16.x) см. в статье "Начало работы с PolyBase в SQL Server 2022".
Соединители PolyBase
Компонент PolyBase обеспечивает подключение к следующим внешним источникам данных:
| Внешние источники данных | SQL Server 2016-2019 с PolyBase | SQL Server 2022 (16.x) с PolyBase | APS PDW | Azure Synapse Analytics |
|---|---|---|---|---|
| Oracle, MongoDB, Teradata | Читать | Читать | нет | нет |
| Базовый протокол ODBC | Чтение (только Windows) | Чтение (только Windows) | нет | нет |
| Хранилище Azure | Чтение и запись | Чтение и запись | Чтение и запись | Чтение и запись |
| Hadoop | Чтение и запись | нет | Чтение и запись | нет |
| SQL Server | Читать | Читать | нет | нет |
| S3-совместимое хранилище объектов | нет | Чтение и запись | нет | нет |
- SQL Server 2022 (16.x) и более поздних версий не поддерживают Hadoop.
- SQL Server 2016 (13.x) представил PolyBase с поддержкой подключений к Hadoop и Хранилище BLOB-объектов Azure.
- В SQL Server 2019 (15.x) появились дополнительные соединители, включая SQL Server, Oracle, Teradata и MongoDB.
- SQL Server 2022 (16.x) представил соединитель хранилища, совместимый с S3.
- Накопительное обновление 19 sql Server 2019 (15.x) ввело поддержку TNS Oracle.
- Накопительное обновление 2 для SQL Server 2022 (16.x) ввело поддержку TNS Oracle.
В числе внешних соединителей PolyBase:
1 PolyBase поддерживает двух поставщиков Hadoop, Hortonworks Data Platform (HDP) и Cloudera Distributed Hadoop (CDH) через SQL Server 2019. Поддержка SQL Server для внешних источников данных HDFS Cloudera (CDP) и Hortonworks (HDP) прекращена и не включена в SQL Server 2022 (16.x) и более поздние версии. Дополнительные сведения см. в разделе Параметры больших данных на платформе Microsoft SQL Server.
Чтобы использовать PolyBase в экземпляре SQL Server:
- Установите PolyBase в Windows или в Linux.
- Начиная с SQL Server 2019 (15.x), включите PolyBase в sp_configure при необходимости.
- Создайте внешний источник данных.
- Создайте внешнюю таблицу.
Интеграция с Azure
Запросы T-SQL на основе PolyBase также можно использовать для импорта данных из хранилища BLOB-объектов Azure и экспорта данных в него. Кроме того, PolyBase позволяет Azure Synapse Analytics импортировать данные из Хранилища BLOB-объектов Azure и Azure Data Lake Store, а также экспортировать в них данные.
Зачем нужна технология PolyBase
PolyBase позволяет присоединять данные из экземпляра SQL Server с внешними данными. Прежде чем PolyBase разрешил присоединение данных к внешним источникам данных, можно выполнить следующие действия.
- передать часть данных, чтобы все они находились в одном месте;
- запросить данные из двух источников, а затем написать пользовательскую логику запроса для объединения и интеграции данных на уровне клиента.
PolyBase позволяет использовать Transact-SQL для присоединения к данным.
PolyBase не требует установки дополнительного программного обеспечения в среду Hadoop. При запросе внешних данных используется такой же синтаксис T-SQL, как и при запросе таблицы базы данных. Все вспомогательные действия, реализуемые PolyBase, выполняются прозрачно. Автор запроса не нуждается в каких-либо знаниях о внешнем источнике.
Варианты использования PolyBase
PolyBase поддерживает перечисленные ниже сценарии в SQL Server.
- Простой доступ к данным: Запрос других RDBM или внешних файлов, таких как CSV, Parquet и Delta Lake, с помощью T-SQL, как если бы они были собственными таблицами.
- Выключенная загрузка холодных данных: Сохраняя его легкодоступным.
- Улучшенная производительность: Уменьшите время и усилия, необходимые для интеграции и анализа данных из нескольких источников.
- Экономичность: Свести к минимуму потребность в репликации и хранении данных, связанных с традиционными методами интеграции данных.
- Аналитика в режиме реального времени: Включите запросы и аналитические сведения в режиме реального времени без задержек, вызванных перемещением или синхронизацией данных.
- Безопасность: Используйте функции безопасности SQL Server для детализированных разрешений, управления учетными данными и управления.
Производительность
Трудно ограничить количество файлов или объем данных, которые можно запрашивать. Производительность запросов зависит от объема данных, формата данных, способа упорядочения данных и сложности запросов и соединений.
Дополнительные сведения о рекомендациях по производительности и рекомендациях по PolyBase см . в разделе "Рекомендации по производительности" в PolyBase для SQL Server.
Обновление до SQL Server 2022
Начиная с SQL Server 2022 (16.x) Платформа данных Hortonworks (HDP) и Cloudera Distributed Hadoop (CDH) больше не поддерживаются. Из-за этих изменений необходимо вручную удалить внешние источники данных PolyBase, созданные в предыдущих версиях SQL Server, использующих TYPE = HADOOP или службу хранилища Azure, перед миграцией на SQL Server 2022 (16.x) или более поздней версии. Удаление внешних источников данных также требует удаления связанных объектов базы данных, таких как учетные данные базы данных и внешние таблицы.
Соединители службы хранилища Azure должны быть изменены на основе следующей справочной таблицы:
| Внешний источник данных | С дт. | По |
|---|---|---|
| Azure Blob-хранилище | wasb[s] |
abs |
| ADLS 2-го поколения | abfs[s] |
adls |
Начало работы
Чтобы начать использовать компонент PolyBase, его необходимо установить в Windows или Linux и включить в sp_configure (если требуется).
Руководство по функциям и возможностям PolyBase см. в статье "Начало работы с PolyBase" в SQL Server 2022.
Дополнительные руководства по различным внешним источникам данных см. в следующем разделе:
- Hadoop
- Хранилище BLOB-объектов Azure
- SQL Server
- Оракул
- Teradata
- Система MongoDB
- Универсальные типы ODBC
- S3-совместимое хранилище объектов
- CSV-файл
- Файл Parquet
- Таблица Delta
Виртуализация данных на других платформах
Функции виртуализации данных также доступны на других платформах:
- Использование внешних таблиц в Synapse SQL
- Виртуализация данных с помощью Управляемый экземпляр SQL Azure
- Виртуализация данных с помощью базы данных SQL Azure (предварительная версия)
Связанный контент
- Начало работы с PolyBase в SQL Server 2022
- OPENROWSET (Transact-SQL)
- СОЗДАТЬ ВНЕШНЮЮ ТАБЛИЦУ (Transact-SQL)
- СОЗДАНИЕ ВНЕШНЕЙ ТАБЛИЦЫ С ПОМОЩЬЮ SELECT (CETAS) (Transact-SQL)
- Рекомендации по производительности в PolyBase для SQL Server
- Часто задаваемые вопросы в PolyBase
- Мониторинг и устранение неполадок PolyBase
- Справочник по Transact-SQL PolyBase