Новое в SQL Server 2022: Виртуализация данных с помощью PolyBase/REST API

Автор оригинала: Hugo Queiroz

Microsoft SQL Server 2022 представляет новую возможность запрашивать данные непосредственно из источников, осуществлять виртуализацию данных, и использовать интерфейсы REST API. Это делает работу с данными ещё более лёгкой и гибкой, за счёт увеличения числа поддерживаемых коннекторов и форматов файлов. Поддерживаются форматы: CSV, Parquet и Deltafiles, хранящиеся в любом объектном хранилище, совместимом со службой хранения S3, как локально, так и в облаке. И наконец, SQL Server 2022 теперь может использовать операции Create External Table as Select (CETAS) в OPENROWSET, вместе с такими командами как Create External Table (CET) совместно со всеми возможностями T-SQL. Всё это делает SQL Server 2022 мощным центром управления данными.

Как это работает?

Виртуализация данных в SQL Server 2022 стала более гибкой и простой, поскольку эти возможности находятся внутри ядра СУБД. Рисунок ниже даёт некое представление об архитектуре:

На рисунке представлен неполный список поставщиков S3-compliant object storage. SQL Server 2022 совместим с любым поставщиком хранилища объектов с интерфейсами S3 - REST API.
На рисунке представлен неполный список поставщиков S3-compliant object storage. SQL Server 2022 совместим с любым поставщиком хранилища объектов с интерфейсами S3 - REST API.

OPENROWSET: это простенькая команда, которая позволяет в T-SQL получать доступ к данным вне SQL Server, будь то файл или другая база данных. Рекомендуется для загрузки/выборки данных.

CREATE EXTERNAL TABLE (CET): создает таблицу, в которой данные остаются в своем исходном расположении вне SQL Server, и при выборке ядро SQL Server доставляет запрошенные данные пользователю. Внешняя таблица может после этого использоваться повторно и оптимизатор может собирать по её колонкам статистику для повышения производительности запросов.

CREATE EXTERNAL TABLE as SELECT (CETAS): выполняет несколько операций за один раз. Можно делать преобразования и конвертацию указанных данных, размещаемых как внутри, так и вне базы данных. Затем можно экспортировать данные в другое место в сети или «облаке». В завершение, создаётся внешняя таблица, предназначенная для хранения экспортируемых данных.

Эти операции защищены главным ключом базы данных и внешними учетными данными для хранилища. Если данные будут хранится в совместимом с S3 объектном хранилище, SQL Server 2022 будет использовать для этого реализацию REST API. В других случаях SQL Server 2022 будет использовать службы PolyBase, однако установка служб PolyBase требуется во всех случаях.

Полный список источников данных можно найти в документации: CREATE EXTERNAL DATA SOURCE (Transact-SQL).

Полный список поддерживаемых форматов внешних файлов можно узнать в статье: CREATE EXTERNAL FILE FORMAT (Transact-SQL).

Преимущества

Основные преимущества виртуализации данных SQL Server 2022 с помощью PolyBase:

  • Не нужно перемещать данные: доступ к данным там, где они расположены.Язык T-SQL: можно использовать все возможности языка T-SQL, его команд, надстроек и диалекта.
  • Один источник для всех данных: пользователи и приложения могут использовать SQL Server 2022 в качестве единого источника любых данных, а администраторы баз данных и инженеры данных смогут использовать единую среду управления.
  • Безопасность: можно использовать весь функционал безопасности SQL Server для предоставления гранулированных разрешений, управления учетными данными и их контроля.
  • Стоимость: PolyBase доступен во всех редакциях SQL Server 2022.
Начать дискуссию