Virtualisation de données avec PolyBase dans SQL Server

S'applique à : SQL Server Non pris en charge. Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

PolyBase est une fonctionnalité de virtualisation des données pour SQL Server.

Présentation de Polybase

PolyBase permet à une instance SQL Server d’interroger des données avec T-SQL directement à partir de clusters SQL Server, Oracle, Teradata, MongoDB, Hadoop, Cosmos DB et d’un stockage d’objets compatible S3 sans qu’il soit nécessaire d’installer séparément des logiciels de connexion client. Vous pouvez également utiliser le connecteur ODBC générique pour vous connecter à des fournisseurs supplémentaires à l’aide de pilotes ODBC tiers. PolyBase permet aux requêtes T-SQL de joindre les données de sources externes à des tables relationnelles dans une instance de SQL Server.

L’un des cas d’usage clés pour la virtualisation des données avec la fonctionnalité PolyBase consiste à conserver les données à leur emplacement et dans leur format d’origine. Vous pouvez virtualiser les données externes à travers l’instance de SQL Server, ce qui vous permet de les interroger sur place comme n’importe quelle autre table dans SQL Server. Ce processus évite d’avoir à recourir à des processus ETL pour le déplacement des données. Ce scénario de virtualisation des données est possible avec l’utilisation de connecteurs PolyBase.

Produits et services SQL pris en charge

PolyBase propose ces fonctionnalités pour les produits SQL de Microsoft suivants :

  • SQL Server 2016 (13.x) et versions ultérieures (Windows)
  • SQL Server 2019 (15.x) et versions ultérieures (Windows et Linux)
  • SQL Server, Analytics Platform System (PDW)
  • Azure Synapse Analytics (pour les pools SQL dédiés)

Remarque

La virtualisation des données est également disponible pour Azure SQL Managed Instance, étendue à l’interrogation des données externes stockées dans des fichiers dans Azure Data Lake Storage (ADLS) Gen2 et Stockage Blob Azure. Pour en savoir plus, consultez La virtualisation des données avec Azure SQL Managed Instance.

Améliorations apportées à PolyBase SQL Server 2022

Nouveautés de SQL Server 2022 (16.x) Détails
Stockage d’objets compatible S3 SQL Server 2022 (16.x) ajoute un nouveau connecteur, le stockage d’objets compatible S3, en utilisant l’API REST S3. Vous pouvez utiliser OPENROWSET et CREATE EXTERNAL TABLE pour interroger des fichiers de données dans le stockage d’objets compatible S3.
Certains connecteurs distincts des services PolyBase Le connecteur de stockage d’objets compatible S3 ainsi qu’ADSL Gen2 et Stockage Blob Azure ne dépendent plus des services PolyBase. Les services PolyBase doivent toujours s’exécuter pour prendre en charge la connectivité avec Oracle, Teradata, MongoDB et ODBC générique. La fonctionnalité PolyBase doit toujours être installée sur votre instance SQL Server.
Format de fichier Parquet PolyBase est désormais capable d’interroger des données à partir de fichiers Parquet stockés sur un stockage d’objets compatible S3. Pour plus d’informations, consultez Virtualiser un fichier Parquet dans un stockage d’objets compatible S3 avec PolyBase.
Format de table Delta PolyBase est désormais capable d’interroger (en lecture seule) des données à partir du format de table Delta stockés sur le stockage d’objets compatible S3, le compte V2 Stockage Azure et Azure Data Lake Storage Gen2. Pour plus d’informations, consultez Virtualiser le format de table Delta
Create External Table as Select (CETAS) PolyBase peut désormais utiliser CETAS pour créer une table externe, puis exporter, en parallèle, le résultat d’une instruction Transact-SQL SELECT vers Azure Data Lake Storage Gen2, Stockage Azure Account V2 et le stockage objet compatible S3. Pour plus d’informations, consultez CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).

Pour plus d’informations sur les nouvelles fonctionnalités de SQL Server 2022 (16.x) Preview, consultez Nouveautés de SQL Server 2022

Conseil

Pour obtenir un didacticiel sur les fonctionnalités et capacités de PolyBase dans SQL Server 2022 (16.x), consultez Bien démarrer avec PolyBase dans SQL Server 2022.

Connecteurs PolyBase

La fonctionnalité PolyBase assure la connectivité aux sources de données externes suivantes :

Sources de données externes SQL Server 2016-2019 avec PolyBase SQL Server 2022 (16.x) avec PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Lire Lire Aucun Aucun
ODBC générique Lecture (Windows uniquement) Lecture (Windows uniquement) Aucun Aucun
Stockage Azure Lecture/écriture Lecture/écriture Lecture/écriture Lecture/écriture
Hadoop Lecture/écriture Non Lecture/écriture Aucun
SQL Server Lire Lire Aucun Aucun
Stockage d’objets compatible S3 Aucun Lecture/écriture Aucun Aucun
  • SQL Server 2022 (16.x) ne prend pas en charge Hadoop.
  • SQL Server 2016 (13.x) introduit PolyBase avec prise en charge des connexions à Hadoop et au stockage d’objets Blob Azure.
  • SQL Server 2019 (15.x) introduit des connecteurs supplémentaires, notamment SQL Server, Oracle, Teradata et MongoDB.
  • SQL Server 2022 (16.x) a introduit le connecteur de stockage compatible S3.
  • La mise à jour cumulative 19 de SQL Server 2019 (15.x) a introduit la prise en charge des fichiers Oracle TNS.
  • La mise à jour cumulative 2 de SQL Server 2022 (16.x) a introduit la prise en charge des fichiers Oracle TNS.

Voici quelques exemples de connecteurs externes :

* PolyBase prend en charge deux fournisseurs Hadoop, Hortonworks Data Platform (HDP) et Cloudera Distributed Hadoop (CDH), via SQL Server 2019. La prise en charge par SQL Server des sources de données externes HDFS Cloudera (CDP) et Hortonworks (HDP) sera supprimée et ne sera pas incluse dans SQL Server 2022 (16.x). Pour plus d’informations, consultez Options Big data sur la plateforme Microsoft SQL Server.

Pour utiliser PolyBase dans une instance SQL Server :

  1. Installez PolyBase sur Windows ou installez PolyBase sur Linux.
  2. À compter de SQL Server 2019 (15.x), activez PolyBase dans sp_configure, si nécessaire.
  3. Créez une source de données externe.
  4. Créez une table externe.

Intégration d’Azure

Avec l’aide sous-jacente de PolyBase, les requêtes T-SQL peuvent également importer et exporter des données dans le Stockage Blob Azure. Par ailleurs, PolyBase permet à Azure Synapse Analytics d’importer et d’exporter des données dans Azure Data Lake Storage et le Stockage Blob Azure.

Pourquoi utiliser PolyBase ?

Polybase vous permet de joindre des données d’une instance SQL Server à des données externes. Avant Polybase, pour joindre des données à des sources de données externes, vous pouviez :

  • Transférer la moitié de vos données afin que toutes les données se trouvent à un seul emplacement.
  • interroger les deux sources de données, puis écrire une logique de requête personnalisée pour joindre et intégrer les données au niveau du client.

Polybase vous permet d’utiliser simplement Transact-SQL pour joindre les données.

PolyBase vous dispense d’installer des logiciels supplémentaires dans votre environnement Hadoop. On interroge les données externes suivant la même syntaxe T-SQL que pour une table de base de données. Toutes les actions implémentées par PolyBase se produisent en toute transparence. L’auteur de la requête n’a besoin d’aucune connaissance de la source externe.

Utilisations de PolyBase

PolyBase permet les scénarios suivants dans SQL Server :

  • Interrogation des données stockées dans Stockage Blob Azure. Pratique, Azure Blob Storage est un emplacement qui permet de stocker les données destinées à être utilisées par les services Azure. PolyBase permet d’accéder facilement aux données à l’aide de T-SQL.

  • Interrogation des données stockées dans Hadoop à partir d’une instance SQL Server ou PDW. Les utilisateurs stockent des données dans des systèmes distribués et évolutifs économiques, tels que Hadoop. Avec PolyBase, il est facile d’interroger les données via T-SQL.

  • Importation de données provenant d’Hadoop, du Stockage Blob Azure ou d’Azure Data Lake Storage. Profitez de la rapidité des fonctionnalités d’analyse et de la technologie columnstore de Microsoft SQL en important les données issues d’Hadoop, du Stockage Blob Azure ou d’Azure Data Lake Storage dans des tables relationnelles. Aucun outil d’ETL ou d’importation distinct n’est nécessaire.

  • Exportation de données vers Hadoop, Stockage Blob Azure ou Azure Data Lake Store. Archivez les données sur Hadoop, Stockage Blob Azure ou Azure Data Lake Store. Vous bénéficierez ainsi d’un mode de stockage économique et vos données resteront en ligne et donc facilement accessibles.

  • Intégration à des outils d’aide à la décision (BI). Utilisez PolyBase avec la pile d’analyse et d’aide à la décision de Microsoft, ou n’importe quel outil tiers compatible avec SQL Server.

Performances

Il n’existe aucune limite stricte au nombre de fichiers ou à la quantité de données pouvant être interrogées. Les performances des requêtes dépendent de la quantité de données, du format des données, de la façon dont les données sont organisées et de la complexité des requêtes et des jointures.

Pour plus d’informations sur les conseils sur les performances et les recommandations pour PolyBase, consultez Considérations relatives aux performances dans PolyBase pour SQL Server.

Mise à niveau vers SQL Server 2022

À partir de SQL Server 2022 (16.x) Hortonworks Data Platform (HDP) et Cloudera Distributed Hadoop (CDH) ne sont plus pris en charge. En raison de ces modifications, il est nécessaire de supprimer manuellement les sources de données externes PolyBase créées sur les versions précédentes de SQL Server qui utilisent TYPE = HADOOP ou Stockage Azure avant de migrer vers SQL Server 2022 (16.x). La suppression de sources de données externes nécessite également de supprimer les objets de base de données associés, tels que les informations d’identification étendues à la base de données et aux tables externes.

Les connecteurs Stockage Azure doivent être modifiés en fonction de la table de référence ci-dessous :

Source de données externe Du À
Stockage Blob Azure wasb[s] abs
ADLS Gen 2 abfs[s] adls

Bien démarrer

Avant d’utiliser PolyBase, vous devez installer PolyBase sur Windows ou installer PolyBase sur Linux, et activer PolyBase dans sp_configure si nécessaire.

Pour obtenir un didacticiel sur les fonctionnalités et capacités de PolyBase, consultez Bien démarrer avec PolyBase dans SQL Server 2022.

Pour plus de tutoriels sur différentes sources de données externes, consultez :

Virtualisation des données sur d’autres plateformes

Les fonctionnalités de virtualisation des données sont également disponibles sur d’autres plateformes :