CQRSとEvent Sourcingを使用する場合、履歴データをどのようにクエリしますか。一例として、収益のレポートを持つタイムシートシステムを構築する場合、各従業員の時間、賃金率、および請求率に対して照会する必要があります。 EmployeeID、PayRate、およびEffectiveDateを持つEMPLOYEE_PAY_RATEテーブル、およびClientID、EmployeeID、Rate、およびEffectiveDateを持つBILL_RATEテーブルがあります。これらのテーブルの発効日は基本的に実行履歴を保持しており、正確に報告することができます。CQRSとEvent Sourcing Query履歴データ
DDD、CQRS、およびEvent Sourcing Routeを利用する場合、どのようにレポートを生成しますか?同じ方法でイベントストアに問い合わせることはできません。私はAxonのようなフレームワークを見てきましたが、報告の観点から行う必要があるかどうかはわかりません。
私はいくつかのイベントの予測が必要です。従業員の請求額は1年間で2〜3回変更され、従業員自身が1〜2賃料を支払う可能性があります。レポートの計算には、タイムシートのエンティティから時間と日付を取得し、適切に計算するためにすべてのデータを交差させる必要があります。まだ実現可能ですか?過去に私はSQLでそれをやっていましたが、複雑ではあるが高速なクエリでした。メモリ内のすべてのことをリソースの観点から問題視しています。 – jkratz55
@ jkratz55なぜ複数の投影? 1つは十分だと思われる。 –
CQRSとEvent Sourcingを行ったことのないコンセプトは理解できないでしょうが、現在のシステムでは、EMPLOYEE、TIMESHEET、EMPLOYEE_PAY_RATE、CLIENT_BILL_RATE、およびPROJECT_ASSIGNMENTテーブルをまとめてレポートを生成しています。タイムシートには、特定の従業員が所属する曜日とプロジェクトの時間があります。 Bill RateとPay Rateテーブルには有効な開始日の列があるため、すべての履歴データがあります。イベントストアを使ってイベントを再生する方法を視覚化することはできないと思います。 – jkratz55