Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Azure Synapse Analytics
Система платформы аналитики (PDW)
PolyBase обеспечивает виртуализацию данных для SQL Server.
Подробное руководство по выбору правильного подхода PolyBase, сравнение функций на разных платформах SQL и создание запросов T-SQL с внешними данными см. в статье "Виртуализация данных с помощью PolyBase".
Что такое 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, чтобы их можно было запрашивать на месте, как любую другую таблицу в 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 TABLE или CREATE EXTERNAL TABLE AS SELECT с следующими типами внешних данных: Parquet, Delta, Azure Blob Storage, Azure Data Lake Storage (ADLS) или хранилище объектов, совместимое с S3. |
| Использование универсальных источников данных 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, хранящимся в объектных хранилищах, совместимых с S3, учетной записи хранилища Azure версии 2 и в Azure Data Lake Storage поколения Gen2. Дополнительные сведения см. в статье "Виртуализация разностной таблицы" с помощью PolyBase |
| Создание внешней таблицы через запрос SELECT (CETAS) | PolyBase теперь может использовать CETAS для создания внешней таблицы, а затем параллельного экспорта результата выполнения инструкции Transact-SQL SELECT в Azure Data Lake Storage второго поколения, Azure Storage Account второго поколения и объектного хранилища, совместимого с 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 Storage | Чтение и запись | Чтение и запись | Чтение и запись | Чтение и запись |
| Hadoop | Чтение и запись | Нет | Чтение и запись | Нет |
| SQL Server | Читайте | Читайте | Нет | Нет |
| Хранилище объектов, совместимое с S3 | Нет | Чтение и запись | Нет | Нет |
- SQL Server 2022 (16.x) и более поздних версий не поддерживают Hadoop.
- SQL Server 2016 (13.x) представил PolyBase с поддержкой подключений к Hadoop и Azure Blob Storage.
- В SQL Server 2019 (15.x) появились дополнительные соединители, включая SQL Server, Oracle, Teradata и MongoDB.
- SQL Server 2022 (16.x) представил соединитель хранилища, совместимый с S3.
- Накопительное обновление 19 для SQL Server 2019 (15.x) добавило поддержку Oracle TNS.
- Накопительное обновление 2 для SQL Server 2022 (16.x) ввело поддержку TNS Oracle.
Примеры внешних соединителей включают:
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 импортировать и экспортировать данные из Azure Data Lake Store и Хранилища BLOB-объектов Azure.
Зачем нужна технология 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
- Oracle
- Teradata
- MongoDB
- Универсальные типы ODBC
- S3-совместимое хранилище объектов
- CSV-файл
- Файл Parquet
- Таблица Delta
Виртуализация данных на других платформах
Функции виртуализации данных также доступны на других платформах:
- Использование внешних таблиц в Synapse SQL
- Виртуализация данных с помощью управляемого экземпляра Azure SQL
- Виртуализация данных с помощью базы данных SQL Azure (предварительная версия)
Связанный контент
- Начало работы с PolyBase в SQL Server 2022
- OPENROWSET (Transact-SQL)
- СОЗДАТЬ ВНЕШНЮЮ ТАБЛИЦУ (Transact-SQL)
- СОЗДАНИЕ ВНЕШНЕЙ ТАБЛИЦЫ С ПОМОЩЬЮ SELECT (CETAS) (Transact-SQL)
- Рекомендации по производительности в PolyBase для SQL Server
- Часто задаваемые вопросы в PolyBase
- Мониторинг и устранение неполадок PolyBase
- Справочник по Transact-SQL PolyBase