Virtualización de datos con PolyBase en SQL Server

Se aplica a: SQL Server Not supported. Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

PolyBase es una característica de virtualización de datos para SQL Server.

¿Qué es PolyBase?

PolyBase permite que la instancia de SQL Server consulte datos con T-SQL directamente de SQL Server, Oracle, Teradata, MongoDB, clústeres de Hadoop, Cosmos DB y el almacenamiento de objetos compatible con S3 sin necesidad de instalar de forma independiente software de conexión de cliente. También puede usar el conector ODBC genérico para conectarse a proveedores adicionales mediante controladores ODBC de terceros. PolyBase permite que las consultas T-SQL combinen los datos de orígenes externos con tablas relacionales en una instancia de SQL Server.

Un caso de uso clave para la virtualización de datos con la característica de PolyBase es permitir que los datos permanezcan en su ubicación y formato originales. Puede virtualizar los datos externos a través de la instancia de SQL Server, para que se puedan consultar in situ como cualquier otra tabla de SQL Server. Este proceso minimiza la necesidad de procesos ETL para el movimiento de datos. Este escenario de virtualización de datos es posible con el uso de conectores de PolyBase.

Servicios y productos de SQL compatibles

PolyBase proporciona estas mismas funcionalidades para los siguientes productos SQL de Microsoft:

  • SQL Server 2016 (13.x) y versiones posteriores (Windows)
  • SQL Server 2019 (15.x) y versiones posteriores (Windows y Linux)
  • Sistema de la plataforma de análisis (PDW) de SQL Server
  • Azure Synapse Analytics (para los grupos de SQL dedicados)

Nota:

La virtualización de datos también está disponible para Azure SQL Managed Instance, limitando su ámbito a la consulta de datos externos almacenados en archivos en Azure Data Lake Storage (ADLS) Gen2 y Azure Blob Storage. Visite Virtualización de datos con Azure SQL Managed Instance para obtener más información.

Mejoras de PolyBase en SQL Server 2022

Nuevo en SQL Server 2022 (16.x) Detalles
Almacenamiento de objetos compatible con S3 SQL Server 2022 (16.x) agrega un nuevo conector, el almacenamiento de objetos compatible con S3, mediante la API de REST de S3. Puede usar OPENROWSET y CREATE EXTERNAL TABLE para consultar archivos de datos en el almacenamiento de objetos compatible con S3.
Algunos conectores independientes de los servicios de PolyBase El conector de almacenamiento de objetos compatible con S3, así como ADSL Gen2 y Azure Blob Storage, ya no dependen de los servicios de PolyBase. No obstante, los servicios de PolyBase deben ejecutarse para admitir la conectividad con Oracle, Teradata, MongoDB y ODBC genérico. Además, debe instalarse la característica PolyBase en la instancia de SQL Server.
Formato de archivo Parquet Ahora, PolyBase es capaz de consultar datos de archivos Parquet almacenados en el almacenamiento de objetos compatible con S3. Para obtener más información, consulte Virtualización del archivo parquet en un almacenamiento de objetos compatible con S3 con PolyBase.
Formato de tabla Delta PolyBase ahora es capaz de consultar datos (de solo lectura) del formato de tabla Delta almacenados en un almacenamiento de objetos compatible con S3, una cuenta de Azure Storage V2 y Azure Data Lake Storage Gen2. Para obtener más información, consulte Virtualización del formato de tabla Delta.
Crear una tabla externa como Select (CETAS) PolyBase ahora puede usar CETAS para crear una tabla externa y, a continuación, exportar, en paralelo, el resultado de una instrucción SELECT de Transact-SQL a Azure Data Lake Storage Gen2, una cuenta de Azure Storage V2 y un almacenamiento de objetos compatible con S3. Para más información, vea CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).

Para ver más características nuevas de SQL Server 2022 (16.x), consulte Novedades de SQL Server 2022.

Sugerencia

Para ver un tutorial sobre las características y funcionalidades de PolyBase en SQL Server 2022 (16.x), consulte Introducción a PolyBase en SQL Server 2022.

Conectores de PolyBase

La característica de PolyBase proporciona conectividad con los siguientes orígenes de datos externos:

Orígenes de datos externos SQL Server 2016-2019 con PolyBase SQL Server 2022 (16.x) con PolyBase PDW DE APS Azure Synapse Analytics
Oracle, MongoDB, Teradata Lectura Lectura No No
ODBC genérico Lectura (solo Windows) Lectura (solo Windows) No No
Azure Storage Leer/Escribir Leer/Escribir Leer/Escribir Leer/Escribir
Hadoop Leer/Escribir No Leer/Escribir No
SQL Server Lectura Lectura No No
Almacenamiento de objetos compatible con S3 No Leer/Escribir No No
  • SQL Server 2022 (16.x) no admite Hadoop.
  • SQL Server 2016 (13.x) presentó PolyBase compatible con conexiones a Hadoop y Azure Blob Storage.
  • SQL Server 2019 (15.x) presentó conectores adicionales, como SQL Server, Oracle, Teradata y MongoDB.
  • SQL Server 2022 (16.x) presentó el conector de almacenamiento compatible con S3.
  • La actualización acumulativa 19 de SQL Server 2019 (15.x) presentó la compatibilidad con Oracle TNS.
  • La actualización acumulativa 2 de SQL Server 2022 (16.x) presentó la compatibilidad con Oracle TNS.

Algunos ejemplos de conectores externos son:

* PolyBase es compatible con dos proveedores de Hadoop: Hortonworks Data Platform (HDP) y Cloudera Distributed Hadoop (CDH), a través de SQL Server 2019. La compatibilidad de SQL Server con los orígenes de datos externos HDFS Cloudera (CDP) y Hortonworks (HDP) se retirará y no se incluirá en SQL Server 2022 (16.x). Para obtener más información, consulte Opciones de macrodatos en la plataforma Microsoft SQL Server.

Para usar PolyBase en una instancia de SQL Server:

  1. Instale PolyBase en Windows o instale PolyBase en Linux.
  2. A partir de SQL Server 2019 (15.x), habilite PolyBase en sp_configure, si es necesario.
  3. Cree un origen de datos externo.
  4. Cree una tabla externa.

Integración con Azure

Con la ayuda de PolyBase, las consultas T-SQL también pueden importar y exportar datos desde Azure Blob Storage. Además, PolyBase permite a Azure Synapse Analytics importar y exportar datos desde Azure Data Lake Store y Azure Blob Storage.

Por qué usar PolyBase

PolyBase permite combinar datos de una instancia de SQL Server con datos externos. Antes de PolyBase para combinar datos con orígenes de datos externos, podía:

  • Transferir la mitad de los datos para que todos estuvieran en una sola ubicación.
  • Consultar ambos orígenes de datos, después escribir una lógica de consulta personalizada para combinar e integrar los datos en el nivel de cliente.

PolyBase permite simplemente usar Transact-SQL para combinar los datos.

PolyBase no requiere que instale más software en el entorno de Hadoop. Los datos externos se consultan mediante la misma sintaxis T-SQL que se utiliza para consultar una tabla de base de datos. Las acciones de asistencia implementadas por PolyBase son transparentes. El autor de la consulta no necesita ningún conocimiento sobre el origen externo.

Usos de PolyBase

PolyBase permite estos escenarios en SQL Server:

  • Consultar datos almacenados en Azure Blob Storage. Azure Blob Storage es un lugar muy cómodo donde almacenar datos para que los usen los servicios de Azure. PolyBase facilita el acceso a los datos mediante T-SQL.

  • Consultar datos almacenados en Hadoop desde una instancia de SQL Server o PDW. Los usuarios almacenan datos en sistemas rentables, distribuidos y escalables, como Hadoop. PolyBase facilita la consulta de datos mediante T-SQL.

  • Importación de datos desde Hadoop, Azure Blob Storage o Azure Data Lake Store Saque partido de la velocidad de la tecnología de almacén de columnas y las capacidades de análisis de Microsoft SQL e importe datos desde Hadoop, Azure Blob Storage o Azure Data Lake Store en tablas relacionales. No es necesaria ninguna herramienta independiente de ETL o de importación.

  • Exportar datos a Hadoop, Azure Blob Storage o Azure Data Lake Store Archive datos en Hadoop, Azure Blob Storage o Azure Data Lake Store para disfrutar de un almacenamiento rentable y mantenerlo en línea para un fácil acceso.

  • Integrarse con herramientas de BI. Use PolyBase con la pila de análisis y la inteligencia empresarial de Microsoft o recurra a cualquier herramienta de terceros que sea compatible con SQL Server.

Rendimiento

No hay límites estrictos para el número de archivos o la cantidad de datos que se pueden consultar. El rendimiento de las consultas depende de la cantidad de datos, el formato de los datos, la forma en que se organizan los datos y la complejidad de las consultas y las combinaciones.

Para obtener más información sobre la guía de rendimiento y las recomendaciones para PolyBase, consulte Consideraciones de rendimiento en PolyBase para SQL Server.

Actualizar a SQL Server 2022

A partir de SQL Server 2022 (16.x), Hortonworks Data Platform (HDP) y Cloudera Distributed Hadoop (CDH) ya no se admiten. Debido a estos cambios, es necesario depositar manualmente orígenes de datos externos de PolyBase creados en versiones anteriores de SQL Server que usan TYPE = HADOOP o Azure Storage antes de migrar a SQL Server 2022 (16.x). Para depositar orígenes de datos externos, también es necesario depositar los objetos de base de datos asociados, como las credenciales con ámbito de base de datos y las tablas externas.

Los conectores de Azure Storage se deben cambiar en función de la tabla de referencia siguiente:

Origen de datos externo De En
Azure Blob Storage wasb[s] abs
ADLS Gen2 abfs[s] adls

Introducción

Antes de usar PolyBase, debe instalar PolyBase en Windows o instalar PolyBase en Linux y habilitar PolyBase en sp_configure, si fuera necesario.

Para obtener un tutorial sobre las características y funcionalidades de PolyBase, consulte Introducción a PolyBase en SQL Server 2022.

Para obtener más tutoriales sobre varios orígenes de datos externos, consulte:

Virtualización de datos en otras plataformas

Las características de virtualización de datos también están disponibles en otras plataformas: