Microsoft hat seine Angebote im Bereich Azure zu umfassenden Cloud-Lösungen für Firmen ausgebaut, die hochmoderne Funktionen wie Datenmanagement und -analyse integrieren.
Mit der Entscheidung, die Cloud zu nutzen, hat Microsoft Azure SQL Data Warehouse ins Leben gerufen. Dieses Produkt wird mit Nachdruck von Microsoft vorangetrieben und stellt einen flexiblen Datenbankverwaltungsdienst dar, der anpassungsfähige Data-Warehouse-Funktionen kombiniert.
Was verbirgt sich hinter Azure SQL Data Warehouse?
Azure SQL Data Warehouse, heute als Azure Synapse Dedicated SQL Pool bekannt, ist ein cloudbasiertes Data Warehouse, das es Ihnen ermöglicht, ein solches System auf Microsoft Azure zu entwickeln und einzusetzen. Es ist in der Lage, große Mengen an relationalen und nicht-relationalen Daten zu verarbeiten. Hierbei greift es auf die Funktionen eines SQL Data Warehouse und einer Cloud-Computing-Plattform zurück.
Der Dienst unterstützt SQL-Server nativ und ermöglicht die Migration bestehender SQL-Server in das SQL Data Warehouse. Sie können auch die gleichen Abfragen und Strukturen verwenden. Zusätzlich erhalten Abonnenten sofortigen Zugriff auf die Skalierung, das Anhalten und die Reduzierung ihrer Data-Warehouse-Ressourcen.
Es dient der Bereitstellung einer vollwertigen, SQL-basierten Data-Warehouse-Lösung für Unternehmen. Weiterhin sind folgende Einsatzbereiche denkbar:
- Migration von vorhandenen, lokal betriebenen Data Warehouses in die Cloud.
- Bereitstellung einer Data-Warehouse-Lösung für Anwendungen und Dienste, die Datenspeicherung und -abruf in Echtzeit benötigen – beispielsweise Webanwendungen.
- Eine hybride Data-Warehouse-Lösung, die ein in Azure gehostetes Data Warehouse mit einem lokalen SQL Server verbindet.
Ein herausragendes Merkmal von Azure SQL Data Warehouse ist seine Elastizität. Es bietet Skalierbarkeit und die Möglichkeit, sowohl Speicher- als auch Rechenressourcen separat zu verwalten. Dies schafft eine vorteilhafte Plattform, bei der Benutzer nur für ihre tatsächliche Nutzung zahlen.
Die Datenverarbeitungsseite von Azure SQL Data Warehouse basiert auf der Data Warehouse Unit (DWU), die Rechenressourcen wie Speicher-E/A und Arbeitsspeicher über alle beteiligten Rechenknoten hinweg nachverfolgt.
Azure SQL Data Warehouse bietet auch Funktionen zur Verbindungssicherheit. Sie können den Zugriff durch Firewall-Regeln auf bestimmte IP-Adressen oder -Bereiche beschränken. Durch die Integration in Azure Active Directory-Authentifizierung (AAD) ist es möglich, sich über Identitäten aus Azure AD mit dem Azure SQL Data Warehouse zu verbinden.
Die mehrschichtige Verschlüsselung gewährleistet den Schutz Ihrer Daten im Ruhezustand, während der Übertragung und bei der Nutzung. So werden Ihre Daten vor Missbrauch geschützt. Darüber hinaus stehen Werkzeuge zur Verfügung, um Daten zu prüfen und zu überwachen und Sicherheitsverletzungen zu erkennen.
In Kombination mit anderen Microsoft-Werkzeugen bietet Azure SQL Data Warehouse eine außergewöhnliche Leistung, die einen klaren Vorteil gegenüber vergleichbaren Diensten auf dem Markt darstellt.
Dedizierter Azure Synapse-SQL-Pool
Der Azure Synapse Dedicated SQL Pool (ehemals Azure SQL Data Warehouse) ist eine massiv parallele Verarbeitungsdatenbank, die auf spaltenbasierten Scale-out-Datenbanktechnologien, wie sie bei Snowflake und Amazon Redshift zum Einsatz kommen, aufbaut. Für den Anwender wirkt es wie ein herkömmlicher SQL-Server, jedoch werden Daten nicht auf einem einzelnen Knoten gespeichert und verarbeitet.
Dies kann die Leistung von Data Warehouses mit einem Umfang von mehr als wenigen Terabyte erheblich verbessern. Für kleinere Implementierungen gibt es jedoch möglicherweise bessere Alternativen.
Die zugrunde liegende Architektur unterscheidet sich grundlegend von herkömmlichen SQL-Servern. Daraus folgt, dass sich auch die Syntax und die Entwicklungsmethoden unterscheiden können.
Verteilungen werden Rechenknoten in einem dedizierten SQL-Pool zugewiesen. Der Pool weist Ihre Verteilungen neuen Rechenknoten zu, wenn Sie zusätzliche Rechenressourcen erwerben.
Sie können große Datenmengen mithilfe einfacher PolyBase-SQL-Abfragen importieren und anschließend die verteilte Abfrage-Engine für anspruchsvolle Analysen einsetzen.
Der dedizierte SQL-Pool, der früher als SQL DW bekannt war, bietet Ihrem Unternehmen eine zentrale Quelle der Wahrheit, die eine schnellere Integration und Analyse von Daten ermöglicht und verlässlichere Erkenntnisse liefert.
Worin besteht der Unterschied zwischen dedizierten Azure Synapse-SQL-Pools und dedizierten SQL-Pools in einem Azure Synapse Analytics-Arbeitsbereich?
PowerShell ist einer der Bereiche, in denen die Dokumentation zum „dedizierten SQL-Pool (früher SQLDW)“ und den dedizierten SQL-Pools von „Synapse Analytics“ für Verwirrung sorgen kann.
Die ursprüngliche Implementierung von SQL DW verwendete einen logischen Server, ähnlich wie Azure SQL DB. Es wurde ein PowerShell-Modul mit dem Namen Az.Sql veröffentlicht.
Dieses Modul ermöglicht es, mithilfe des Cmdlets New-AzSqlDatabase einen neuen SQL-Pool (früher SQLDW) zu erstellen. Es gibt einen „Edition“-Parameter, der es ermöglicht anzugeben, dass ein Data Warehouse gewünscht wird.
Mit der Veröffentlichung von Synapse Analytics wurde auch ein neues PowerShell-Modul namens Az.Synapse eingeführt. Um einen dedizierten SQL-Pool in einem Synapse Analytics-Arbeitsbereich zu erstellen, würden Sie New-AzSynapseSqlPool verwenden.
Dieses PowerShell-Modul erfordert nicht, dass Sie den Parameter „Edition“ mit angeben, da er ausschließlich für Synapse-Artefakte gedacht ist.
Ein dedizierter SQL-Pool stellt T-SQL-basierte Datenverarbeitung und Speicherung bereit. Daten können in Synapse geladen, modelliert und verarbeitet werden, um schnellere Erkenntnisse zu ermöglichen.
Azure Synapse bietet zusätzlich zu dedizierten SQL-Pools auch Serverless-SQL- und Apache Spark-Pools. Je nach Ihren Bedürfnissen können Sie das Richtige auswählen.
Mit einem serverlosen SQL-Pool können Sie die in Ihrem Data Lake gespeicherten Daten abfragen.
Welche Funktion hat der dedizierte SQL-Pool von Azure Synapse?
Der Azure Synapse Dedicated SQL Pool nutzt eine Architektur mit horizontaler Skalierung, um die Datenberechnung auf mehrere Knoten zu verteilen. Rechenleistung kann unabhängig vom Speicher skaliert werden, da beide getrennt voneinander verwaltet werden.
Serverlose SQL-Pools sind serverlos und skalieren sich automatisch, um die Anforderungen an die Abfrageressourcen zu erfüllen. Sie passen sich an wechselnde Topologien an, indem sie Knoten hinzufügen, entfernen oder ein Failover durchführen. Dadurch wird sichergestellt, dass Ihre Abfrage über ausreichend Ressourcen verfügt und erfolgreich abgeschlossen werden kann.
Synapse SQL basiert auf einer knotenbasierten Architektur. Anwendungen können eine Verbindung zum Steuerknoten herstellen und T-SQL-Befehle ausgeben. Dies ist der zentrale Zugriffspunkt für Synapse SQL.
Die Azure Synapse SQL-Steuerknoten verwenden eine verteilte Abfrage-Engine, die Abfragen für die parallele Verarbeitung optimiert und dann Operationen an Rechenknoten weiterleitet, damit diese ihre Aufgaben parallel ausführen können.
Der Steuerungsknoten des serverlosen SQL-Pools nutzt die Distributed Query Processing Engine (DQP), um die verteilte Ausführung zu optimieren und zu orchestrieren.
Dazu wird die Benutzerabfrage in kleinere Abfragen unterteilt, die auf Rechenknoten 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.
Rechenknoten speichern alle Benutzerdaten und führen parallele Abfragen aus. Der Data Movement Service (DMS), ein interner Dienst auf Systemebene, verschiebt Daten zwischen Knoten, um parallele Abfragen zu ermöglichen und präzise Ergebnisse zu liefern.
Synapse SQL verwendet Azure Storage, um die Sicherheit der Benutzerdaten zu gewährleisten. Azure Storage speichert und verwaltet Ihre Daten. Für die Nutzung des Speichers fallen separate Gebühren an.
Funktionen von Azure Synapse Dedicated SQL-Pools
Hier sind die wichtigsten Funktionen von Azure Synapse SQL-Pools:
- Sie können die Daten in verschiedenen Formaten wie Parquet, JSON und CSV im Data Lake abfragen.
- Benutzer können die aktuellsten Daten mithilfe einer relationalen Abstraktion einsehen.
- Mit T-SQL können Sie die Daten im Lake auf einfache und skalierbare Weise umwandeln.
- Data Scientists können die Struktur und den Inhalt der Lake-Daten mithilfe von OPENROWSET oder automatischen Schema-Inferenzfunktionen schnell untersuchen.
- Dateningenieure können den Pool nutzen, um den Lake zu erkunden und ihre Datentransformationspipelines zu transformieren, zu erstellen oder zu vereinfachen.
- Datenanalysten können über die T-SQL-Sprache und andere vertraute Tools auf die Daten zugreifen und externe Tabellen erstellen. Diese Tools können auch mit einem serverlosen SQL-Pool verbunden werden.
- Business-Intelligence-Experten können umgehend BI-Berichte aus Spark-Tabellen oder dem Data Lake erstellen.
Dedizierter SQL-Pool vs. Serverloser SQL-Pool
Serverloser SQL-Pool
Azure Synapse-Arbeitsbereiche verfügen über einen serverlosen SQL-Pool, der als Abfragedienst über Data Lakes fungiert. Für den Zugriff auf die Daten ist keine zusätzliche Konfiguration erforderlich. Er ist vollständig serverlos und erfordert keine Einrichtung oder Wartung einer Infrastruktur.
Die Skalierung erfolgt automatisch, um den Ressourcenbedarf zu decken. Der Benutzer zahlt nur für die verarbeiteten Daten und nicht für reservierte Ressourcen. Der serverlose SQL-Pool erstellt auch Statistiken zur Optimierung der Abfrageausführung.
Wenn wir beispielsweise eine Abfrage zweimal oder zwei Abfragen mit ähnlichen Ausführungsplänen ausführen, können diese Statistiken wiederverwendet werden.
Diese Funktionen ermöglichen es, große Datenmengen schnell zu analysieren, ohne sie zu kopieren oder in einen bestimmten Speicher zu laden.
Dedizierter SQL-Pool
Der dedizierte Synapse-SQL-Pool ist der Nachfolger von Azure SQL Data Warehouse und stellt sämtliche Data-Warehousing-Funktionen für Unternehmen bereit. Im Gegensatz zum serverlosen SQL-Pool müssen Nutzer den dedizierten Synapse-SQL-Pool selbst erstellen und verwalten, einschließlich der Auswahl der benötigten Ressourcen.
Die Ressourcen für dedizierte SQL-Pools von Synapse werden in Data Warehousing Units (DWUs) gemessen. Eine DWU bezieht sich auf eine Kombination aus CPU-, Speicher- und E/A-Ressourcen.
Die Anzahl der DWUs bestimmt die Leistung und die Kosten des Pools. Anstatt pro Abfrage zu zahlen, werden alle Aktivitäten des Pools abgerechnet, unabhängig vom tatsächlichen Arbeitsaufwand.
Um zusätzliche Kosten zu vermeiden, können dedizierte Pools angehalten und neu gestartet werden. Für unsere Tests haben wir einen dedizierten SQL-Pool mit 100 DWUs erstellt.
Nach der Erstellung des Pools können Daten mit dem Befehl COPY, PolyBase mit T-SQL-Abfragen oder über eine Pipeline geladen werden. Diese Daten werden im Spaltenspeicher in relationalen Tabellen gespeichert.
Dedizierter SQL-Pool | Serverloser SQL-Pool | |
Funktion | Dient zur Abfrage und Aufnahme von Daten im Data Lake. | Benutzer können Data Lake-Dateien abfragen. |
Infrastruktur | Erfordert dedizierte Server. | Es ist keine Infrastruktur erforderlich, es müssen keine Cluster gewartet werden. |
Datenumwandlung | Keine Infrastruktur erforderlich, um Daten zu transformieren oder zu untersuchen. | |
Datenspeicherung | Speichert Daten in relationalen Tabellen. | Speichert Daten im Data Lake. |
Kostenkontrolle | Sie können die Kosten durch Anhalten des SQL-Pools verwalten und das Warehouse verkleinern. | Pay-per-Request-Basis. |
Kosten | Kosten für reservierte Ressourcen. | Datenverarbeitungskosten pro Abfrage werden berechnet. |
Bezahlung | Bezahlung pro bereitgestellter DWU. | Bezahlung pro verarbeitetem TB. |
Fazit
Dies waren die wichtigsten Informationen zum Azure SQL Data Warehouse (jetzt Azure Synapse Dedicated SQL Pool genannt). Obwohl ein dedizierter SQL-Pool in vielerlei Hinsicht einem herkömmlichen SQL-Server ähneln mag, ist die zugrunde liegende Architektur (Massively Parallel Processing) grundlegend anders. Dies bedeutet, dass bestimmte Konzepte und Techniken nur auf einen dedizierten SQL-Pool anwendbar sind.
Es lohnt sich auch, die Unterschiede zwischen Data Lake und Data Warehouse genauer zu betrachten.