Bearbeiten

Abfragen eines Data Lake oder Lakehouse mithilfe von Azure Synapse serverlos

Azure Data Lake
Azure Data Lake Storage
Azure Synapse Analytics
Azure Blob Storage

In diesem Artikel wird ein alternativer Ansatz für Data Warehouse-Projekte beschrieben, der als explorative Datenanalyse (Exploratory Data Analysis, EDA) bezeichnet wird. Dieser Ansatz kann die Herausforderungen von ETL-Vorgängen (Extrahieren, Transformieren, Laden) reduzieren. Es konzentriert sich zuerst auf das Generieren von Geschäftserkenntnissen und dann auf das Lösen der Modellierungs- und ETL-Aufgaben.

Aufbau

Diagram that shows a sample EDA architecture.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Bei der EDA geht es nur um die rechte Seite des Diagramms. Die serverlose Azure Synapse SQL wird als Compute-Engine über die Data Lake-Dateien verwendet.

So erreichen Sie EDA:

  • T-SQL-Abfragen werden direkt im serverlosen Azure Synapse SQL oder Azure Synapse Spark ausgeführt.
  • Abfragen werden über ein grafisches Abfragetool wie Power BI oder Azure Data Studio ausgeführt.

Es wird empfohlen, alle Lakehouse-Daten mit Parquet oder Delta zu speichern.

Sie können die linke Seite des Diagramms (Datenerfassung) mithilfe eines beliebigen Tools zum Extrahieren, Laden und Transformieren (ELT) implementieren. Es hat keine Auswirkungen auf EDA.

Komponenten

Alternativen

  • Sie können serverlose Synapse SQL-Pools durch Azure Databricks ersetzen oder ergänzen.

  • Anstatt ein Lakehouse-Modell mit Synapse SQL serverlosen Pools zu verwenden, können Sie dedizierte Azure Synapse SQL-Pools verwenden, um Unternehmensdaten zu speichern. Lesen Sie die Anwendungsfälle und Überlegungen in diesem Artikel und die zugehörigen Ressourcen, um zu entscheiden, welche Technologie verwendet werden soll.

Szenariodetails

Diese Lösung zeigt eine Implementierung des EDA-Ansatzes für Data Warehouse-Projekte. Dieser Ansatz kann die Herausforderungen der ETL-Vorgänge verringern. Es konzentriert sich zuerst auf das Generieren von Geschäftserkenntnissen und dann auf das Lösen von Modellierungs- und ETL-Aufgaben.

Mögliche Anwendungsfälle

Weitere Szenarien, die von diesem Analysemuster profitieren können:

  • Präskriptive Analyse. Stellen Sie Fragen zu Ihren Daten, z. B. Nächste beste Aktion oder wie gehen wir als Nächstes vor? Treffen Sie Entscheidungen eher auf Grundlage von Daten und nicht nach Bauchgefühl. Die Daten können unstrukturiert sein und aus vielen externen Quellen unterschiedlicher Qualität stammen. Sie sollten die Daten ggf. so schnell wie möglich verwenden, um Ihre Geschäftsstrategie auszuwerten, ohne die Daten tatsächlich in ein Data Warehouse zu laden. Sie können die Daten verwerfen, nachdem Sie Ihre Fragen beantwortet haben.

  • Self-Service ETL. Verwenden Sie ETL/ELT, wenn Sie Ihre EDA-Aktivitäten (Data Sandboxing) durchführen. Machen Sie Ihre Daten wertvoll, indem Sie sie transformieren. Dies kann die Skalierung Ihrer ETL-Entwickler verbessern.

Über die explorative Datenanalyse

Bevor wir uns genauer mit der Funktionsweise von EDA befassen, ist es sinnvoll, den üblichen Ansatz für Data Warehouse-Projekte zusammenzufassen. Der übliche Ansatz sieht wie folgt aus:

  • Anforderungserfassung. Dokumentieren Sie, was mit den Daten geschehen soll.

  • Datenmodellierung. Bestimmen Sie, wie die numerischen Daten und Attributdaten in Fakten- und Dimensionstabellen modelliert werden. In der Regel wird dieser Schritt vor dem Abrufen der neuen Daten vorgenommen.

  • ETL (Extrahieren, Transformieren und Laden) . Erfassen Sie die Daten und bringen Sie sie in das Datenmodell des Data Warehouse ein.

Diese Schritte können Wochen oder sogar Monate dauern. Erst dann können Sie damit beginnen, die Daten abzufragen und das Geschäftsproblem zu lösen. Der Benutzer sieht den Wert erst, nachdem die Berichte erstellt wurden. Die Lösungsarchitektur sieht in der Regel in etwa wie folgt aus:

Diagram that shows the traditional data warehouse architecture.

Sie können dies auf eine andere Weise tun, die sich zuerst auf das Generieren von Geschäftserkenntnissen und dann auf die Lösung der Modellierungs- und ETL-Aufgaben konzentriert. Der Prozess ähnelt Data Science-Prozessen. Sie sieht etwa wie folgt aus:

Diagram that describes data sandboxing.

In der Branche wird dieser Prozess als EDA oder explorative Datenanalyse bezeichnet.

Gehen Sie wie folgt vor:

  • Datenerfassung. Zunächst müssen Sie bestimmen, welche Datenquellen Sie in Ihrem Data Lake/Ihrer Sandbox erfassen müssen. Anschließend müssen Sie diese Daten in den Zielbereich Ihres Lakes bringen. Azure bietet Tools wie Azure Data Factory und Azure Logic Apps, mit denen Daten schnell erfasst werden können.

  • Data-Sandboxing. Zunächst arbeiten ein Business Analyst und ein Techniker, der Qualifikationen in explorativen Datenanalysen über serverlose Azure Synapse Analytics oder einfache SQL hat, zusammen. In dieser Phase versuchen sie, die Geschäftserkenntnisse mithilfe der neuen Daten zu gewinnen. EDA ist ein iterativer Prozess. Möglicherweise müssen Sie mehr Daten erfassen, mit KMUs kommunizieren, weitere Fragen stellen oder Visualisierungen generieren.

  • Auswertung: Nachdem Sie die Geschäftserkenntnisse ermittelt haben, müssen Sie auswerten, was mit den Daten geschehen soll. Möglicherweise möchten Sie die Daten im Data Warehouse beibehalten (sodass Sie zur Modellierungsphase wechseln). In anderen Fällen können Sie die Daten im Data Lake/Lakehouse aufbewahren und für Predictive Analytics (Machine Learning-Algorithmen) verwenden. In anderen Fällen können Sie ihre Datensatzsysteme mit den neuen Erkenntnissen abgleichen. Basierend auf diesen Entscheidungen können Sie besser verstehen, was Sie als Nächstes tun müssen. Möglicherweise müssen Sie keine ETL durchführen.

Diese Methoden sind der Kern von echten Self-Service-Analysen. Indem Sie Data Lake und ein Abfragetool wie serverloses Azure Synapse verwenden, das Data Lake-Abfragemuster versteht, können Sie Ihre Datenressourcen in die Hände von Geschäftskunden legen, die SQL auf Mindestniveau verstehen. Mit dieser Methode können Sie die Amortisationszeit drastisch verkürzen und ein Teil des Risikos entfernen, das mit Unternehmensdateninitiativen verbunden ist.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Verfügbarkeit

Serverlose Azure Synapse SQL-Pools ist eine PaaS-Funktion (Platform-as-a-Service), die Ihre Anforderungen an Hochverfügbarkeit und Notfallwiederherstellung erfüllen kann.

Serverlose Pools sind bei Bedarf verfügbar. Sie erfordern kein hoch-, herunterskalieren, ein- oder ausgehendes Hochskalieren oder eine Verwaltung jeglicher Art. Sie verwenden ein Modell mit nutzungsbasierter Bezahlung, sodass zu keiner Zeit ungenutzte Kapazität vorhanden ist. Serverlose Pools eignen sich ideal für:

  • Ad-hoc-Data Science-Untersuchungen in T-SQL.
  • Frühe Prototyperstellung für Data Warehouse-Entitäten.
  • Definieren von Ansichten, die Consumer z. B. in Power BI für Szenarien verwenden können, die Leistungsverzögerungen tolerieren können.
  • Explorative Datenanalyse.

Operations

Synapse SQL verwendet serverlose Standard-T-SQL für Abfragen und Vorgänge. Sie können die Benutzeroberfläche des Synapse-Arbeitsbereichs, Azure Data Studio oder SQL Server Management Studio als T-SQL-Tool verwenden.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

  • Die Preise für Data Lake Storage hängen von der Datenmenge ab, die Sie speichern, und von der Häufigkeit, mit der Sie die Daten verwenden. Die Beispielpreise umfassen 1 TB gespeicherte Daten mit weiteren Transaktionsannahmen. Das 1 TB bezieht sich auf die Größe des Data Lake und nicht auf die ursprüngliche Größe der Legacy-Datenbank.

  • Die Preise für einen Azure Synapse Spark-Pool basieren auf der Knotengröße, der Anzahl der Instanzen und der Betriebszeit. Im Beispiel wird ein kleiner Serverknoten mit einer Auslastung zwischen fünf Stunden pro Woche und 40 Stunden pro Monat angenommen.

  • Die Preise eines serverlosen Azure Synapse SQL-pools basieren auf der Menge verarbeiteter Daten in TB. Im Beispiel wird davon ausgegangen, dass 50 TB pro Monat verarbeitet werden. Diese Zahl bezieht sich auf die Größe des Data Lake und nicht auf die ursprüngliche Größe der Legacy-Datenbank.

Beitragende

Dieser Artikel wird von Microsoft aktualisiert und gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Nächste Schritte