Introducción a la virtualización de datos con PolyBase

SE APLICA A: SQL Server Azure SQL Database Azure Synapse Analytics Almacenamiento de datos paralelos

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 y Cosmos DB 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 de 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.

Nota

Alguna funcionalidad de la característica de PolyBase está en versión preliminar privada para las instancias administradas de Azure SQL, como la capacidad de consultar datos externos (archivos Parquet) en Azure Data Lake Storage (ADLS) Gen2. La versión preliminar privada incluye acceso a bibliotecas cliente y documentación para realizar pruebas que todavía no están disponibles públicamente. Si está interesado y dispuesto a invertir tiempo en probar las funcionalidades y compartir sus comentarios y preguntas, consulte la guía de la versión preliminar privada de PolyBase de Azure SQL Managed Instance.

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 (solo Windows)
  • SQL Server 2019 (15.x) y versiones posteriores (Linux)
  • SQL Server Sistema de la plataforma de análisis (PDW)(PDW), hospedado en Analytics Platform System (APS)
  • Azure Synapse Analytics

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 con PolyBase PDW DE APS Azure Synapse Analytics
Oracle, MongoDB, Teradata Lectura No No
ODBC genérico Lectura (solo Windows) No No
Azure Storage Lectura/Escritura Lectura/Escritura Lectura/Escritura
Hadoop Lectura/Escritura Lectura/Escritura No
SQL Server Lectura No No
  • SQL Server 2016 (13.x) presentó PolyBase con compatibilidad para las conexiones con Hadoop y Azure Blob Storage.
  • SQL Server 2019 (15.x) presentó conectores adicionales, incluido SQL Server, Oracle, Teradata y MongoDB.

Algunos ejemplos de conectores externos son:

* PolyBase es compatible con dos proveedores de Hadoop: Hortonworks Data Platform (HDP) y Cloudera Distributed Hadoop (CDH).

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 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.

  • Consultar datos almacenados en Azure Blob Storage. El almacenamiento de blobs de Azure 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.

  • Importar 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 hay necesidad de ninguna herramienta independiente de ETL o 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

  • Inserción de cálculo en Hadoop. PolyBase inserta algunos cálculos en el origen externo para optimizar la consulta global. El optimizador de consultas toma una decisión basada en costos para insertar cálculo en Hadoop si, al hacerlo, se va a mejorar el rendimiento de las consultas. El optimizador de consultas usa estadísticas relativas a las tablas externas para tomar la decisión basada en costos. La inserción de cálculo crea trabajos MapReduce y aprovecha los recursos de cálculo distribuidos de Hadoop. Para obtener más información, consulte Cálculos de la aplicación en PolyBase.

  • Escala de los recursos de cálculo. Para mejorar el rendimiento de las consultas, puede usar grupos de escalado horizontal de PolyBase de SQL Server. Gracias a esto, la transferencia de datos paralelos entre instancias de SQL Server y nodos de Hadoop es factible y, además, se agregan recursos de cálculo para operar en los datos externos.

Pasos siguientes

Antes de usar PolyBase, debe instalar PolyBase en Windows o instalar PolyBase en Linux y habilitar PolyBase en sp_configure, si fuera necesario. Después, eche un vistazo a estas guías de configuración según el origen de datos: