Was ist Azure SQL Data Warehouse?

Microsoft hat seine Azure-Dienste in Cloud-Lösungen für Unternehmen umgewandelt, die modernste Funktionen wie Datenverwaltung und -analyse enthalten.

Microsoft startete Azure SQL Data Warehouse, als es die Entscheidung traf, die Cloud zu nutzen. Microsoft treibt das Azure SQL Data Warehouse mit großer Energie voran. Es ist ein flexibler Datenbankverwaltungsdienst, der elastische Data-Warehouse-Funktionen damit kombiniert.

Was ist Azure SQL Data Warehouse?

Azure SQL Data Warehouse (jetzt Azure Synapse Dedicated SQL Pool genannt), ein Cloud-basiertes Data Warehouse, ermöglicht es Ihnen, ein Data Warehouse auf Microsoft Azure zu erstellen und bereitzustellen. Azure Data Warehouse kann große Mengen relationaler und nicht relationaler Daten verarbeiten SQL Data Warehouse-Funktionen und eine Cloud-Computing-Plattform.

Es unterstützt SQL-Server nativ und kann vorhandene SQL-Server zu SQL Data Warehouse migrieren. Sie können auch dieselben Abfragen und Konstrukte verwenden. Darüber hinaus haben Abonnenten sofortigen Zugriff, um ihre Data Warehouse-Ressourcen zu skalieren, anzuhalten und zu verkleinern.

Es wird verwendet, um eine vollständige SQL-basierte Data-Warehouse-Lösung der Enterprise-Klasse bereitzustellen. Es kann auch auf folgende Weise verwendet werden:

  • Migration bestehender Data Warehouses (on-premises) in die Cloud
  • Stellen Sie eine Data-Warehouse-Lösung für Anwendungen und Dienste bereit, die Datenspeicherung und -abruf zur Laufzeit benötigen – wie z. B. Webanwendungen.
  • Eine Hybrid-Data-Warehouse-Lösung, die eine Verbindung zu einem von Azure gehosteten Data Warehouse und SQL Server vor Ort herstellt.

Das beste Merkmal von Azure SQL Data Warehouse ist seine Elastizität. Es ermöglicht Skalierbarkeit und die Möglichkeit, sowohl Speicher- als auch Rechenressourcen separat zu verwalten. Es schafft eine Win/Win-Plattform, auf der Benutzer nur für das bezahlen, was sie verwenden und wann sie es verwenden.

Die Datenverarbeitungsseite von Azure SQL Data Warehouse basiert auf Data Warehouse Unit (DWU), die Rechenressourcen wie Speicher-E/A und Arbeitsspeicher über alle teilnehmenden Rechenknoten hinweg nachverfolgt.

Azure SQL Data Warehouse bietet ein Verbindungssicherheitsfeature. Auf diese Weise können Sie den Zugriff mithilfe von Firewall-Regeln auf bestimmte IP-Adressen oder IP-Bereiche beschränken. Durch die Integration in die Azure Active Directory-Authentifizierung (AAD) können Sie eine Verbindung mit Azure SQL Data Warehouse herstellen, indem Sie Identitäten aus Azure AD verwenden.

Die mehrschichtige Verschlüsselung bietet Schutz im Ruhezustand, während der Übertragung und während der Nutzung, um Ihre Daten vor Missbrauch zu schützen. Zusätzliche Tools sind verfügbar, um Daten zu auditieren und zu überwachen und Sicherheitsverletzungen zu identifizieren.

In Kombination mit anderen Microsoft-Tools bietet Azure SQL Data Warehouse eine beispiellose Leistung, was ein großer Vorteil gegenüber anderen vergleichbaren Diensten auf dem Markt ist.

Dedizierter Azure Synapse-SQL-Pool

Azure Synapse SQL Pool Dedicated SQL Pool (früher Azure SQL Data Warehouse) ist eine massiv parallele Verarbeitungsdatenbank, die spaltenbasierten Scale-out-Datenbanktechnologien wie Snowflake und Amazon Redshift ähnelt. Für den Endbenutzer sieht es aus wie ein herkömmlicher SQL Server, aber es speichert und verarbeitet Daten nicht auf einem Knoten.

  Verfolgen Sie mit Ihrem täglichen Aktivitätslevel, welche Lebensmittel Sie verbrannt haben

Dies kann die Leistung von Data Warehouses, die größer als ein paar Terabyte sind, erheblich verbessern, aber es gibt möglicherweise bessere Lösungen für kleinere Implementierungen.

Die zugrunde liegende Architektur unterscheidet sich stark von herkömmlichen SQL Servern. Das bedeutet, dass auch Syntax und Entwicklungsmethoden unterschiedlich sind.

Verteilungen werden Rechenknoten in einem dedizierten SQL-Pool zugeordnet. Der Pool ordnet Ihre Verteilungen den Compute-Knoten neu zu, wenn Sie mehr Rechenressourcen kaufen.

Sie können große Daten mithilfe einfacher PolyBase-SQL-Abfragen importieren und dann die verteilte Abfrage-Engine für Hochleistungsanalysen verwenden.

Der dedizierte SQL-Pool, ehemals SQL DW, bietet Ihrem Unternehmen eine einzige Quelle der Wahrheit, die es Ihnen ermöglicht, Daten schneller zu integrieren und zu analysieren und belastbarere Erkenntnisse zu liefern.

Was ist der Unterschied zwischen dedizierten Azure Synapse-SQL-Pools und dedizierten SQL-Pools in einem Azure Synapse Analytics-Arbeitsbereich?

PowerShell ist einer der verwirrendsten Bereiche in der Dokumentation zwischen „dem dedizierten SQL-Pool (früher SQLDW) und den dedizierten SQL-Pools „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 freigegeben.

Dieses Modul erstellt mithilfe des Cmdlets New.AzSqlDatabase einen neuen SQL-Pool (ehemals SQLDW). Es hat einen „Edition“-Parameter, mit dem Sie angeben können, dass Sie ein DataWarehouse haben möchten.

Synapse Analytics wurde mit einem neuen PowerShell-Modul von Az.Synapse geliefert, als es zum ersten Mal veröffentlicht wurde. 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“ einschließen, 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 ermöglichen.

Azure Synapse bietet zusätzlich zu dedizierten SQL-Pools Serverless SQL- und Apache Spark-Pools. Je nach Ihren Anforderungen können Sie das Richtige auswählen.
Ein serverloser SQL-Pool ermöglicht es Ihnen, die in Ihrem Data Lake gespeicherten Daten abzufragen.

Was macht der dedizierte SQL-Pool von Azure Synapse?

Azure Synapse Dedicated SQL Pool verwendet eine Architektur mit horizontaler Skalierung, um die Berechnung von Daten auf mehrere Knoten zu verteilen. Sie können Rechenleistung unabhängig von Speicher skalieren, da Rechenleistung von Speicher getrennt ist.

  So passen Sie Google Formulare mit Designs, Bildern und Schriftarten an

Serverlose SQL-Pools sind serverlos und werden automatisch skaliert, um die Anforderungen an Abfrageressourcen zu erfüllen. Es passt sich an sich ändernde Topologien an, indem es Knoten hinzufügt, entfernt oder ein Failover durchführt. Dadurch wird sichergestellt, dass Ihre Abfrage über ausreichende Ressourcen verfügt und erfolgreich abgeschlossen werden kann.

Synapse SQL basiert auf einer knotenbasierten Architektur. Synapse SQL verwendet eine knotenbasierte Architektur. Anwendungen können eine Verbindung zum Steuerknoten herstellen und T-SQL-Befehle ausgeben. Dies ist der einzige Punkt für Synapse SQL.

Azure Synapse SQL-Steuerknoten verwenden eine verteilte Abfrage-Engine, die Abfragen für die parallele Verarbeitung optimiert und dann Vorgänge an Compute-Knoten weiterleitet, damit diese ihre Arbeit parallel erledigen können.

Der serverlose SQL-Pool-Steuerknoten 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. Es ruft Daten von anderen Aufgaben ab, gruppiert Dateien und liest sie aus dem Speicher.

Rechenknoten speichern alle Benutzerdaten und führen parallele Abfragen aus. Data Movement Service (DMS), ein interner Dienst auf Systemebene, verschiebt Daten zwischen Knoten, um parallele Abfragen zu ermöglichen, und gibt genaue Ergebnisse zurück.

Synapse SQL verwendet Azure Storage für die Sicherheit von Benutzerdaten. Azure Storage speichert und verwaltet Ihre Daten. Für die Speichernutzung wird eine separate Gebühr erhoben.

Features von Azure Synapse Dedicated SQL-Pools

Hier sind die wichtigsten Funktionen des 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 neuesten Daten mithilfe einer relationalen Abstraktion anzeigen.
  • Mit T-SQL können Sie die Daten im Lake auf einfache, skalierbare Weise umwandeln
  • Data Scientists können die Struktur und den Inhalt von Lake-Daten mithilfe von OPENROWSET oder automatischen Schema-Inferenzfunktionen schnell untersuchen.
  • Dateningenieure können den Pool nutzen, um den See 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.
  • Generieren Sie sofort BI-Berichte von Business-Intelligence-Experten über Spark-Tabellen oder Data Lake.

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. Es ist völlig serverlos und erfordert keine Einrichtung oder Wartung einer Infrastruktur.

  So erhalten Sie Apples Bildungsrabatt auf einem Mac oder iPad

Die Skalierung kann automatisch erfolgen, um die Ressourcenanforderungen zu erfüllen. Der Nutzer zahlt nur für die verarbeiteten Daten und nicht für reservierte Ressourcen. Der serverlose SQL-Pool erstellt auch Statistiken zur Optimierung der Abfrageausführungen.

Wenn wir beispielsweise 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 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 bietet alle Data-Warehousing-Funktionen für Unternehmen. Es gibt jedoch keinen serverlosen SQL-Pool. Stattdessen müssen Benutzer den dedizierten Synapse-SQL-Pool erstellen und löschen. Wir können auch die Ressourcen auswählen, die es verwenden wird.

Diese Ressourcen werden mithilfe der dedizierten SQL-Pools von Synapse gemessen. Sie werden als Data Warehousing Units (DWUs) bezeichnet. Eine DWU bezieht sich auf eine Kombination aus CPU-, Arbeitsspeicher- und E/A-Ressourcen.

Die Anzahl der DWUs bestimmt die Leistung und die Kosten des Pools. Anstatt pro Abfrage zu zahlen, wird uns jede Aktivität des Pools in Rechnung gestellt, unabhängig davon, wie viel Arbeit er geleistet hat.

Um zusätzliche Kosten zu vermeiden, können dedizierte Pools gestoppt 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 Daten mit dem COPY-Befehl, PolyBase mit T-SQL-Abfragen oder einer Pipeline in ihn geladen werden. Diese Daten werden im Spaltenspeicher in relationalen Tabellen gespeichert.

Dedizierter SQL-Pool Serverloser SQL-Pool Damit können Sie den Data Lake abfragen und aufnehmen. Benutzer können Data Lake-Dateien abfragen. Infrastruktur ist erforderlich. Es ist nicht erforderlich, eine Infrastruktur einzurichten oder Cluster zu warten dedizierte Server. Für die Datentransformation oder -exploration ist keine Infrastruktur erforderlich. Zum Speichern von Daten werden relationale Tabellen verwendet. Data Lake speichert Daten. Sie können die Kosten verwalten, indem Sie den SQL-Pool anhalten und das Warehouse verkleinern auf Pay-per-Request-Basis.Reservierte Ressourcen sind kostenpflichtig.Datenverarbeitungskosten pro Abfrage werden in Rechnung gestellt.Zahlung pro bereitgestellter DWU.Zahlung pro verarbeitetem TB.

Fazit

Das war also alles über Azure SQL Data Warehouse (jetzt Azure Synapse Dedicated SQL Pool genannt). Während ein dedizierter SQL-Pool in vielerlei Hinsicht einem herkömmlichen SQL-Server ähneln mag, ist die zugrunde liegende Architektur (Massively Parallel Processing) völlig anders. Das bedeutet, dass bestimmte Konzepte und Techniken nur auf einen dedizierten SQL-Pool anwendbar sind.

Sie können auch die Unterschiede zwischen Data Lake und Data Warehouse untersuchen.