Partager via


Virtualisation des 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 active la virtualisation des données pour SQL Server.

Qu’est-ce que PolyBase ?

PolyBase permet à votre instance SQL Server d’interroger des données avec des Transact-SQL (T-SQL) directement à partir de SQL Server, Oracle, Teradata, MongoDB, clusters Hadoop, Cosmos DB et stockage objet compatible S3 sans installer séparément le logiciel 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.

PolyBase prend également en charge l’interrogation de formats de données semi-structurés et structurés tels que les fichiers CSV, Parquet, JSON et Delta Lake. Cela permet une intégration transparente des données basées sur des fichiers dans vos flux de travail T-SQL.

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 :

Améliorations de Sql Server 2025 PolyBase

Nouveautés de SQL Server 2025 (17.x) Détails
Prise en charge native des fichiers CSV, Parquet et Delta 1 Le service de requête PolyBase pour l’installation de données externes n’est plus nécessaire pour utiliser OPENROWSET, CREATE EXTERNAL TABLEou CREATE EXTERNAL TABLE AS SELECT avec les types de données externes suivants : Parquet, Delta, Stockage Blob Azure (ABS), Azure Data Lake Storage (ADLS) ou stockage d’objets S3-Compatible.
Utiliser des sources de données ODBC génériques sur Linux Pour plus d’informations, consultez Configurer PolyBase pour accéder aux données externes avec des types génériques ODBC.
Prise en charge tdS 8.0 PolyBase utilise une configuration sécurisée par défaut avec ODBC Driver pour SQL Server version 18 et Encrypt=Yes (obligatoire). Contrairement à d'autres fonctionnalités SQL Server, PolyBase permet TrustServerCertificate=True des scénarios de certificat autosignés. Pour appliquer le chiffrement TLS 1.3 et strict avec TDS 8.0, définissez Encrypt=Strict et TrustServerCertificate=No. Pour plus d’informations, consultez CREATE EXTERNAL DATA SOURCE - CONNECTION_OPTIONS. Passez en revue les changements cassants apportés aux fonctionnalités du moteur de base de données dans SQL Server 2025.
Identité managée L’identité managée est disponible pour SQL Server activé par Azure Arc et SQL Server 2025 sur des machines virtuelles Azure.

1 Sur SQL Server 2025 (17.x), le service de requête PolyBase pour les données externes est toujours nécessaire pour se connecter à d’autres bases de données. Par exemple : SQL Server, Oracle, DB2, Teradata, MongoDB ou ODBC.

Améliorations apportées à PolyBase SQL Server 2022

Nouveau dans 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, à l’aide de l’API REST S3. Vous pouvez utiliser à la fois OPENROWSET et CREATE EXTERNAL TABLE pour interroger des fichiers de données dans un stockage d’objets compatible S3.
Certains connecteurs distincts des services PolyBase Le connecteur de stockage d’objets compatible S3, ADSL Gen2 et Stockage Blob Azure, ne dépend 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 au format Delta Table stockées dans un stockage d’objets compatible S3, un compte de stockage Azure V2 et Azure Data Lake Storage Gen2. Pour plus d’informations, consultez virtualiser la table delta avec PolyBase
Créer une table externe en tant que sélection (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, le compte de stockage Azure V2 et le stockage d’objets compatible S3. Pour plus d’informations, consultez CREATE EXTERNAL TABLE AS SELECT (CETAS) .

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

Conseil

Pour obtenir un didacticiel sur les fonctionnalités et les capacités de PolyBase dans SQL Server 2022 (16.x), consultez 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 Non Non
ODBC générique Lecture (Windows uniquement) Lecture (Windows uniquement) Non Non
Azure Storage Lecture/écriture Lecture/écriture Lecture/écriture Lecture/écriture
Hadoop Lecture/écriture Non Lecture/écriture Non
Serveur SQL Lire Lire Non Non
Stockage d’objets compatible S3 Non Lecture/écriture Non Non
  • SQL Server 2022 (16.x) et versions ultérieures ne prennent pas en charge Hadoop.
  • SQL Server 2016 (13.x) a introduit PolyBase avec la prise en charge des connexions à Hadoop et Stockage Blob Azure.
  • SQL Server 2019 (15.x) a introduit d’autres connecteurs, 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 d’Oracle TNS.
  • La mise à jour cumulative 2 de SQL Server 2022 (16.x) a introduit la prise en charge d’Oracle TNS.

Voici quelques exemples de connecteurs externes :

1 PolyBase prend en charge deux fournisseurs Hadoop, Hortonworks Data Platform (HDP) et Cloudera Distributed Hadoop (CDH) via SQL Server 2019. La prise en charge de SQL Server pour HDFS Cloudera (CDP) et Hortonworks (HDP), les sources de données externes, a été supprimée et n'est pas incluse dans SQL Server 2022 (16.x) ainsi que dans les versions ultérieures. Pour plus d’informations, consultez Options Big data sur la plateforme Microsoft SQL Server.

Pour utiliser PolyBase dans une instance de SQL Server :

  1. installez PolyBase sur Windows ou installer PolyBase sur Linux.
  2. À partir 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 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 Store et le Stockage Blob Azure.

Pourquoi utiliser PolyBase ?

PolyBase vous permet de joindre des données à partir d’une instance SQL Server avec des données externes. Avant que PolyBase n’autorise la jonction de données à des sources de données externes, vous pouvez :

  • 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 Transact-SQL pour joindre les données.

PolyBase ne vous oblige pas à 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 pas besoin de connaissances sur la source externe.

Utilisations de PolyBase

PolyBase permet les scénarios suivants dans SQL Server :

  • Accès transparent aux données : Interrogez d’autres RDBMs ou fichiers externes comme des tables CSV, Parquet et Delta Lake à l’aide de T-SQL comme s’ils étaient des tables natives.
  • Déchargement des données froides : Tout en la gardant facilement accessible.
  • Productivité améliorée : Réduisez le temps et l’effort nécessaires pour intégrer et analyser des données à partir de plusieurs sources.
  • Rentabilité : Réduisez le besoin de réplication des données et de coûts de stockage associés aux méthodes d’intégration de données traditionnelles.
  • Insights en temps réel : Activez l’interrogation et les insights en temps réel des données sans retard provoqué par le déplacement ou la synchronisation des données.
  • Sécurité: Utilisez les fonctionnalités de sécurité SQL Server pour les autorisations granulaires, la gestion des informations d’identification et le contrôle.

Performances

Il n’y a pas de limite stricte au nombre de fichiers ou à la quantité de données pouvant être interrogés. Les performances des requêtes dépendent de la quantité de données, du format des données, de la manière dont les données sont organisées et de la complexité des requêtes et des jointures.

Pour plus d’informations sur les conseils et recommandations en matière de performances pour PolyBase, consultez la section 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, vous devez 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) ou version ultérieure. La suppression de sources de données externes nécessite également la suppression des objets de base de données associés, tels que les informations d’identification et les tables externes au niveau de la base de données.

Les connecteurs stockage Azure doivent être modifiés en fonction du tableau de référence suivant :

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 un didacticiel sur les fonctionnalités et les capacités de PolyBase, consultez Démarrer avec PolyBase dans SQL Server 2022.

Pour plus de didacticiels sur diverses 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 :