Что такое PolyBase?What is PolyBase?

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics Parallel Data Warehouse

PolyBase позволяет экземпляру SQL Server обрабатывать запросы Transact-SQL, которые считывают данные из внешних источников.PolyBase enables your SQL Server instance to process Transact-SQL queries that read data from external data sources. Этот запрос можно также использовать для доступа к реляционным таблицам в экземпляре SQL Server.The same query can also access relational tables in your instance of SQL Server. PolyBase также позволяет применять этот запрос для объединения данных из внешних источников и SQL Server.PolyBase enables the same query to also join the data from external sources and SQL Server.

Чтобы использовать PolyBase, в экземпляре SQL Server сделайте следующее:To use PolyBase, in an instance of SQL Server:

  1. Установка PolyBase на компьютере по управлением WindowsInstall PolyBase on Windows
  2. создайте внешний источник данных;Create an external data source
  3. создайте внешнюю таблицу.Create an external table

Все это позволит подключиться к внешнему источнику данных.Together, these provide the connection to the external data source.

В SQL Server 2016 представлена функция PolyBase с поддержкой подключений к Hadoop и Хранилищу BLOB-объектов Azure.SQL Server 2016 introduces PolyBase with support for connections to Hadoop and Azure Blob Storage.

В SQL Server 2019 доступны дополнительные соединители, в том числе для SQL Server, Oracle, Teradata и MongoDB.SQL Server 2019 introduces additional connectors, including SQL Server, Oracle, Teradata, and MongoDB.

Логика PolyBasePolyBase logical

PolyBase отправляет некоторые вычисления во внешний источник, чтобы оптимизировать запрос в целом.PolyBase pushes some computations to the external source to optimize the overall query. PolyBase обеспечивает внешний доступ не только к Hadoop.PolyBase external access is not limited to Hadoop. Поддерживаются и другие неструктурированные нереляционные таблицы, например текстовые файлы с разделителями.Other unstructured non-relational tables are also supported, such as delimited text files.

В числе внешних соединителей PolyBase:Examples of external connectors include:

Поддерживаемые продукты и службы SQLSupported SQL products and services

PolyBase предоставляет одинаковые функции для следующих продуктов SQL от корпорации Майкрософт:PolyBase provides these same functionalities for the following SQL products from Microsoft:

  • SQL Server 2016 и более поздние версии (только Windows);SQL Server 2016 and later versions (Windows only)
  • Analytics Platform System (прежнее название — Parallel Data Warehouse);Analytics Platform System (formerly Parallel Data Warehouse)
  • Azure Synapse AnalyticsAzure Synapse Analytics

Интеграция с AzureAzure integration

Запросы T-SQL на основе PolyBase также можно использовать для импорта данных из хранилища BLOB-объектов Azure и экспорта данных в него.With the underlying help of PolyBase, T-SQL queries can also import and export data from Azure Blob Storage. Кроме того, PolyBase позволяет Azure Synapse Analytics импортировать данные из Хранилища BLOB-объектов Azure и Azure Data Lake Store, а также экспортировать в них данные.Further, PolyBase enables Azure Synapse Analytics to import and export data from Azure Data Lake Store, and from Azure Blob Storage.

Зачем нужна технология PolyBaseWhy use PolyBase?

PolyBase позволяет объединять данные из экземпляра SQL Server с внешними данными.PolyBase allows you to join data from a SQL Server instance with external data. Прежде чем PolyBase объединит данные во внешних источниках, можно выполнить одно из следующих действий:Prior to PolyBase to join data to external data sources you could either:

  • передать часть данных, чтобы все они находились в одном месте;Transfer half your data so that all the data was in one location.
  • запросить данные из двух источников, а затем написать пользовательскую логику запроса для объединения и интеграции данных на уровне клиента.Query both sources of data, then write custom query logic to join and integrate the data at the client level.

PolyBase позволяет легко объединять данные, используя Transact-SQL.PolyBase allows you to simply use Transact-SQL to join the data.

PolyBase не требует установки дополнительного программного обеспечения в среде Hadoop.PolyBase does not require you to install additional software to your Hadoop environment. При запросе внешних данных используется такой же синтаксис T-SQL, как и при запросе таблицы базы данных.You query external data by using the same T-SQL syntax used to query a database table. Все вспомогательные действия, реализуемые PolyBase, выполняются прозрачно.The support actions implemented by PolyBase all happen transparently. Автору запроса не требуется знать, как работает внешний источник.The query author does not need any knowledge about the external source.

Варианты использования PolyBasePolyBase uses

PolyBase поддерживает перечисленные ниже сценарии в SQL Server.PolyBase enables the following scenarios in SQL Server:

  • Запрашивание данных, хранящихся в Hadoop, из экземпляра SQL Server или PDW.Query data stored in Hadoop from a SQL Server instance or PDW. Пользователи хранят данные в более экономичных распределенных и масштабируемых системах, таких как Hadoop.Users are storing data in cost-effective distributed and scalable systems, such as Hadoop. PolyBase позволяет легко запрашивать данные с помощью T-SQL.PolyBase makes it easy to query the data by using T-SQL.

  • Запрашивать данные, хранящиеся в хранилище BLOB-объектов Azure.Query data stored in Azure Blob Storage. Данные для использования службами Azure удобно хранить в хранилище BLOB-объектов Azure.Azure blob storage is a convenient place to store data for use by Azure services. PolyBase позволяет легко обращаться к данным с помощью T-SQL.PolyBase makes it easy to access the data by using T-SQL.

  • Импорт данных из Hadoop, хранилища BLOB-объектов Azure или Azure Data Lake Store.Import data from Hadoop, Azure Blob Storage, or Azure Data Lake Store. Используйте скорость технологии Microsoft SQL columnstore и возможности анализа, импортируя данные из Hadoop, хранилища BLOB-объектов Azure или Azure Data Lake Store в реляционные таблицы.Leverage the speed of Microsoft SQL's columnstore technology and analysis capabilities by importing data from Hadoop, Azure Blob Storage, or Azure Data Lake Store into relational tables. Нет необходимости в отдельном средстве ETL или импорта.There is no need for a separate ETL or import tool.

  • Экспортировать данные в Hadoop, хранилище BLOB-объектов Azure или Azure Data Lake Store.Export data to Hadoop, Azure Blob Storage, or Azure Data Lake Store. Архивация данных в Hadoop, хранилище BLOB-объектов Azure или Azure Data Lake Store позволяет создать экономичное хранилище и обеспечить его подключение к сети для удобного доступа к данным.Archive data to Hadoop, Azure Blob Storage, or Azure Data Lake Store to achieve cost-effective storage and keep it online for easy access.

  • Интегрироваться со средствами бизнес-аналитики.Integrate with BI tools. Можно использовать PolyBase со средствами бизнес-аналитики и стеком технологий анализа Майкрософт, а также применять любые сторонние средства, совместимые с SQL Server.Use PolyBase with Microsoft's business intelligence and analysis stack, or use any third party tools that are compatible with SQL Server.

ПроизводительностьPerformance

  • Принудительная отправка вычислений в Hadoop.Push computation to Hadoop. Оптимизатор запросов принимает решение принудительно отправить вычисления в Hadoop, если это улучшит производительность запросов.The query optimizer makes a cost-based decision to push computation to Hadoop, if that will improve query performance. Для принятия такого решения оптимизатор запросов использует статистику из внешних таблиц.The query optimizer uses statistics on external tables to make the cost-based decision. При включении вычислений создаются задания MapReduce и применяются распределенные вычислительные ресурсы Hadoop.Pushing computation creates MapReduce jobs and leverages Hadoop's distributed computational resources.

  • Масштабирование вычислительных ресурсов.Scale compute resources. Для повышения производительности запросов можно использовать группы горизонтального масштабирования PolyBaseв SQL Server.To improve query performance, you can use SQL Server PolyBase scale-out groups. Это обеспечивает параллельную передачу данных между экземплярами SQL Server и узлами Hadoop, а также добавляет вычислительные ресурсы для работы с внешними данными.This enables parallel data transfer between SQL Server instances and Hadoop nodes, and it adds compute resources for operating on the external data.

Дальнейшие действияNext steps

Прежде чем использовать PolyBase, необходимо установить компонент PolyBase.Before using PolyBase, you must install the PolyBase feature. Затем ознакомьтесь со следующими руководствами по настройке в зависимости от источника данных:Then see the following configuration guides depending on your data source: