Freigeben über


PolyBase-Erweiterungsgruppen

Gilt für: SQL Server (nur Windows) Wird nicht unterstützt. Azure SQL-Datenbank Nicht unterstützt. Azure Synapse Analytics Wird nicht unterstützt. Analytics Platform System (PDW)

Eine eigenständige SQL Server-Instanz mit PolyBase kann bei der Verarbeitung von sehr großen Datasets in Hadoop oder Azure Blob Storage zu einem Leistungsengpass werden. Die PolyBase-Gruppenfunktion ermöglicht Ihnen die Erstellung eines Clusters aus SQL Server-Instanzen, um große Datasets in einer Skalierungsart zu verarbeiten, die zu besseren Abfrageleistungen führt. Diese Datasets stammen aus externen Datenquellen, wie beispielsweise Hadoop oder Azure Blob Storage. Nun können Sie Ihre SQL Server-Computeressourcen skalieren, um den Leistungsanforderungen Ihrer Workload gerecht zu werden. Mit PolyBase-Erweiterungsgruppen, einer Gruppe von SQL Server-Instanzen, können Sie große externe Datasets in einer Architektur für die Parallelverarbeitung verarbeiten. Durch das Hinzufügen von weiteren SQL Server-Instanzen zur Gruppe kann die Datenlade- und -abfrageleistung linear erhöht werden.

Wichtig

Die Microsoft SQL Server PolyBase-Erweiterungsgruppen werden eingestellt. Die Erweiterungsgruppen-Funktionalität wird in SQL Server 2022 (16.x) aus dem Produkt entfernt. PolyBase-Datenvirtualisierung wird in SQL Server weiterhin als Aufskalierungsgruppen-Feature vollständig unterstützt. Weitere Informationen finden Sie unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.

Siehe Get started with PolyBase (Erste Schritte mit PolyBase) und PolyBase Guide(PolyBase-Handbuch).

Diagramm: PolyBase-Erweiterungsgruppen

Hauptknoten

Der Hauptknoten enthält die SQL Server-Instanz, an die die PolyBase-Abfragen geschickt werden. Jede PolyBase-Gruppe kann nur einen Hauptknoten haben. Ein Hauptknoten ist eine logische Gruppe aus SQL Server-Datenbank-Engine, PolyBase-Engine und PolyBase-Datenverschiebungsdienst auf der SQL Server-Instanz. Für SQL Server 2017 und SQL Server 2016 ist ein Enterprise Edition-Hauptknoten erforderlich. Ab SQL Server 2019 ist ein Enterprise oder Standard Edition-PolyBase-Hauptknoten möglich.

Computeknoten

Ein Computeknoten enthält die SQL Server-Instanz, die bei der Verarbeitung von Hochskalierungsabfragen für externe Daten hilft. Ein Computeknoten ist eine logische Gruppe aus SQL Server und dem PolyBase-Datenverschiebungsdienst auf der SQL Server-Instanz. Eine PolyBase-Gruppe kann mehrere Computeknoten umfassen. Auf den Hauptknoten und den Computeknoten muss die gleiche Version von SQL Server ausgeführt werden. Im ersten Release von SQL Server 2016 waren Enterprise oder Standard Edition-Computeknoten möglich. Seit SQL Server 2016 SP1 sind Computeknoten aller Editionen von SQL Server möglich.

Horizontale Leseskalierung

Beim Abfragen von externen SQL Server-, Oracle- oder Teradata-Instanzen profitieren partitionierte Tabellen von der horizontalen Leseskalierung. Jeder Knoten in einer PolyBase-Erweiterungsgruppe kann zum Lesen externer Daten auf bis zu 8 Leser aufgestockt werden. Jeder Leser wird dabei einer Partition zum Lesen in der externen Tabelle zugewiesen.

Beispiel: Angenommen, Sie verfügen über eine externe SQL Server-Tabelle mit 12 Partitionen für jeden Monat und einer PolyBase-Erweiterungsgruppe mit 3 Knoten. Jeder Knoten verwendet 4 PolyBase-Leser, um jede der 12 Partitionen zu verarbeiten. Dies wird in der folgenden Abbildung verdeutlicht.

Hinweis

Dieser Vorgang darf nicht mit der horizontalen Leseskalierung über Hadoop verwechselt werden.

Lesevorgänge für PolyBase-Erweiterungsgruppen

Verarbeiten verteilter Abfragen

PolyBase-Abfragen werden an den SQL Server auf dem Hauptknoten gesendet. Der Teil der Abfrage, der sich auf externe Tabellen bezieht, wird an die PolyBase-Engine übergeben.

Die PolyBase-Engine ist die zentrale Komponente von PolyBase-Abfragen. Es analysiert die Abfrage an externen Daten, erstellt den Abfrageplan und gibt die Arbeit für die Ausführung an den Datenverschiebungsdienst auf den Computeknoten weiter. Nach Abschluss der Arbeit erhält es die Ergebnisse von den Computeknoten und übergibt sie an SQL Server für die Verarbeitung und die Rückgabe an den Client.

Der PolyBase-Datenverschiebungsdienst erhält Anweisungen von der PolyBase-Engine und überträgt die Daten zwischen HDFS und SQL Server sowie zwischen SQL Server-Instanzen auf den Haupt- und Serverknoten.

Nächste Schritte

Um eine PolyBase-Erweiterungsgruppe konfigurieren zu können, lesen Sie den folgenden Leitfaden:

Verbessern von PolyBase-Erweiterungsgruppen unter Windows

Weitere Informationen

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