制御フローとデータを分離する必要がありますか?
私の頭の中の明白な答えはノーです。しかし、なぜそうではないのかについて、もっと明確な議論が必要です...
だから...ここにシナリオがあります
- サービスはデータを生成し、それをローカルテーブルに公開して、ETLの個別のプロセスを取得し、メインのレポートデータウェアハウスに統合します。
- ソースサービスはデータが利用可能であることをETLに通知する必要があるという提案があります...したがって、定期的にチェックする必要はありません
私はこれがまったく好きではありません..なぜですか?
- サービスがETLについて知る必要があるため、構造的な依存関係が作成されます
- また、時間的な依存関係も作成します(いずれかのプロセスがダウン/クラッシュした場合はどうなりますか?)
ETLがデータに関心がある場合は、積極的にチェックを行う必要があります。別の方法として、サービスがデータを積極的にメッセージキューに送信し、キューイングインフラストラクチャの通知を委任することもできます。