polybase ms sql что это
Часто задаваемые вопросы
PolyBase VS. linked servers
The following table highlights the differences between PolyBase and linked server features:
PolyBase | Linked Servers |
---|---|
Database scoped object | Instance scoped object |
Uses ODBC drivers | Uses OLEDB providers |
Supports read-only operations for all data sources and insert operation for HADOOP & data pool data source only | Supports both read and write operations |
Queries to remote data source from a single connection can be scaled-out | Queries to remote data source from a single connection cannot be scaled-out |
Predicates pushdown is supported | Predicates pushdown is supported |
No separate configuration needed for availability group | Separate configuration needed for each instance in availability group |
Basic authentication only | Basic & integrated authentication |
Suitable for analytic queries processing large number of rows | Suitable for OLTP queries returning single or few rows |
Queries using external table cannot participate in distributed transaction | Distributed queries can participate in distributed transaction |
What’s new in PolyBase 2019?
PolyBase in SQL Server 2019 (15.x) can now read data from a larger variety of data sources. The data from these external data sources can be store as external tables on your SQL Server. PolyBase also supports pushdown computation to these external data sources, excluding ODBC generic types.
Compatible Data Sources
PolyBase can allow connection to external data sources using third party ODBC drivers. These drivers are not provided along with PolyBase and may not work as intended. For more information, visit our guide for PolyBase ODBC generic configuration.
PolyBase in Big Data Clusters vs. PolyBase in stand-alone instances
The following table highlights the PolyBase features available in SQL Server 2019 (15.x) stand-alone install and SQL Server 2019 (15.x) big data cluster:
Feature | Big Data Cluster | Stand alone instance |
---|---|---|
Create external data source for SQL Server, Oracle, Teradata, and Mongo DB | X | X |
Create external data source using a compatible third-party ODBC Driver | X | |
Create external data source for HADOOP data source | X | X |
Create external data source for Azure Blob Storage | X | X |
Create external table on a SQL Server data pool | X | |
Create external table on a SQL Server storage pool | X | |
Scale-out query execution | X | X (Windows only) |
For more information on connections using the ODBC generic connector visit our How to guide for configuring ODBC generic types.
How can I view the remote query execution plan of PolyBase pushdown computation?
How can I tell whether PolyBase pushdown computation is happening?
Which ports should I allow through my firewall for PolyBase?
No additional ports are needed to open for PolyBase itself, except in the case of a PolyBase scale-out group. Without a scale-out group, the PolyBase service alone should not require any firewall rule.
On Windows servers, PolyBase will leverage the ports used by SQL Server in the IPAll section of the TCP/IP settings in SQL Server Configuration Manager. For more information, see TCP/IP Properties. On Linux servers, PolyBase will leverage the network.tcpport setting. For more information, see TCP port.
For PolyBase scale-out groups over multiple Windows servers, see port information in the next question.
However, you must allow other ports for communication to the various external data source(s) used by PolyBase. Refer to ODBC configuration, Azure resource configuration, or specific data source documentation. For example:
Source platform | Reference |
---|---|
Microsoft SQL Server | Ports Used By SQL Server |
Hortonworks HDP | Administering HDFS |
Cloudera CDH | Ports Used by CDH Components |
What ports are used for PolyBase scale-out group?
By default, the PolyBase data movement service connects to the head node of a scale-out group over a range of ports from TCP 16450-16460, typically using 16450-16453, plus port 17001. These ports are only used when a PolyBase scale-out group is configured and should be allowed through server firewalls. SQL Server Setup should automatically create a local firewall rule allowing these ports upon feature installation. For more information, see Configure PolyBase scale-out groups on Windows.
О новых функциях SQL Server 2016
Базы данных — это сердце любой компании, которое обеспечивает работоспособность буквального каждого направления деятельности. Но какое место базы данных занимают в современных реалиях? Ведь они появились не сегодня. Они были созданы в то время, когда мы и представить не могли, что мир технологий будет таким, какой он есть сейчас. Традиционные базы данных предназначались исключительно для записи и извлечения транзакций, таких как заказы и платежи. Их задачей было обеспечивать надежную и безопасную работу приложений в небольшом или среднего масштаба локальном ЦОДе.
Мы рады пригласить Вас на ключевое событие года в мире данных – Виртуальный Форум Microsoft «Данные. Технологии. SQL Server 2016», который состоится 8 июня 2016 года.
Ниже подробности о некоторых новых функциях SQL Server 2016 – R Services, PolyBase, Stretch Database.
Еще больше и подробнее вы можете узнать на нашем виртуальном форуме.
Анализ внутри базы данных с использованием языка R
Язык программирования R широко используется как программное обеспечение для анализа данных и составления прогнозов. Он бесплатный, основан на открытом исходном коде и поддерживается большим сообществом. Вы можете использовать несколько тысяч пакетов для решения различных задач. К вашим услугам — стандартные функции статистики и управления данными, графические интерфейсы и передовые алгоритмы машинного обучения. Язык R выбирают ученые и компании, которые хотят внедрять инновации с использованием современных аналитических методов.
Представляем PolyBase
За последние 10 лет мир информационных технологий изменился до неузнаваемости. Интернет вещей, технологии обработки неструктурированных данных и снижение цен на ИТ-оборудование, — все это обусловило настоящий бум Больших данных. Появились решения (такие как Hadoop and HDFS), позволяющие обрабатывать огромные массивы полуструктурированных данных и при этом не требующие покупки дорогостоящего специализированного «железа». Все это открыло перед бизнесом новые возможности получения прибыли, однако «оборотной стороной медали» стала растущая сложность корпоративных платформ для работы с данными. Кроме того, источники данных стали гораздо более разнообразными. Зачастую компаниям приходится иметь дело сразу с несколькими разрозненными наборами данных: реляционными в SQL Server и нереляционными в HDFS. Если аналитику необходимо совместить анализ полуструктурированных и структурированных данных, то ему придется сначала скопировать их из одной среды в другую, что отнимает много времени и сил.
Но все в мире меняется к лучшему! Решение PolyBase в SQL Server 2016 снимает проблему разрозненности реляционных и полуструктурированных данных. Использование PolyBase и T-SQL позволяет пользователям отправлять запросы к данным HDFS так, как будто они хранятся на локальном SQL Server, что открывает массу новых возможностей для анализа.
Неограниченно долгое хранение данных с технологией Stretch Database
Технология Stretch Database, входящая в состав СУБД SQL Server 2016, дает возможность хранить любой объем данных столько, сколько потребуется, без нарушения соглашения об уровне обслуживания бизнеса и высоких затрат на приобретение систем хранения данных уровня предприятия. В отличие от обычных решений, применяемых для хранения «холодных» данных, Stretch Database обеспечивает постоянный доступ к вашим данным за счет использования неисчерпаемых облачных ресурсов Azure, а также не требует модификации большинства приложений. Администраторам баз данных лишь нужно активировать хранение «холодных» данных в облаке.
Виртуальный Форум
Мы рады пригласить Вас на ключевое событие года в мире данных – Виртуальный Форум Microsoft «Данные. Технологии. SQL Server 2016», который состоится 8 июня 2016 года.
Участие в форуме бесплатное. Необходима предварительная регистрация.
Дополнительно
Предлагаем вам обратить внимание на блог Сергея Олонцева, где вы можете найти множество материалов, посвященных SQL Server 2016.
Сценарии запросов PolyBase
В этой статье приведены примеры запросов, в которых применяется компонент PolyBase SQL Server (начиная с версии 2016). Прежде чем использовать эти примеры, необходимо сначала установить и настроить PolyBase. Дополнительные сведения см. в руководстве по PolyBase.
Отправить запрос к внешним таблицам можно с помощью инструкций Transact-SQL или средств бизнес-аналитики.
Выбор данных из внешней таблицы (SELECT)
Простой запрос, возвращающий данные из определенной внешней таблицы.
Простой запрос, включающий предикат.
Соединение внешних и локальных таблиц (JOIN)
Импорт данных
Вы можете импортировать данные из Hadoop или службы хранилища Azure в SQL Server для постоянного хранения. Чтобы импортировать данные, на которые ссылается внешняя таблица, следует использовать инструкцию SELECT INTO. Оперативно создайте реляционную таблицу, а затем индекс хранилища столбцов на основе таблицы, описанной на втором шаге.
Экспорт данных
Вы можете экспортировать данные из SQL Server в службу хранилища Azure или Hadoop.
В первую очередь включите функцию экспорта, задав для аргумента sp_configure параметра allow polybase export значение 1. Затем создайте внешнюю таблицу, которая указывает на целевой каталог. Если целевой каталог не существует, инструкция CREATE EXTERNAL TABLE создает его. Затем используйте инструкцию INSERT INTO, чтобы экспортировать данные из локальной таблицы SQL Server во внешний источник данных.
Результаты инструкции SELECT экспортируются в указанное расположение в заданном формате. Внешние файлы получают имена вида ИДзапроса_дата_время_ИД.формат, где ИД — это нарастающий идентификатор, а формат — это формат экспортированных данных. Например, имя одного из файлов может выглядеть так: QID776_20160130_182739_0.orc.
При экспорте данных в Hadoop или хранилище BLOB-объектов Azure с помощью PolyBase передаются только данные без имен столбцов (метаданных), как определено в команде CREATE EXTERNAL TABLE.
Новые представления каталога
В новых представлениях каталога, указанных ниже, отображаются внешние ресурсы.
Определить, является ли таблица внешней, можно с помощью is_external
Дальнейшие действия
Дополнительные сведения об устранении неполадок см. в статье Устранение неполадок с PolyBase.
Настройка PolyBase для доступа к внешним данным в SQL Server
Эта статья описывает, как с помощью PolyBase в экземпляре SQL Server запросить внешние данные другого экземпляра SQL Server.
Предварительные требования
Если вы не установили PolyBase, см. раздел Установка PolyBase. Необходимые условия описываются в статье, посвященной установке. По завершении установки необходимо также включить PolyBase.
Внешний источник данных SQL Server использует проверку подлинности SQL.
Главный ключ необходимо создать перед созданием учетных данных для базы данных.
Настройка внешнего источника данных SQL Server
Чтобы запросить данные из источника данных SQL Server, необходимо создать внешние таблицы, чтобы ссылаться на внешние данные. Этот раздел содержит пример кода для создания таких внешних таблиц.
Чтобы обеспечить оптимальную производительность запросов, создайте статистику столбцов внешней таблицы, особенно тех, которые используются для объединения, фильтров и статистических выражений.
В рамках этого раздела используются следующие команды Transact-SQL:
Соединитель ODBC SQL для PolyBase поддерживает только обычную проверку подлинности, но не проверку подлинности Kerberos.
Создайте внешний источник данных с помощью инструкции CREATE EXTERNAL DATA SOURCE. В следующем примере происходит следующее:
Наконец, в примере используются учетные данные, созданные ранее.
(Необязательно) Создайте статистику для внешней таблицы.
Чтобы обеспечить оптимальную производительность запросов, создайте статистику столбцов внешней таблицы, особенно тех, которые используются для объединения, фильтров и статистических выражений.
После создания внешнего источника данных можно использовать команду CREATE EXTERNAL TABLE, чтобы создать таблицу с поддержкой запросов по этому источнику.
Совместимые типы соединителей SQL Server
Вы можете установить подключение к другим источникам данных, поддерживающим подключение SQL Server. Соединитель SQL Server PolyBase позволяет создать внешнюю таблицу Azure Synapse Analytics и Базы данных SQL Azure. Для этого выполните те же действия, что указаны ранее. Учетные данные в области базы, а также адрес сервера, порт и строка расположения должны соответствовать аналогичным параметрам в совместимом источнике данных, к которому нужно подключиться.
Дальнейшие действия
Дополнительные сведения о PolyBase см. в статье Руководство по PolyBase.
Установка PolyBase на компьютере по управлением Windows
Чтобы установить пробную версию SQL Server, перейдите на страницу ознакомительных версий SQL Server.
Предварительные требования
64-разрядный выпуск SQL Server Evaluation.
Минимальный объем памяти: 4 ГБ.
Минимум места на жестком диске: 2 ГБ.
Рекомендация: как минимум 16 ГБ ОЗУ.
Для правильной работы служб PolyBase требуется включить сетевой протокол TCP/IP для службы SQL Server. TCP/IP включен по умолчанию во всех выпусках SQL Server, кроме Developer и Express. Для корректной работы PolyBase в выпусках Developer и Express нужно включить подключение по TCP/IP. См. раздел Включение или отключение сетевого протокола сервера. Кроме того, если параметру конфигурации протокола TCP/IP Прослушивать все задано значение Нет, по-прежнему требуется указать запись для правильного порта прослушивателя в полях Динамические порты TCP или Порты TCP в разделе IPAll в свойствах TCP/IP. Это необходимо из-за способа, которым службы PolyBase разрешают порт прослушивателя подсистемы SQL Server.
Для правильной работы служб PolyBase требуется включить протокол общей памяти.
PolyBase можно установить только на одном экземпляре SQL Server на компьютере.
После создания экземпляра отказоустойчивого кластера в него нельзя добавить компоненты. Например, невозможно добавить компонент PolyBase в существующий экземпляр отказоустойчивого кластера.
Один узел или масштабируемая группа PolyBase
Прежде чем устанавливать PolyBase на экземплярах SQL Server, вам следует выбрать режим этой установки: на одном узле или в масштабируемой группе PolyBase.
Для учетной записи службы PolyBase выберите следующее:
Для использования масштабируемой группы PolyBase необходимо следующее.
После установки PolyBase в изолированную службу или в группе горизонтального увеличения масштаба нельзя перенести установку в группу горизонтального увеличения масштаба или изолированную службу. Если необходимо перенести существующую установку PolyBase в изолированный экземпляр или в группу горизонтального увеличения масштаба, удалите и повторно установите компонент PolyBase.
Использование мастера установки
Запустите файл setup.exe для SQL Server.
Щелкните Установка, затем Новая установка автономного SQL Server или добавление компонентов.
На странице выбора компонентов выберите пункт Служба запросов PolyBase для внешних данных.
PolyBase в SQL Server 2019 теперь содержит дополнительный параметр Соединитель Java для источников данных HDFS. Дополнительные сведения об этой функции см. в блоге о функциях предварительной версии SQL Server.
На странице конфигурации сервера настройте службу SQL Server PolyBase Engine и службу перемещения данных SQL Server PolyBase на запуск под одной и той же учетной записью домена.
В масштабируемой группе PolyBase служба PolyBase Engine и служба перемещения данных PolyBase должны работать на всех узлах под одной учетной записью домена. См. раздел Масштабируемые группы PolyBase.
На странице конфигурации PolyBase выберите один из двух вариантов. Дополнительные сведения: Масштабируемые группы PolyBase.
Использование экземпляра SQL Server в качестве автономного экземпляра с поддержкой PolyBase.
Выберите этот вариант, чтобы использовать экземпляр SQL Server в качестве изолированного головного узла.
Использование экземпляра SQL Server в составе масштабируемой группы PolyBase Этот вариант позволит брандмауэру разрешить входящие подключения. Будут разрешены подключения к ядру СУБД SQL Server, SQL Server PolyBase Engine, службе перемещения данных SQL Server PolyBase и обозревателю SQL. Брандмауэр также разрешит входящие подключения с других узлов в масштабируемой группе PolyBase.
Кроме того, при выборе этого варианта в брандмауэре будут включены подключения для координатора распределенных транзакций Майкрософт (MSDTC) и будут изменены параметры реестра для MSDTC.
На странице конфигурации PolyBase укажите диапазон портов (не менее шести). Программа установки SQL Server выделяет первые шесть доступных портов из указанного диапазона.
Использование командной строки
Используйте значения из этой таблицы для создания сценариев установки. Служба SQL Server PolyBase Engine и служба перемещения данных SQL Server PolyBase должны работать под одной и той же учетной записью. В масштабируемой группе PolyBase обе службы PolyBase должны выполняться на всех узлах под одной доменной учетной записью.
Компонент SQL Server | Параметр и значения | Описание |
---|---|---|
Управление программой установки SQL Server | Обязательно |
/FEATURES=PolyBase
/PBENGSVCACCOUNT
/PBENGSVCPASSWORD
/PBENGSVCSTARTUPTYPE
/PBDMSSVCACCOUNT
/PBDMSSVCPASSWORD
/PBDMSSVCSTARTUPTYPE
/PBSCALEOUT
Поддерживаемые значения: True, False.
/PBPORTRANGE
/PBPORTRANGE=16450-16460
Компонент SQL Server | Параметр и значения | Описание |
---|---|---|
Управление программой установки SQL Server | Обязательно |
/FEATURES=PolyBaseCore, PolyBaseJava, PolyBase
/PBENGSVCACCOUNT
/PBENGSVCPASSWORD
/PBENGSVCSTARTUPTYPE
/PBDMSSVCACCOUNT
/PBDMSSVCPASSWORD
/PBDMSSVCSTARTUPTYPE
/PBSCALEOUT
Поддерживаемые значения: True, False.
/PBPORTRANGE
/PBPORTRANGE=16450-16460
Пример
Далее представлен пример сценария установки.
Включение PolyBase
Завершив установку, включите компонент PolyBase для доступа к его функциям. Используйте следующую команду Transact-SQL. Для экземпляров SQL 2019, развернутых во время установки кластера больших данных, этот параметр по умолчанию включен.
Примечания после установки
PolyBase устанавливает три пользовательские базы данных: DWConfiguration, DWDiagnostics и DWQueue. Эти базы данных предназначены для PolyBase. Не изменяйте и не удаляйте их.
При добавлении PolyBase к существующей установке SQL Server будут установлены компоненты на уровне версии установочного носителя, который может относиться к другим компонентам SQL Server. Это может привести к непредвиденному поведению или ошибкам. Всегда следуйте инструкциям по установке компонента PolyBase, переведя новый компонент на тот же уровень версии. При необходимости установите пакеты обновления (SP), накопительные обновления (CU) и (или) выпуски для общего распространения (GDR). Сведения о том, как определить версию PolyBase, см. в статье Определение уровня версий, выпусков и обновлений SQL Server и компонентов.
Как подтвердить установку
Выполните следующую команду. Если служба PolyBase установлена, возвращается значение 1. В противном случае возвращается 0.
Правила брандмауэра
Программа установки SQL Server PolyBase создает на компьютере следующие правила брандмауэра:
SQL Server PolyBase — ядро СУБД — (TCP-In)
SQL Server PolyBase — службы PolyBase — (TCP-In)
SQL Server PolyBase — обозреватель SQL — (UDP вход.).
Эти правила активируются во время установки, если экземпляр SQL Server входит в масштабируемую группу PolyBase. Брандмауэр будет открыт для входящих подключений. Будут разрешены подключения к ядру СУБД SQL Server, SQL Server PolyBase Engine, службе перемещения данных SQL Server PolyBase и обозревателю SQL. Но если во время установки служба брандмауэра на компьютере не запущена, программа установки SQL Server не сможет включить эти правила. В этом случае запустите службу брандмауэра и включите эти правила после установки.
Включение правил брандмауэра
Откройте Панель управления.
Щелкните Система и безопасность и выберите Брандмауэр Windows.
Щелкните Дополнительные параметры, а затем выберите Правила для входящих подключений.
Щелкните отключенное правило правой кнопкой мыши и выберите Включить правило.