Einführung in die Datenvirtualisierung mit PolyBase

GILT FÜR: SQL Server Azure SQL-Datenbank Azure Synapse Analytics Parallel Data Warehouse

PolyBase ist ein Datenvirtualisierungsfeature für SQL Server.

Was ist PolyBase?

PolyBase ermöglicht Es Ihrer SQL Server-Instanz, Daten mit T-SQL direkt aus SQL Server, Oracle, Teradata, MongoDB, Hadoop-Clustern und Cosmos DB zu abfragen, ohne die Clientverbindungssoftware separat zu installieren. Sie können auch den generischen ODBC-Connector verwenden, um eine Verbindung mit weiteren Anbietern über ODBC-Treiber von Drittanbietern herzustellen. PolyBase ermöglicht es T-SQL Abfragen, die Daten aus externen Quellen mit relationalen Tabellen in einer Instanz von SQL Server.

Ein wichtiger Anwendungsfall für die Datenvirtualisierung mit PolyBase besteht darin, dass die Daten an Ihrem ursprünglichen Speicherort und im Quellformat verbleiben. Sie können die externen Daten über die SQL Server-Instanz virtualisieren, sodass sie wie jede andere Tabelle in der SQL Server. 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öher (nur Windows)
  • SQL Server 2019 (15.x) und höher (Linux)
  • SQL Server Analytics Platform System (PDW), gehostet im Analytics Platform System (APS)
  • Azure Synapse Analytics

Hinweis

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

PolyBase-Connectors

PolyBase bietet Konnektivität mit den folgenden externen Datenquellen:

Externe Datenquellen SQL Server mit PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Lesen Nein Nein
Generisches ODBC Lesen (nur Windows) Nein Nein
Azure Storage Lesen/Schreiben Lesen/Schreiben Lesen/Schreiben
Hadoop Lesen/Schreiben Lesen/Schreiben Nein
SQL Server Lesen Nein Nein
  • SQL Server 2016 (13.x) wurde PolyBase mit Unterstützung für Verbindungen mit Hadoop und Azure Blob Storage eingeführt.
  • SQL Server 2019 (15.x) wurden zusätzliche Connectors eingeführt, einschließlich SQL Server, Oracle, Teradata und MongoDB.

Beispiele für externe Connectors:

* PolyBase unterstützt die beiden Hadoop-Anbieter Hortonworks Data Platform (HDP) und Cloudera Distributed Hadoop (CDH) bis SQL Server 2019. SQL Server Unterstützung für externe DATENQUELLEN von HDFS Cloudera (CDP) und Hortonworks (HDP) wird nicht mehr in SQL Server 2022 einbezogen. 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. Ab SQL Server 2019 (15.x) aktivieren Sie PolyBase in sp_configure, falls erforderlich.
  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. Darüber hinaus ermöglicht PolyBase Azure Synapse Analytics, Daten aus Azure Data Lake Store und aus Azure Blob Storage zu importieren und zu exportieren.

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 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 mit dem Business Intelligence- und Analysestapel von Microsoft, oder verwenden Sie Tools von Drittanbietern, die mit den SQL Server.

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. Um die Abfrageleistung zu verbessern, können Sie PolyBase-Erweiterungsgruppenvon SQL Server verwenden. Die ermöglicht eine parallele Datenübertragung zwischen SQL Server-Instanzen und Hadoop-Knoten und fügt Berechnungsressourcen für die Verarbeitung der externen Daten hinzu.

Wichtig

Die Microsoft SQL Server PolyBase-Gruppen für die aufskalierte Datenbank werden außer Rahmen 2. Die Funktionalität von Gruppen mit erweiterter Skalierung wird im Jahr 2022 aus SQL Server entfernt. PolyBase-Datenvirtualisierung wird weiterhin vollständig als Feature für das hochskalierte Hochskalieren in SQL Server. 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. Befolgen Sie dann je nach Datenquelle die Anweisungen in einem der folgenden Konfigurationshandbücher: