PolyBase расширяет спектр данных, доступных пользователям SQL Server 2016

Дата публикации: 12.04.2016

 

Эволюция платформ данных

За последние 10 лет мир информационных технологий изменился до неузнаваемости. Интернет вещей, технологии обработки неструктурированных данных и снижение цен на ИТ-оборудование, — все это обусловило настоящий бум Больших данных. Появились решения (такие как Hadoop and HDFS), позволяющие обрабатывать огромные массивы полуструктурированных данных и при этом не требующие покупки дорогостоящего специализированного «железа». Все это открыло перед бизнесом новые возможности получения прибыли, однако «оборотной стороной медали» стала растущая сложность корпоративных платформ для работы с данными. Кроме того,  источники данных стали гораздо более разнообразными. Зачастую компаниям приходится иметь дело сразу с несколькими разрозненными наборами данных: реляционными в SQL Server и нереляционными в HDFS. Если аналитику необходимо совместить анализ полуструктурированных и структурированных данных, то ему придется сначала скопировать их из одной среды в другую, что отнимает много времени и сил.

Но все в мире меняется к лучшему! Решение PolyBase в SQL Server 2016 снимает проблему разрозненности реляционных и полуструктурированных данных. Использование PolyBase и T-SQL позволяет пользователям отправлять запросы к данным HDFS так, как будто они хранятся на локальном SQL Server, что открывает массу новых возможностей для анализа.

Примеры использования

PolyBase предлагает три сценария обращения к данным в SQL Server и Hadoop:

  • разовые запросы к Hadoop и SQL Server 2016 с помощью T-SQL;
  • импорт данных из Hadoop или blob-хранилища Azure в SQL Server 2016;
  • экспорт «холодных» реляционных данных в Hadoop или blob-хранилище Azure при сохранении возможности одновременной отправки запросов.

При отправке запросов к данным в Hadoop PolyBase стремится максимально рационально использовать вычислительные ресурсы этой платформы. В частности, PolyBase может принять решение перенести вычислительную нагрузку в Hadoop путем создания заданий MapReduce, что обеспечивает максимально эффективную обработку запросов.

PolyBase: запросы ко всем данным сразу

PolyBase создает в SQL Server структурированное представление полуструктурированных данных в Hadoop и blob-хранилище Azure, что позволяет отправлять запросы T-SQL ко всем данным сразу. После настройки решения пользователи могут отправлять запросы к полуструктурированным данным почти так же, как к данным в SQL Server.

Для создания структурированного представления внешних данных необходимы три новых DDL выражения.

  • : blob-хранилище Hadoop или Azure? Где находится источник данных?
  • : каков формат данных?
  • : какова схема данных?

*Важное различие между внешними и локальныим таблицами заключается в том, что удаление внешней таблицы не приводит к удалению данных во внешнем источнике.

Внешний источник данных

PolyBase поддерживает новейшие версии Hortonworks и Cloudera с SQL Server 2016, а также будет поддерживать более новые версии Hadoop в течение 90 дней после их выхода. Помимо распределенных сред Hadoop PolyBase поддерживает blob-хранилища Azure в качестве внешних источников данных.

Полный список поддерживаемых источников данных см. .

Внешние форматы файлов

PolyBase поддерживает текстовые файлы, файлы ORC, RC и Parquet в сжатом и несжатом формате.
Подробнее о поддерживаемых форматах файлов см. .

Внешние таблицы

PolyBase External Tables может использоваться для ссылки на данные в кластере Hadoop или в blob-хранилище Azure. Подробнее см. .

Группы PolyBase для эффективной обработки запросов

Если вам нужно отправлять запросы к большим массивам данных в HDFS, рекомендуется выделить больше ресурсов SQL Server для обеспечения наилучшей производительности. Вместо наращивания ресурсов одного узла вы можете воспользоваться группами SQL Server 2016 PolyBase для распределения запросов по нескольким экземплярам SQL Server, что позволяет обеспечить параллельную обработку. Подобная группа состоит из главного узла (которому пользователи отправляют запросы и на котором хранятся реляционные данные для запроса), а также вычислительных узлов, которые обеспечивают параллельное извлечение данных. Вычислительные узлы, являющиеся частью группы PolyBase, одновременно могут быть использованы и для других нагрузок.

Дополнительные ресурсы

Вам интересны возможности, предлагаемые PolyBase для SQL Server 2016? Ниже вы найдете ссылки на полезные ресурсы, а также видео, в котором рассказывается, как PolyBase позволяет отправлять запросы к данным HDFS с помощью T-SQL прямо из SQL Server.


Авторы статьи:Casey Karst, Program Manager, SQL Server.