Foire aux questions (FAQ) sur PolyBase

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Serveurs PolyBase et serveurs liés

Le tableau suivant présente les différences de fonctionnalités entre PolyBase et les serveurs liés :

PolyBase Serveurs liés
Objet inclus dans l’étendue de la base de données Objet inclus dans l’étendue de l’instance
Utilise des pilotes ODBC Utilise des fournisseurs OLEDB
Prend en charge les opérations en lecture seule pour toutes les sources de données et l’écriture dans certaines sources de données externes Prend en charge les opérations de lecture et d’écriture
Possibilité de monter en charge les requêtes effectuées sur une source de données distante en une seule connexion Impossibilité de monter en charge les requêtes effectuées sur une source de données distante en une seule connexion
Pushdown de prédicats pris en charge Pushdown de prédicats pris en charge
Pas de configuration distincte nécessaire pour le groupe de disponibilité Configuration distincte nécessaire pour chaque instance du groupe de disponibilité
Authentification de base uniquement Authentification de base et intégrée
Adapté aux requêtes analytiques qui traitent un grand nombre de lignes Adapté aux requêtes OLTP qui retournent peu de lignes ou une seule
Impossibilité de faire participer les requêtes utilisant une table externe aux transactions distribuées Possibilité de faire participer les requêtes distribuées aux transactions distribuées

Nouveautés de PolyBase dans SQL Server 2022

SQL Server 2022 (16.x) prend désormais en charge les fichiers CSV, Parquet et Delta stockés sur le compte de stockage Azure v2, Azure Data Lake Storage Gen2 ou tout stockage d’objets compatible avec S3 qui utilise l’API REST S3, sur site ou dans le cloud.

SQL Server 2022 (16.x) peut utiliser les commandes telles que CREATE EXTERNAL TABLE as SELECT (CETAS), avec les commandes telles que OPENROWSET, CREATE EXTERNAL TABLE (CET), ainsi que toutes les nouvelles améliorations T-SQL.

Actuellement, la prise en charge des sources de données externes Hadoop a été supprimée dans SQL Server 2022 (16.x).

La mise à jour cumulative 2 de SQL Server 2022 (16.x) introduit maintenant la prise en charge des fichiers Oracle TNS. Pour plus d’informations et obtenir des exemples, reportez-vous à CREATE EXTERNAL DATA SOURCE.

Pour plus d’informations sur la virtualisation des données avec PolyBase pour SQL Server 2022, consultez les améliorations apportées à SQL Server 2022 PolyBase.

Nouveautés dans PolyBase dans SQL Server 2019

PolyBase dans SQL Server 2019 (15.x) peut désormais lire des données à partir d’une plus grande variété de sources de données. Les données de ces sources de données externes peuvent être stockées sous la forme de tables externes sur votre serveur SQL. PolyBase prend également en charge le calcul pushdown sur ces sources de données externes, à l’exception de types génériques ODBC.

Sources de données compatibles

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • Types génériques ODBC compatibles

La mise à jour cumulative 19 de SQL Server 2019 (15.x) introduit maintenant la prise en charge des fichiers Oracle TNS. Pour plus d’informations et obtenir des exemples, reportez-vous à CREATE EXTERNAL DATA SOURCE.

Remarque

PolyBase peut autoriser la connexion à des sources de données externes à l’aide de pilotes ODBC tiers. Ces pilotes ne sont pas fournis avec PolyBase et risquent de ne pas fonctionner comme prévu. Pour plus d’informations, voir Configurer PolyBase pour accéder à des données externes avec des types génériques ODBC.

Quelles CONNECTION_OPTIONS puis-je spécifier pour la connexion à des sources de données tierces ?

Passez en revue les CONNECTION_OPTIONS CREATE EXTERNAL DATA SOURCE (Transact-SQL) pour les options de connexion de fournisseur de données prises en charge pour SQL Server, Oracle, Teradata, l’API MongoDB pour Cosmos DB et les fournisseurs de données ODBC génériques.

Comment consulter le plan d’exécution de requêtes distantes du calcul pushdown PolyBase ?

Cette opération peut être effectuée à l’aide de deux méthodes, en fonction de la version de SQL Server. Consultez Résolution des problèmes liés à PolyBase - Pour consulter le plan de requête PolyBase.

Comment savoir si le calcul pushdown PolyBase se produit ?

PolyBase est-il pris en charge sur Azure SQL Database ?

Non, mais vous pouvez interroger les données des fichiers placés dans Stockage Blob Azure à l’aide de la fonction OPENROWSET ou utiliser CREATE EXTERNAL TABLE pour la lecture à partir d’un pool SQL serverless dans Synapse Analytics. Pour plus d’informations, consultez Azure SQL peut lire les fichiers de stockage Azure Data Lake à l’aide de tables externes Synapse SQL.

PolyBase est-il pris en charge sur Azure SQL Managed Instance ?

Azure SQL Managed Instance dispose de ses propres fonctionnalités de virtualisation des données pour Azure Data Lake Storage (ADLS) et Stockage Blob Azure en tant que sources de données. Pour plus d’informations, consultez Virtualisation des données avec Azure SQL Managed Instance (préversion).

Quels ports dois-je autoriser via mon pare-feu pour PolyBase ?

Aucun port supplémentaire n’est nécessaire pour l’ouverture de PolyBase proprement dit, sauf dans le cas d’un groupe de scale-out PolyBase. Sans groupe de scale-out, le service PolyBase seul ne doit pas nécessiter de règle de pare-feu.

Sur les serveurs Windows, PolyBase utilisera les ports utilisés par SQL Server dans la section IPAll des paramètres TCP/IP dans Gestionnaire de configuration SQL Server. Pour plus d’informations, consultez Propriétés TCP/IP. Sur les serveurs Linux, PolyBase utilise le paramètre network.tcpport. Pour plus d'informations, consultez port TCP.

Pour les groupes de scale-out PolyBase sur plusieurs serveurs de Windows, consultez les informations de port dans la question suivante.

Toutefois, vous devez autoriser d’autres ports pour la communication avec les différentes sources de données externes utilisées par PolyBase. Reportez-vous à la configuration ODBC, à la configuration des ressources Azure ou à la documentation de la source de données spécifique. Par exemple :

Plateforme source Référence
Microsoft SQL Server Ports utilisés par SQL Server
Hortonworks HDP Administration HDFS
Cloudera CDH Ports utilisés par les composants CDH

Quels sont les ports utilisés pour le groupe de scale-out PolyBase ?

Par défaut, le service de déplacement de données PolyBase se connecte au nœud principal d’un groupe de scale-out sur une plage de ports à partir de TCP 16450-16460, généralement à l’aide de 16450-16453, plus le port 17001. Ces ports sont utilisés uniquement lorsqu’un groupe de scale-out PolyBase est configuré et qu’il doit être autorisé via des pares-feu de serveur. Le programme d’installation SQL Server doit automatiquement créer une règle de pare-feu locale pour autoriser ces ports lors de l’installation des fonctionnalités. Pour plus d’informations, consultez Configurer des groupes de scale-out PolyBase sur Windows.

Remarque

Les groupes de montée en puissance parallèle Microsoft SQL Server PolyBase seront mis hors service. La fonctionnalité de groupe de scale-out sera supprimée du produit dans SQL Server 2022 (16.x).

Consultez Comparaison entre PolyBase dans Clusters Big Data et PolyBase dans des instances autonomes.

Pour plus d’informations sur les connexions établies avec le connecteur générique ODBC, voir notre Guide pratique de la configuration des types génériques ODBC.

Le tableau suivant met en évidence les fonctionnalités PolyBase disponibles dans SQL Server 2019 (15.x) installation autonome et cluster Big Data SQL Server 2019 (15.x) :

Fonctionnalité Clusters Big Data Instance autonome
Créer une source de données externe pour SQL Server, Oracle, Teradata et Mongo DB X X
Créer une source de données externe à l’aide d’un pilote ODBC tiers compatible X
Créer une source de données externe pour la source de données Hadoop X X
Créer une source de données externe pour le Stockage Blob Azure X X
Créer une table externe sur un pool de données SQL Server X
Créer une table externe sur un pool de stockage SQL Server X
Monter en charge l’exécution des requêtes X X (Windows uniquement)

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.