Azure Synapse Analytics im Einsatz – ein Fazit

Microsoft bringt laufend neue Produkte auf den Markt. Azure Synapse Analytics ist seit Ende 2020 verfügbar. Unser «Real World» Blog hilft bei der Entscheidungsfindung, für welche Szenarien sich Azure Synapse eignet.

Was ist Azure Synapse Analytics

Azure Synapse Analytics ist eine von Microsoft entwickelte Lösung, um grosse Datenmengen zu integrieren, analysieren, transformieren und abzulegen. Wird eine Azure Synapse Analytics Produkt in Azure angelegt, wird ein Synapse Workspace, sowie ein Storage account (Azure Data Lake) erstellt.

Über den Synapse Workspace wird das webbasierte Synapse Studio aufgerufen. Die Konfiguration sowie Analyse und Entwicklung wird vollends per Webbrowser getätigt.

Pipelines, Data-Flows oder Notebooks – eine Frage der Komplexität und Flexibilität

Das Synapse Studio bietet verschiedene Wege zur Integration der Daten.

In Pipelines werden Datenflüsse abgebildet. Die Konfiguration geschieht primär über die webbasierte Oberfläche. Es können Daten aus einer Quelle gelesen, transformiert und auf den Azure Data Lake (Storage Account) geschrieben werden. Pipelines können Daten per «Integration Datasets» von «Linked Services» beziehen oder schreiben. Pipelines sind sehr günstig und benötigen keine zusätzlichen Azure Ressourcen.

Für komplexere Transformationen von Daten eignen sich Data Flows. Mittels visueller Bausteine wird der Datenfluss und die Modifikationen zusammengeklickt. Data Flows nutzen die Azure Integration Runtime, bekannt aus der Azure Data Factory. Diese ist im Betrieb und beim Entwickeln kostspieliger als die Pipelines.

Wird noch mehr Flexibilität für die Datenverarbeitung gefordert, werden Notebooks verwendet, welche die Programmierung mittels Python, Scala, R, Java, and SQL erlauben. Notebooks nutzen die Azure Databricks welche auf einem Apache Spark Pool läuft. Dieses werden zusätzlich instanziiert und bereits für die Entwicklung benötigt. Die Kosten hängen von der Dimensionierung des Pools ab.

Stärken und Einsatz

Die Stärken von Azure Synapse liegen ganz klar in der Datenintegration und Analyse. Mehrere Datenquellen zu konsumieren, zwischenzuspeichern und für die spätere Verwendung in Endsystemen aufzubereiten.

Die Einsatzmöglichkeiten von Azure Synapse Analytics lassen sich am besten anhand eines Beispiels aufzeigen:

Es soll ein webbasierter Power BI Report erstellt werden, der auf drei Datenquellen basiert:

  1. Eine Rest-Schnittstelle mit tagesaktuellen Daten. Diese können pro Tag über die Schnittstelle bezogen werden. Die Daten sind umfangreich und zeigen die weltweiten Verkäufe eines Einzelhändlers.
  2. Ein SFTP Server, welcher jeweils aktuelle Rechnungsdaten für die letzten 30 Tage als Zip Datei bereitstellt. Der SFTP Server ist sehr instabil und ist mehrmals pro Tag nicht erreichbar.
  3. Ein CRM System, welches die Stammdaten für die Kreditoren und Debitoren enthält, sowie Masterdaten zu den Einzelhändlern.
    Der Report umfasst ein Dashboard, welches die Verkaufszahlen und Umsätze auf einzelnen Produkte und Kategorien über die letzten Monate darstellt und den Drill Down der Daten bis auf die effektiven Zahlen ermöglicht.

Ein weiteres Dashboard zeigt eine betriebswirtschaftliche Auswertung (BWA) und welche Rechnungen wann bezahlt wurden oder fällig sind. Es ist auch möglich Rechnungen aus der Vergangenheit in den Report miteinzubeziehen und zu vergleichen.

Daten aus dem CRM System sollen primär für die Navigation und Vollständigkeit der Visualisierungen dienen.

Die Umsetzung dieses Reports birgt einige Herausforderungen:

  1. Die eingeschränkte Filtermöglichkeit der Rest-API ermöglicht es nur, zeitlich oder geografisch geordnete Daten, abzurufen.
  2. Die SFTP Schnittstelle enthält keine historischen Daten, welche älter als 30 Tage sind.
  3. Die Schnittstellen sind langsam und die Verfügbarkeit ist nicht gewährleistet.
  4. Die Datenmengen sind sehr umfangreich und enthalten viele nicht-relevanten Daten.

Azure Synapse bietet für diese Herausforderungen eine effiziente und kostenoptimierte Lösung:

  • Mit Pipelines können alle drei Datenquellen automatisch und täglich bezogen werden. Beim Ausfall eines Systems wird der Import nachgeholt. Die Datenablage erfolgt nach einer Reduktion auf die relevanten Informationen. Es besteht die Möglichkeit, die Daten anzureichern, zu konvertieren und Vorberechnungen durchzuführen.
  • Wird nur die Storage account basierte Ablage verwendet, fallen die Kosten für die Aufbereitung sehr tief aus.
  • Mittels Views auf dem serverlosen SQL Pool werden die aufbereiteten Daten für das Endsystem (Power BI) bereitgestellt.
Fazit

Azure Synapse Analytics füllt eine Lücke in der Welt der Daten-Warenhäuser (DWH). Es fühlt sich, trotz Arbeiten mit grossen Datenmengen, leichtgewichtig an. Der Einstieg ist einfach und es lassen sich auch komplexe Anforderungen abdecken.

Die webbasierte Oberfläche ist übersichtlich und sehr funktional und begeistert insgesamt. Leider hält Microsoft die Hilfe-Kommentare zu einzelnen Feldern und Einstellungen etwas knapp, so dass man an eigenem «Try and Error» nicht vorbeikommt. Gewisse Fehlermeldungen sind schwierig zu interpretieren und helfen nicht wirklich weiter.

Die Performance macht grosse Freude. So versucht man sich gerne mit Query von epischen Ausmassen – einfach um die Geschwindigkeit zu fühlen. Die Möglichkeit eine Problemstellungen unterschiedlich zu lösen, ist modern und gefällt. Die Erfahrung spielt hierbei eine zentrale Rolle und schützt vor dem falschen Ansatz für eine Umsetzung.

Azure Synapse Analytics ist der fehlende Baustein zwischen verschiedenen Datenquellen und dem Reporting für Endbenutzer. Es reduziert die Komplexität bei der Implementierung unzähliger Datenquellen und bietet Systemstabilität.

;