Microsoft hat seine Azure-Dienste in unternehmenstaugliche Cloud-Lösungen umgewandelt, die modernste Funktionen wie Datenmanagement und -analyse beinhalten.
Microsoft hat Azure SQL Data Warehouse auf den Markt gebracht, als es die Entscheidung für die Cloud traf. Microsoft treibt das Azure SQL Data Warehouse mit großer Energie voran. Es ist ein flexibler Datenbankverwaltungsdienst, der elastische Data Warehouse-Funktionen mit sich bringt.
Was ist Azure SQL Data Warehouse?
Azure SQL Data Warehouse (jetzt Azure Synapse Dedicated SQL Pool genannt), ein Cloud-basiertes Data Warehouse, ermöglicht Ihnen die Erstellung und Bereitstellung eines Data Warehouse auf Microsoft Azure. Azure Data Warehouse kann große Mengen an relationalen und nicht-relationalen Daten verarbeiten. Es bietet SQL-Data-Warehouse-Funktionen und eine Cloud-Computing-Plattform.
Es unterstützt SQL-Server von Haus aus und kann vorhandene SQL-Server zu SQL Data Warehouse migrieren. Sie können auch die gleichen Abfragen und Konstrukte verwenden. Darüber hinaus haben Abonnenten sofortigen Zugriff auf die Skalierung, Pause und Verkleinerung ihrer Data Warehouse-Ressourcen.
Es wird verwendet, um eine vollständige SQL-basierte Data-Warehouse-Lösung der Unternehmensklasse bereitzustellen. Sie kann auch auf die folgenden Arten verwendet werden:
- Migration von bestehenden Data Warehouses (vor Ort) in die Cloud
- Bereitstellung einer Data-Warehouse-Lösung für Anwendungen und Dienste, die Daten zur Laufzeit speichern und abrufen müssen – wie z.B. Webanwendungen.
- Eine hybride Data Warehouse-Lösung, die eine Verbindung zu dem von Azure gehosteten Data Warehouse und SQL Server vor Ort herstellt.
Die beste Eigenschaft von Azure SQL Data Warehouse ist seine elastische Natur. Sie ermöglicht Skalierbarkeit und die Möglichkeit, sowohl Speicher- als auch Rechenressourcen separat zu verwalten. So entsteht eine Win-Win-Plattform, bei der die Nutzer nur für das zahlen, was sie nutzen und wann sie es nutzen.
Die Berechnungsseite von Azure SQL Data Warehouse basiert auf der Data Warehouse Unit (DWU), die Rechenressourcen wie Storage I/O und Arbeitsspeicher über alle beteiligten Rechenknoten hinweg verfolgt.
Azure SQL Data Warehouse bietet eine Funktion für die Verbindungssicherheit. Damit können Sie den Zugriff auf bestimmte IP-Adressen oder IP-Bereiche mithilfe von Firewall-Regeln beschränken. Die Integration mit der Azure Active Directory-Authentifizierung (AAD) ermöglicht es Ihnen, sich mit Azure SQL Data Warehouse zu verbinden, indem Sie Identitäten aus Azure AD verwenden.
Die mehrschichtige Verschlüsselung bietet Schutz im Ruhezustand, in Bewegung und bei der Nutzung, um Ihre Daten vor Missbrauch zu schützen. Es stehen zusätzliche Tools zur Verfügung, um Daten zu prüfen und zu überwachen und Sicherheitsverletzungen zu erkennen.
In Kombination mit anderen Microsoft-Tools bietet Azure SQL Data Warehouse eine unvergleichliche Leistung, was ein großer Vorteil gegenüber anderen vergleichbaren Diensten auf dem Markt ist.
Azure Synapse Dedizierter SQL-Pool
Azure Synapse Dedicated SQL Pool (zuvor Azure SQL Data Warehouse) ist eine massiv parallel verarbeitende Datenbank, die spaltenbasierten Scale-out-Datenbanktechnologien wie Snowflake und Amazon Redshift ähnelt. Für den Endbenutzer sieht sie wie ein herkömmlicher SQL Server aus, aber sie speichert und verarbeitet die Daten nicht auf einem einzigen Knoten.
Dies kann die Leistung von Data Warehouses, die größer als ein paar Terabytes sind, drastisch verbessern, aber für kleinere Implementierungen gibt es möglicherweise bessere Lösungen.
Die zugrundeliegende Architektur unterscheidet sich stark von herkömmlichen SQL-Servern. Das bedeutet, dass auch die Syntax und die Entwicklungsmethoden anders sind.
Die Distributionen werden auf Compute-Knoten in einem speziellen SQL-Pool abgebildet. Der Pool ordnet Ihre Distributionen den Compute-Knoten neu zu, wenn Sie mehr Rechenressourcen erwerben.
Sie können große Daten mit einfachen PolyBase SQL-Abfragen importieren und dann die verteilte Abfrage-Engine für Hochleistungsanalysen verwenden.
Der dedizierte SQL-Pool, ehemals SQL DW, stellt Ihrem Unternehmen eine einzige Quelle der Wahrheit zur Verfügung, mit der Sie Daten schneller integrieren und analysieren können und die zuverlässigere Erkenntnisse liefert.
Was ist der Unterschied zwischen Azure Synapse dedizierten SQL-Pools und dedizierten SQL-Pools in einem Azure Synapse Analytics-Arbeitsbereich?
Die PowerShell ist einer der verwirrendsten Bereiche in der Dokumentation zwischen dem dedizierten SQL-Pool (ehemals SQLDW) und den dedizierten SQL-Pools von Synapse Analytics”.
Die ursprüngliche Implementierung von SQL DW verwendet einen logischen Server ähnlich wie Azure SQL DB. Ein PowerShell-Modul namens Az.Sql
wird gemeinsam genutzt.
Dieses Modul erstellt einen neuen SQL-Pool (früher SQLDW) mit dem Cmdlet New.AzSqlDatabase
. Es hat einen Parameter “Edition”, mit dem Sie angeben können, dass Sie ein DataWarehouse wünschen.
Synapse Analytics wurde mit einem neuen PowerShell-Modul von Az.Synapse
geliefert, als es zum ersten Mal veröffentlicht wurde. Um einen eigenen SQL-Pool in einem Synapse Analytics-Arbeitsbereich zu erstellen, verwenden Sie New-AzSynapseSqlPool
.
Bei diesem PowerShell-Modul müssen Sie den Parameter “Edition” nicht angeben, da er nur für Synapse-Artefakte verwendet wird.
Ein dedizierter SQL-Pool bietet T-SQL-basierte Datenverarbeitung und -speicherung. Daten können in Synapse geladen, modelliert und verarbeitet werden, um einen schnelleren Einblick zu erhalten.
Azure Synapse bietet neben Dedicated SQL-Pools auch Serverless SQL- und Apache Spark-Pools. Je nach Ihren Anforderungen können Sie den richtigen auswählen.
Mit einem serverlosen SQL-Pool können Sie die in Ihrem Data Lake gespeicherten Daten abfragen.
Was macht Azure Synapse Dedicated SQL Pool?
Azure Synapse Dedicated SQL Pool verwendet eine Scale-Out-Architektur, um die Berechnung von Daten auf mehrere Knoten zu verteilen. Sie können die Rechenleistung unabhängig vom Speicher skalieren, da die Rechenleistung vom Speicher getrennt ist.
Serverlose SQL-Pools sind serverlos und skalieren automatisch, um den Anforderungen der Abfrageressourcen gerecht zu werden. Er passt sich an veränderte Topologien an, indem er Knoten hinzufügt, entfernt oder ausfallen lässt. Dadurch wird sichergestellt, dass Ihre Abfrage über ausreichend Ressourcen verfügt und erfolgreich abgeschlossen werden kann.
Synapse SQL basiert auf einer knotenbasierten Architektur. Synapse SQL verwendet eine knotenbasierte Architektur. Anwendungen können sich mit dem Kontrollknoten verbinden und T-SQL-Befehle erteilen. Dies ist der zentrale Punkt für Synapse SQL.
Azure Synapse SQL-Kontrollknoten verwenden eine verteilte Abfrage-Engine, die Abfragen für die parallele Verarbeitung optimiert und dann Operationen an Compute-Knoten weitergibt, damit diese ihre Arbeit parallel erledigen können.
Der serverlose SQL-Pool-Kontrollknoten verwendet die Distributed Query Processing Engine (DQP), um die verteilte Ausführung zu optimieren und zu orchestrieren.
Dazu wird die Benutzerabfrage in kleinere Abfragen aufgeteilt, die auf Compute-Knoten ausgeführt werden können. Jede Aufgabe ist eine verteilte Ausführungseinheit. Sie ruft Daten von anderen Aufgaben ab, gruppiert Dateien und liest sie aus dem Speicher.
Compute Nodes speichern alle Benutzerdaten und führen parallele Abfragen aus. Der Data Movement Service (DMS), ein interner Dienst auf Systemebene, verschiebt Daten zwischen den Knoten, um parallele Abfragen zu ermöglichen und genaue Ergebnisse zu liefern.
Synapse SQL verwendet Azure Storage für die Sicherheit der Benutzerdaten. Azure Storage speichert und verwaltet Ihre Daten. Für die Speichernutzung fällt eine separate Gebühr an.
Funktionen von Azure Synapse Dedicated SQL Pools
Hier sind die wichtigsten Funktionen von Azure Synapse SQL Pool:
- Sie können die Daten in verschiedenen Formaten wie Parquet, JSON und CSV im Data Lake abfragen.
- Benutzer können die aktuellsten Daten über eine relationale Abstraktion einsehen.
- Mit T-SQL können Sie die Daten im Data Lake auf einfache, skalierbare Weise transformieren
- Datenwissenschaftler können mit OPENROWSET oder automatischen Schema-Inferenzfunktionen schnell die Struktur und den Inhalt der Daten im Data Lake untersuchen.
- Dateningenieure können den Pool nutzen, um den See zu erkunden und ihre Datenumwandlungspipelines zu transformieren, zu erstellen oder zu vereinfachen.
- Datenanalysten können über die Sprache T-SQL und andere vertraute Tools auf die Daten zugreifen und externe Tabellen abfragen. Diese Tools können auch mit einem serverlosen SQL-Pool verbunden werden.
- Business-Intelligence-Experten können sofort BI-Berichte über Spark-Tabellen oder Data Lake erstellen.
Dedizierter SQL-Pool vs. Serverloser SQL-Pool
Serverloser SQL-Pool
Azure Synapse-Workspaces verfügen über einen serverlosen SQL-Pool, der als Abfragedienst über Data Lakes fungiert. Er erfordert keine zusätzliche Konfiguration für den Zugriff auf die Daten. Er ist völlig serverlos und erfordert keine Infrastruktur, die eingerichtet oder gewartet werden muss.
Die Skalierung kann automatisch erfolgen, um den Ressourcenanforderungen gerecht zu werden. Der Benutzer zahlt nur für die verarbeiteten Daten und nicht für reservierte Ressourcen. Der serverlose SQL-Pool erstellt auch Statistiken, um die Ausführung von Abfragen zu optimieren.
Wenn wir zum Beispiel eine Abfrage zweimal ausführen oder zwei Abfragen mit ähnlichen Ausführungsplänen ausführen, können diese Statistiken wiederverwendet werden.
Diese Funktionen ermöglichen es uns, große Datenmengen schnell zu analysieren, ohne sie in einen bestimmten Speicher zu kopieren oder zu laden.
Dedizierter SQL-Pool
Der Synapse Dedicated SQL Pool ist der Nachfolger von Azure SQL Data Warehouse und bietet alle Funktionen des Enterprise Data Warehousing. Allerdings gibt es keinen serverlosen SQL-Pool. Stattdessen müssen die Benutzer den Synapse dedizierten SQL-Pool erstellen und löschen. Wir können auch die Ressourcen auswählen, die er verwenden soll.
Diese Ressourcen werden anhand der dedizierten SQL-Pools von Synapse gemessen. Sie werden Data Warehousing Units (DWUs) genannt. Eine DWU bezieht sich auf eine Kombination aus CPU-, Speicher- und IO-Ressourcen.
Die Anzahl der DWUs bestimmt die Leistung und die Kosten des Pools. Anstatt pro Abfrage berechnet zu werden, wird die Zeit, in der der Pool aktiv ist, berechnet, unabhängig davon, wie viel Arbeit er geleistet hat.
Um zusätzliche Kosten zu vermeiden, können dedizierte Pools angehalten und neu gestartet werden. Für unseren Test haben wir einen dedizierten SQL-Pool mit 100 DWU erstellt.
Nachdem der Pool erstellt wurde, können die Daten mit dem COPY-Befehl, PolyBase mit T-SQL-Abfragen oder einer Pipeline in den Pool geladen werden. Diese Daten werden in einem spaltenweisen Speicher in relationalen Tabellen gespeichert.
Dedizierter SQL-Pool | Serverloser SQL-Pool |
Damit können Sie den Data Lake abfragen und in ihn einlesen. | Benutzer können Data-Lake-Dateien abfragen. |
Eine Infrastruktur ist erforderlich. | Es ist nicht notwendig, eine Infrastruktur aufzubauen oder Cluster zu unterhalten. |
Bevor Sie eine Operation durchführen können, müssen Sie dedizierte Server beschaffen. | Für die Datenumwandlung oder -exploration ist keine Infrastruktur erforderlich. |
Relationale Tabellen werden zum Speichern von Daten verwendet. | Data Lake speichert Daten. |
Sie können die Kosten verwalten, indem Sie den SQL-Pool pausieren und das Warehouse verkleinern. | Die Kosten werden automatisch abgewickelt und auf einer Pay-per-Request-Basis in Rechnung gestellt. |
Reservierte Ressourcen sind kostenpflichtig. | Die Kosten für die Datenverarbeitung werden pro Abfrage berechnet. |
Zahlen Sie pro bereitgestellter DWU. | Bezahlen Sie pro verarbeitetes TB. |
Fazit
So, das war alles über Azure SQL Data Warehouse (jetzt Azure Synapse Dedicated SQL Pool genannt). Während ein Dedicated SQL Pool in vielerlei Hinsicht einem herkömmlichen SQL Server ähnelt, ist die zugrunde liegende Architektur (Massively Parallel Processing) völlig anders. Das bedeutet, dass bestimmte Konzepte und Techniken nur auf einen Dedicated SQL Pool anwendbar sind.
Sie können sich auch mit den Unterschieden zwischen Data Lake und Data Warehouse befassen.