レポートと分析のためのデータエクスポート
エクスポートするにはどうすればいいですか? Mendix アプリケーション データをレポート データベースに保存しますか?
Mendix アプリケーションはマイクロサービスアーキテクチャに従っており、アプリケーションはアプリケーションデータの保存、保護、検証を担います。つまり、 Mendix クラウド上の他のソフトウェアは、アプリケーションのデータベースに直接アクセスできません。レポート作成ツールや分析ツールは、必要なデータをアプリのAPI経由で取得するか、専用のレポート作成データベース、データウェアハウス、またはデータレイクにエクスポートし、レポート作成ツールからアクセスできるようにする必要があります。
専用のレポートデータストアを使用することは、複数のアプリケーションのデータに基づいてレポートを作成できるため、通常は最適なアプローチです。さらに、複雑なレポートクエリがアプリケーション自体のクエリに影響を与えないため、アプリケーション自体への影響も軽減されます。
Mendix アプリケーション データをデータ ウェアハウスまたはデータ レイクにエクスポートする一般的な方法は 2 つあります。
- すべてのアプリケーションは、ETL ツールからデータ ウェアハウスにデータをプルするために使用できる API を提供します。
- エンティティ イベント ハンドラーを使用して、データが変更されるとすぐにデータを中央の場所にプッシュします。
ETL ツールを使用して、データ ウェアハウスまたはデータ レイクのアプリケーション データを取得するにはどうすればよいですか?
ETLツールが必要なデータを取得できるAPIを提供できます。これを実装する一般的な方法の一つは、データモデル上に柔軟なデータAPIを簡単に構築できるOdata APIを使用することです。View Entitiesを使用すると、ETLのデータ取得ユースケースを最適化できます。すべてのエンティティには変更データを含めることができ、ETLツールによる定期的なデータ取得を実装することで、同じ大規模なデータセットを何度もエクスポートする必要がなくなります。
エンティティ イベント ハンドラーを使用してアプリケーション データをデータ ウェアハウスまたはデータ レイクにプッシュするにはどうすればよいですか?
ドメインモデル内のすべての永続エンティティ、または選択した永続エンティティに対してイベントハンドラを定義できます。これらのイベントハンドラでは、例えばデータをRESTエンドポイントや外部データベースにプッシュするなどのカスタムロジックを提供できます。このアプローチが使用されている例としては、すべてのデータイベントを中央の全文検索データベースに送信してレポートを作成するAdvanced Audit Trailモジュールが挙げられます。