Daten in Azure Data Lake ändern

Abgeschlossen

Wenn Sie die Option Datenänderungen nahezu in Echtzeit aktivieren auswählen, werden Daten nahezu in Echtzeit in Ihren Data Lake eingefügt, aktualisiert und gelöscht. Wenn sich Daten in Ihrer Finanz‑ und Betriebsumgebung ändern, werden dieselben Daten innerhalb weniger Minuten im Data Lake aktualisiert. Sie erhalten die Datenänderungen außerdem in einem separaten Änderungsfeed-Ordner.

Durch die Änderung von Daten in einem Data Lake können Sie nahezu in Echtzeit Datenpipelines erstellen, die auf Datenänderungen in Finanz‑ und Betriebs-Apps reagieren. Der Änderungsfeed-Ordner im Data Lake enthält alle in Finanz‑ und Betriebs-Apps vorgenommenen Datenänderungen. Dieser Ordner wird von der Funktion In Data Lake exportieren automatisch erstellt und verwaltet.

Wozu dienen Änderungsdaten in einem Data Lake?

Daten in einem Data Lake werden häufig für Berichtszwecke verwendet. Obwohl Sie die Tabellendaten im Data Lake zum Erstellen von Berichten verwenden können, können Sie auch zusätzliche Kopien der Daten erstellen, um Ihre Berichterstellung zu verbessern. Beispielsweise haben Sie möglicherweise einen Data Mart, mit dem Sie Ihre Hauptbenutzer aktivieren. In diesem Data Mart haben Sie möglicherweise vereinfachte, oftmals aggregierte Fakten‑ und Dimensionstabellen.

Wenn Tabellendaten im Data Lake bearbeitet werden, müssen Sie auch die entsprechenden Fakten‑ und Dimensionstabellen im Data Lake aktualisieren. Andernfalls enthalten Ihre Berichte nicht die aktuellen Daten.

Die einfachste Methode zum Aktualisieren von Fakten‑ und Dimensionstabellen ist, regelmäßig eine vollständige Kopie mithilfe von Tabellen zu erstellen. Diese Methode kann jedoch ineffizient sein. Bei großen Tabellen (z. B. mit mehreren zehn Millionen oder hundert Millionen Zeilen) kann das Aktualisieren einer Faktentabelle mit einer vollständigen Kopie Stunden dauern und viele Computingressourcen beanspruchen. Dadurch können Ihren Benutzern die Berichte möglicherweise nicht rechtzeitig zur Verfügung stehen (das heißt, sie müssen eventuell Stunden auf aktuelle Daten in Berichten warten). Da bei jeder erneuten Verarbeitung von Daten Computingressourcen verbraucht werden, erhalten Sie zudem möglicherweise eine höhere Rechnung für die von Ihnen beanspruchten Dienste.

Die Antwort auf diese beiden Probleme (Zeitaufwand und Verbrauch von Computingressourcen) ist eine inkrementelle Aktualisierung Ihrer Fakten‑ und Dimensionstabellen. Bei einer inkrementellen Aktualisierung wählen Sie nur die geänderten Datensätze aus Quelltabellen aus und aktualisieren sie in den entsprechenden Fakten‑ und Dimensionstabellen.

Inkrementelle Updates sind eine Standardfunktion in den meisten Datentransformationstools wie Azure Data Factory. Damit die inkrementelle Aktualisierungsfunktion funktioniert, müssen Sie jedoch die Datensätze identifizieren, die in den Quelltabellen geändert wurden.

Der Änderungsfeed-Ordner enthält einen Verlauf der Tabellendatenänderungen im Data Lake. Dieser Verlauf kann für Datenpipelines verwendet werden, die eine inkrementelle Aktualisierung verwenden.

Weitere Informationen über den Änderungsfeed-Ordner finden Sie unter Daten in Azure Data Lake ändern.

Bewährte Methoden bei der Verwendung von Änderungsfeeds

In diesem Abschnitt werden einige bewährte Methoden beschrieben, die Sie bei der Verwendung von Änderungsfeeds anwenden sollten.

Data Marts nahezu in Echtzeit aktualisieren

Wenn Ihr Data Warehouse oder Ihre Data Marts nahezu in Echtzeit aktualisiert werden müssen (d. h., wenn sie nach einer Datenänderung in Finanz‑ und Betriebs-Apps innerhalb von Minuten aktualisiert werden müssen), sollten Sie Änderungsfeeds verwenden.

Vorher müssen Sie jedoch einige wichtige Konzepte verstehen:

  • Änderungsdatensätze sind in Dateien gruppiert, die etwa 4 Megabyte (MB) oder 8 MB groß sind. Microsoft hat die Dateigrößen optimiert, um optimale Abfrageantwortzeiten sicherzustellen, wenn die Dateien von Synapse SQL Serverless abgefragt werden. Optimierte Dateigrößen (und Batchschreibvorgänge) reduzieren auch die Azure-Gebühren, die Ihnen möglicherweise durch die Aktualisierung des Data Lake entstehen.
  • Änderungsdatensätze werden nur angehängt. Dateien im Änderungsfeed-Ordner werden nie aktualisiert. Obwohl jeder Änderungsdatensatz die LSN-Nummer sowie Datum/Uhrzeit einer Änderung enthält, können Sie zur Identifizierung von Änderungen auch den Datums-/Zeitstempel der CSV-Dateien verwenden.
  • Wenn Sie eine Tabelle in Finanz‑ und Betriebs-Apps reaktivieren, wird der Änderungsfeed-Ordner gelöscht, und das System beginnt ab der nächsten verfügbaren Änderung mit den Änderungsfeeds. Dieses Verhalten stellt sicher, dass die Änderungen mit dem Ordner Tabellen übereinstimmen. Wenn Tabellen reaktiviert werden, sollten Sie eventuell eine vollständige Aktualisierung der nachgelagerten Datenpipeline vornehmen.
  • Ihre nachgelagerten Aufträge können regelmäßig orchestriert werden (z. B. alle 10 Minuten), oder sie können ausgelöst werden, wenn einem Ordner eine neue Änderungsfeed-Datei hinzugefügt wird.
  • In beiden Fällen müssen Ihre nachgelagerten Datenpipelines über die Markierung zuletzt verarbeitet verfügen (auch als Wasserzeichen bezeichnet). Sie sollten sich, wenn möglich, auf das Feld LSN im Datensatz als Wasserzeichen verlassen. Sie können aber auch den Datum-Uhrzeit-Stempel der Datei als Wasserzeichen. Indem Sie sich auf die LSN verlassen, verwenden Sie die Änderungen in derselben Reihenfolge, in der sie in der Finanz‑ und Betriebs-Datenbank bestätigt wurden.

Ein Beispiel für die Erstellung einer nachgelagerten Pipeline finden Sie unter Synapse-Datenerfassungsvorlage. Sie können damit Daten inkrementell in einem SQL-basiertes Data Warehouse erfassen.