Groupes de scale-out PolyBase

S’applique à : SQL Server (Windows uniquement) Not supported. Azure SQL DatabaseNot supported. Azure Synapse Analytics Not supported. Analytics Platform System (PDW)

Une instance de SQL Server autonome avec PolyBase peut se transformer en goulot d’étranglement de performances lors du traitement de gros volumes de jeux données dans Hadoop ou le Stockage Blob Azure. La fonctionnalité Groupe PolyBase vous permet de créer un cluster d’instances de SQL Server pour traiter de grands volumes de jeux de données à partir de sources de données externes telles que Hadoop ou le stockage d’objets Blob Azure, sous forme de montée en puissance (scale-out) parallèle pour des performances de requête optimisées. Vous pouvez maintenant adapter votre calcul SQL Server pour répondre aux besoins de performances de votre charge de travail. Les groupes de scale-out PolyBase, groupe d’instances SQL Server, vous permettent de traiter de grands jeux de données externes dans une architecture de traitement parallèle. Les performances de chargement de données et de requête peuvent augmenter de façon linéaire quand vous ajoutez d’autres instances SQL Server au groupe.

Important

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). La virtualisation des données PolyBase continue d’être entièrement prise en charge en tant que fonctionnalité de scale-up dans SQL Server. Pour plus d’informations, consultez Options Big data sur la plateforme Microsoft SQL Server.

Consultez Prise en main de PolyBase et Guide de PolyBase.

Diagram showing PolyBase scale-out groups.

Nœud principal

Le nœud principal contient l’instance de SQL Server à laquelle les requêtes PolyBase sont envoyées. Chaque groupe PolyBase ne peut avoir qu’un seul nœud principal. Un nœud principal est un groupe logique composé du Moteur de base de données SQL Server, du Moteur PolyBase et du service Mouvement de données PolyBase sur l’instance SQL Server. Avec SQL Server 2017 et SQL Server 2016, le nœud principal PolyBase doit être créé sous l’Édition Entreprise. À partir de SQL Server 2019, il peut s’agir indifféremment de l’Édition Entreprise ou de l’Édition Standard.

Nœud de calcul

Un nœud de calcul contient l’instance de SQL Server qui assiste dans le traitement des requêtes avec montée en puissance sur des données externes. Un nœud de calcul est un regroupement logique de SQL Server et du PolyBase Data Movement Service sur l’instance de SQL Server. Un groupe PolyBase peut avoir plusieurs nœuds de calcul. Le nœud principal et les nœuds de calcul doivent tous exécuter la même version de SQL Server. Dans la version initiale de SQL Server 2016, les nœuds de calcul pouvaient être créés sous l’Édition Enterprise ou l’Édition Standard. À partir de SQL Server 2016 SP1, toutes les éditions de SQL Server peuvent constituer un nœud de calcul.

Lectures scale-out

Quand des instances SQL Server, Oracle ou Teradata externes sont interrogées, les tables partitionnées bénéficient de lectures scale-out. Chaque nœud d’un groupe de scale-out PolyBase peut faire tourner jusqu’à 8 lecteurs pour lire les données externes. Et chaque lecteur se voit assigner une seule partition à lire dans la table externe.

Par exemple, supposons que vous avez une table SQL Server externe avec 12 partitions mensuelles et un groupe de scale-out PolyBase à 3 nœuds, chaque nœud utilise 4 lecteurs PolyBase pour traiter chacune des 12 partitions. C’est ce qu’indique l’image suivante.

Remarque

C’est différent des lectures scale-out sur Hadoop.

PolyBase scale-out reads

Traitement de requêtes distribuées

Les requêtes PolyBase sont soumises à SQL Server sur le nœud principal. La partie de la requête qui fait référence à des tables externes est transmise au moteur PolyBase.

Le moteur PolyBase est le composant clé des requêtes PolyBase. Il analyse l’interrogation de données externes, génère le plan de requête et distribue le travail au service de déplacement des données sur les nœuds de calcul en vue de l’exécution. Une fois l’exécution terminée, il reçoit les résultats depuis les nœuds de calcul et les soumet à SQL Server en vue de leur traitement et de leur renvoi au client.

Le service de déplacement de données PolyBase reçoit des instructions du moteur PolyBase et transfère les données entre HDFS et SQL Server et entre les instances SQL Server sur les nœuds principal et de calcul.

Étapes suivantes

Pour configurer un groupe de scale-out PolyBase, consultez le guide suivant :

Améliorer les groupes de scale-out PolyBase sur Windows

Voir aussi

sys-dm-exec-compute-nodes
sys-dm-exec-compute-node-status
sys.dm_exec_compute_node_errors