Datenexport für Reporting und Analyse
Wie kann ich meine Mendix Anwendungsdaten in eine Berichtsdatenbank?
Mendix Anwendungen folgen einer Microservices-Architektur, bei der die Anwendung für die Speicherung, Sicherung und Validierung der Anwendungsdaten verantwortlich ist. Dies bedeutet, dass in der Mendix Cloud-Software hat keinen direkten Zugriff auf die Datenbank der Anwendung. Reporting- und Analysetools müssen die benötigten Daten entweder über APIs der App abrufen oder in eine dedizierte Reporting-Datenbank, ein Data Warehouse oder einen Data Lake exportieren, wo sie von Reporting-Tools abgerufen werden können.
Die Verwendung eines dedizierten Berichtsdatenspeichers ist in der Regel die beste Lösung, da Sie damit Daten aus mehreren Anwendungen erfassen können. Darüber hinaus reduziert sich die Auswirkung auf die Anwendung selbst, da komplexe Berichtsabfragen keine Auswirkungen auf die Abfragen der Anwendung selbst haben.
Zwei gängige Methoden zum Exportieren von Mendix-Anwendungsdaten in ein Data Warehouse oder einen Data Lake sind:
- Jede Anwendung bietet APIs, mit denen Daten aus einem ETL-Tool in ein Data Warehouse gezogen werden können.
- Verwenden Sie Entity-Eventhandler, um Daten an einen zentralen Ort zu übertragen, sobald sich die Daten geändert haben.
Wie kann ein ETL-Tool verwendet werden, um Anwendungsdaten für ein Data Warehouse oder einen Data Lake abzurufen?
Sie können APIs bereitstellen, über die ein ETL-Tool die benötigten Daten abrufen kann. Eine gängige Implementierungsmethode hierfür sind Odata-APIs, die flexible Daten-APIs auf Ihren Datenmodellen ermöglichen. Mit View Entities optimieren Sie die ETL-Anwendungsfälle für den Datenabruf. Jede Entität kann Änderungsdaten enthalten, die für den wiederkehrenden Datenabruf durch ein ETL-Tool genutzt werden können, um den wiederholten Export derselben großen Datensätze zu vermeiden.
Wie können Entity-Eventhandler verwendet werden, um Anwendungsdaten in ein Data Warehouse oder einen Data Lake zu übertragen?
Sie können Ereignishandler für alle oder ausgewählte persistente Entitäten in Ihren Domänenmodellen definieren. In diesen Ereignishandlern können Sie benutzerdefinierte Logik bereitstellen, um beispielsweise Daten an einen REST-Endpunkt oder eine externe Datenbank zu übertragen. Ein Beispiel für diesen Ansatz ist das Modul „Advanced Audit Trail“, das alle Datenereignisse zur Berichterstellung an eine zentrale Volltextsuchdatenbank sendet.