Einführung in die Datenvirtualisierung mit PolyBase

Gilt für: SQL Server Azure SQL Datenbank Azure Synapse Analytics Analytics Platform System (PDW) nicht unterstützt

PolyBase ist ein Datenvirtualisierungsfeature für SQL Server.

Was ist PolyBase?

PolyBase ermöglicht Ihrer SQL Server-Instanz, Daten mit T-SQL direkt aus SQL Server, Oracle, Teradata, MongoDB, Hadoop-Clustern, Cosmos DB und einem S3-kompatiblen Objektspeicher abzufragen, ohne dass eine spezielle Software für Clientverbindungen installiert werden muss. Sie können auch den generischen ODBC-Connector verwenden, um eine Verbindung mit weiteren Anbietern über ODBC-Treiber von Drittanbietern herzustellen. PolyBase ermöglicht T-SQL-Abfragen, Daten aus externen Quellen mit relationalen Tabellen in einer Instanz von SQL Server zu verknüpfen.

Ein wichtiger Anwendungsfall für die Datenvirtualisierung mit PolyBase besteht darin, dass die Daten an Ihrem ursprünglichen Speicherort und im Quellformat verbleiben. Diese externen Daten können über die SQL Server-Instanz virtualisiert werden, sodass sie wie in jeder anderen Tabelle in SQL Server abgefragt werden können. Dadurch werden weniger ETL-Vorgänge für Datenverschiebungen benötigt. Dieses Datenvirtualisierungsszenario ist mithilfe von PolyBase-Connectors möglich.

Unterstützte SQL-Produkte und -Dienste

PolyBase bietet dieselben Funktionen für die folgenden SQL-Produkte von Microsoft:

  • SQL Server 2016 (13.x) und höhere Versionen (Windows)
  • SQL Server 2019 (15.x) und höhere Versionen (Windows und Linux)
  • SQL Server Analytics-Plattformsystem (PDW) (PDW), gehostet im Analytics Platform System (APS)
  • Azure Synapse Analytics

Hinweis

Die Datenvirtualisierung mit PolyBase ist in der Vorschauversion für Azure SQL Managed Instance verfügbar und auf das Abfragen externer Daten, die in Dateien in Azure Data Lake Storage (ADLS) Gen2 und Azure Blob Storage gespeichert sind . Weitere Informationen finden Sie unter Datenvirtualisierung mit Azure SQL Managed Instance.

SQL Server 2022 PolyBase-Verbesserungen

Neu in SQL Server 2022 (16.x) Preview Details
S3-kompatibler Objektspeicher SQL Server 2022 (16.x) Preview fügt einen neuen Connector, einen S3-kompatiblen Objektspeicher, mit der S3-REST-API hinzu. Sie können sowohl OPENROWSET als auch EXTERNAL TABLES verwenden, um Datendateien im S3-kompatiblen Objektspeicher abzufragen.
Einige Connectors sind von den PolyBase-Diensten getrennt Der S3-kompatible Objektspeicherconnector sowie ADSL Gen2 und Azure Blob Storage sind nicht mehr von PolyBase-Diensten abhängig. PolyBase-Dienste müssen weiterhin ausgeführt werden, um die Konnektivität mit Oracle, Teradata, MongoDB und generischem ODBC zu unterstützen. Das PolyBase-Feature muss weiterhin auf Ihrer SQL Server-Instanz installiert werden.
Parquet-Dateiformat PolyBase kann jetzt auch Daten aus Parquet-Dateien abfragen, die sich in einem S3-kompatiblen Objektspeicher befinden. Weitere Informationen finden Sie unter Virtualisierung von Parquet-Dateien in einem S3-kompatiblen Objektspeicher mit PolyBase.
Delta-Tabellenformat PolyBase kann jetzt Daten aus dem Delta-Tabellenformat abfragen, das auf S3-kompatiblem Objektspeicher, Azure Storage Account V2 und Azure Data Lake Storage Gen2 gespeichert ist. Weitere Informationen finden Sie im Virtualisieren des Delta-Tabellenformats
Externe Tabelle als Auswahl erstellen (CETAS) PolyBase kann jetzt CETAS verwenden, um eine externe Tabelle zu erstellen und anschließend parallel eine Transact-SQL SELECT-Anweisung zu Azure Data Lake Storage Gen2, Azure Storage Account V2 und S3-kompatible Objektspeicher zu exportieren. Weitere Informationen finden Sie unter CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).

Weitere neue Features von SQL Server 2022 (16.x) Vorschau finden Sie unter Neuerungen in SQL Server 2022.

Ein Beispiel mit PolyBase in SQL Server 2022 (16.x) Preview zum Virtualisieren einer CSV-Datei in Azure Storage finden Sie unter Virtualize CSV-Datei mit PolyBase.

PolyBase-Connectors

PolyBase bietet Konnektivität mit den folgenden externen Datenquellen:

Externe Datenquellen SQL Server 2016-2019 mit PolyBase SQL Server 2022 (16.x) Preview mit PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Lesen Lesen Nein Nein
Generisches ODBC Lesen (nur Windows) Lesen (nur Windows) Nein Nein
Azure Storage Lesen/Schreiben Lesen/Schreiben Lesen/Schreiben Lesen/Schreiben
Hadoop Lesen/Schreiben Nein * Lesen/Schreiben Nein
SQL Server Lesen Lesen Nein Nein
S3-kompatibler Objektspeicher Nein Lesen/Schreiben Nein Nein

* SQL Server 2022 (16.x) Preview unterstützt den Hadoop-Speicher nicht in der aktuellen Vorschauversion.

  • In SQL Server 2016 (13.x) wurde PolyBase mit Unterstützung für Verbindungen mit Hadoop und Azure Blob Storage eingeführt.
  • Mit SQL Server 2019 (15.x) werden zusätzliche Connectors eingeführt, etwa für SQL Server, Oracle, Teradata und MongoDB.
  • SQL Server 2022 (16.x) Preview hat den S3-kompatiblen Speicherconnector eingeführt.

Beispiele für externe Connectors:

* PolyBase unterstützt zwei Hadoop-Anbieter: Hortonworks Data Platform (HDP) und Cloudera Distributed Hadoop (CDH) über SQL Server 2019. SQL Server-Unterstützung für externe Datenquellen von HDFS Cloudera (CDP) und Hortonworks (HDP) wird eingestellt und nicht in SQL Server 2022 enthalten sein. Weitere Informationen finden Sie unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.

So verwenden Sie PolyBase in einer Instanz von SQL Server

  1. Installieren Sie PolyBase unter Windows oder unter Linux.
  2. Aktivieren Sie ab SQL Server 2019 (15.x) ggf. PolyBase in sp_configure.
  3. Erstellen Sie eine externe Datenquelle.
  4. Erstellen Sie eine externe Tabelle.

Azure-Integration

Durch die zugrunde liegende Unterstützung von PolyBase können T-SQL-Abfragen außerdem Daten aus Azure Blob Storage importieren und exportieren. PolyBase ermöglicht Azure Synapse Analytics zudem das Importieren und Exportieren von Daten aus Azure Data Lake Store und Azure Blob Storage.

Gründe für die Verwendung von PolyBase

Mit PolyBase können Sie Daten aus einer SQL Server-Instanz mit externen Daten verknüpfen. Vor PolyBase konnten Sie zum Verknüpfen von Daten mit externen Datenquellen wie folgt vorgehen:

  • Übertragen der Hälfte Ihrer Daten, damit sich alle Daten an einem Speicherort befinden.
  • Abfragen beider Datenquellen und Schreiben benutzerdefinierter Abfragelogik zum Verknüpfen und Integrieren der Daten auf Clientebene.

Mit PolyBase können Sie einfach Transact-SQL verwenden, um die Daten zu verknüpfen.

Mit PolyBase müssen Sie keine zusätzliche Software in Ihrer Hadoop-Umgebung installieren. Sie fragen externe Daten anhand der gleichen T-SQL-Syntax ab, die auch zum Abfragen einer Datenbanktabelle verwendet wird. Alle von PolyBase implementierten Unterstützungsaktionen werden transparent durchgeführt. Der Abfrageautor benötigt keine Kenntnisse über die externe Quelle.

Verwendungszwecke von PolyBase

PolyBase ermöglicht die folgenden Szenarien in SQL Server:

  • Abfragen von in Hadoop gespeicherten Daten aus einer SQL Server-Instanz oder einem PDW. Benutzer speichern Daten in kostengünstigen verteilten und skalierbaren Systemen, wie z.B. Hadoop. PolyBase vereinfacht die Abfrage der Daten mithilfe von T-SQL.

  • Abfragen von in Azure Blob Storage gespeicherten Daten Ein Azure-Blobspeicher ist eine bequeme Möglichkeit, Daten zu speichern, die von Azure-Diensten verwendet werden. PolyBase vereinfacht den Zugriff auf die Daten mithilfe von T-SQL.

  • Importieren von Daten aus Hadoop, Azure Blob Storage oder Azure Data Lake Store. Profitieren Sie von der Geschwindigkeit der Columnstore-Technologie und den Analysefunktionen von Microsoft SQL, indem Sie Daten aus Hadoop, Azure Blob Storage oder Azure Data Lake Store in relationale Tabellen importieren. Separates ETL oder ein Importtool ist nicht nötig.

  • Exportieren von Daten in Hadoop, Azure Blob Storage oder Azure Data Lake Store. Archivieren Sie Daten in Hadoop, Azure Blob Storage oder Azure Data Lake Store, um kostengünstigen Speicherplatz zu nutzen und Daten für einfachen Zugriff online zu halten.

  • Integrieren in BI-Tools. Verwenden Sie PolyBase zusammen mit den Business Intelligence- und Analysfunktionen von Microsoft, oder nutzen Sie beliebige Drittanbietertools, die mit SQL Server kompatibel sind.

Leistung

  • Übertragen von Berechnungen an Hadoop. PolyBase überträgt einige Berechnungen per Push an die externe Quelle, um die Abfrage insgesamt zu optimieren. Der Abfrageoptimierer trifft eine kostenbasierte Entscheidung darüber, ob die Berechnung an Hadoop übertragen wird, wenn die Abfrageleistung dadurch verbessert wird. Für diese kostenbasierte Entscheidung verwendet der Abfrageoptimierer Statistiken in externen Tabellen. Bei der Übertragung der Berechnung werden MapReduce-Aufträge erstellt und die verteilten Berechnungsressourcen von Hadoop genutzt. Weitere Informationen finden Sie unter Weitergabeberechnungen in PolyBase.

  • Skalieren von Berechnungsressourcen. (Gilt nur für: SQL Server 2016 (13.x), SQL Server 2017 (14.x) und SQL Server 2019 (15.x).) Um die Abfrageleistung zu verbessern, können Sie PolyBase-Erweiterungsgruppen von SQL Server verwenden. Dies ermöglicht eine parallele Datenübertragung zwischen SQL Server-Instanzen und Hadoop-Knoten und fügt Computeressourcen für die Verarbeitung der externen Daten hinzu.

Wichtig

Die Microsoft SQL Server PolyBase-Erweiterungsgruppen werden eingestellt. Die Erweiterungsgruppen-Funktionalität wird in SQL Server 2022 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.

Nächste Schritte

Vor der Verwendung von PolyBase müssen Sie PolyBase unter Windows oder Linux installieren und ggf. PolyBase in sp_configure aktivieren. Weitere Lernprogramme zum Erstellen externer Datenquellen und externer Tabellen zu einer Vielzahl von Datenquellen finden Sie unter PolyBase Transact-SQL-Referenz.

Überprüfen Sie die PolyBase Transact-SQL-Referenz mit Beispielen für externe Datenquellen und externe Tabellen für eine Vielzahl von Datenquellen. Weitere Lernprogramme finden Sie in den folgenden Artikeln: