Datenvirtualisierung mit PolyBase in SQL Server

Gilt für: SQL Server Not supported. Azure SQL-Datenbank Azure Synapse Analytics Analytics Platform System (PDW)

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 Platform System (PDW)
  • Azure Synapse Analytics (für dedizierte SQL-Pools)

Hinweis

Die Datenvirtualisierung ist auch für Azure SQL verwaltete Instanz verfügbar, die auf abfragen externe Daten in Dateien in Azure Data Lake Storage (ADLS) Gen2 und Azure Blob Storage festgelegt sind. Weitere Informationen finden Sie unter Datenvirtualisierung mit Azure SQL Managed Instance.

SQL Server 2022 PolyBase-Verbesserungen

Neu bei SQL Server 2022 (16.x) Details
S3-kompatibler Objektspeicher SQL Server 2022 (16.x) fügt neuen Connector, S3-kompatiblen Objektspeicher, mithilfe der S3-REST-API hinzu. Sie können sowohl OPENROWSET als auch CREATE EXTERNAL TABLE 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 ist jetzt in der Lage, Daten aus dem Delta-Tabellenformat, die auf S3-kompatiblem Objektspeicher, Azure Storage Account V2 und Azure Data Lake Storage Gen2 gespeichert sind, abfragt (schreibgeschützt). Weitere Informationen finden Sie unter Virtualisieren des Delta-Tabellenformats
Externe Tabelle als Auswahl erstellen (CETAS) PolyBase kann jetzt CETAS verwenden, um eine externe Tabelle zu erstellen und dann parallel das Ergebnis einer Transact-SQL SELECT-Anweisung in 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) finden Sie unter Neuigkeiten in SQL Server 2022?

Tipp

Ein Lernprogramm zu PolyBase-Features und -Funktionen in SQL Server 2022 (16.x) finden Sie unter "Erste Schritte mit PolyBase in SQL Server 2022".

PolyBase-Connectors

PolyBase bietet Konnektivität mit den folgenden externen Datenquellen:

Externe Datenquellen SQL Server 2016-2019 mit PolyBase SQL Server 2022 (16.x) mit PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Lesen Sie Lesen Sie 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 Sie Lesen Sie Nein Nein
S3-kompatibler Objektspeicher Nein Lesen/Schreiben Nein Nein
  • SQL Server 2022 (16.x) unterstützt Hadoop nicht.
  • SQL Server 2016 (13.x) hat PolyBase mit Unterstützung für Verbindungen mit Hadoop und Azure Blob Storage eingeführt.
  • SQL Server 2019 (15.x) hat zusätzliche Connectors eingeführt, einschließlich SQL Server, Oracle, Teradata und MongoDB.
  • SQL Server 2022 (16.x) hat den S3-kompatiblen Speicherconnector eingeführt.
  • SQL Server 2019 (15.x) Kumulatives Update 19 hat Unterstützung für Oracle TNS eingeführt.
  • SQL Server 2022 (16.x) Kumulatives Update 2 hat Unterstützung für Oracle TNS 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 (16.x) 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 polyBase ab SQL Server 2019 (15.x) bei Bedarf 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 aus 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 verbinden. 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 Szenarios in SQL Server:

  • Abfragen von in Azure Blob Storage gespeicherten Daten. Azure Blob Storage ist ein praktischer Ort zum Speichern von Daten für die Verwendung durch Azure-Dienste. PolyBase vereinfacht den Zugriff auf die Daten mithilfe von T-SQL.

  • 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.

  • 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. Sie benötigen keine separaten ETL-Funktionen und kein Importtool.

  • Exportieren von Daten in Hadoop, Azure-Blobspeicher oder Azure Data Lake Store. Archivieren Sie Daten in Hadoop, Azure-Blobspeichern 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 mit dem Business Intelligence- und Analysestapel von Microsoft, oder verwenden Sie tools von Drittanbietern, die mit SQL Server kompatibel sind.

Leistung

Die Anzahl der Dateien oder die Datenmenge, die abgefragt werden kann, ist nicht beschränkt. Die Abfrageleistung hängt von der Datenmenge, dem Datenformat, der Organisation von Daten und der Komplexität von Abfragen und Verknüpfungen ab.

Weitere Informationen zu Leistungsanleitungen und Empfehlungen für PolyBase finden Sie unter Leistungsüberlegungen in PolyBase für SQL Server.

Upgrade auf SQL Server 2022

Ab SQL Server 2022 (16.x) werden Hortonworks Data Platform (HDP) und Cloudera Distributed Hadoop (CDH) nicht mehr unterstützt. Aufgrund dieser Änderungen müssen externe PolyBase-Datenquellen, die in früheren Versionen von SQL Server erstellt wurden, manuell abgelegt werden, TYPE = HADOOP bevor sie zu SQL Server 2022 (16.x) migriert werden. Das Ablegen externer Datenquellen erfordert auch das Ablegen der zugeordneten Datenbankobjekte, z. B. Anmeldeinformationen mit Datenbankbereich und externe Tabellen.

Azure Storage-Connectors müssen basierend auf der folgenden Referenztabelle geändert werden:

Externe Datenquelle From Beschreibung
Azure Blob Storage wasb[s] abs
ADLS Gen2 abfs[s] adls

Erste Schritte

Vor der Verwendung von PolyBase müssen Sie PolyBase unter Windows oder Linux installieren und ggf. PolyBase in sp_configure aktivieren.

Ein Lernprogramm zu PolyBase-Features und -Funktionen finden Sie unter "Erste Schritte mit PolyBase in SQL Server 2022".

Weitere Lernprogramme zu verschiedenen externen Datenquellen finden Sie unter:

Datenvirtualisierung auf anderen Plattformen

Datenvirtualisierungsfeatures sind auch auf anderen Plattformen verfügbar: