0

私は金融会社で働いています。何百万ものフラットファイルとxmlファイルを受け取り、この特定のシステムではNo ApiデータをSQLサーバーデータベースにインポートしました。イベントソーシングとフラット/ XMLファイルのインポート

イベントソーシングをこのタイプのシステムに使用すると、フラットファイルETLをデータベースにインポートする必要がありますか?私はいつもEvent SourcingがフロントエンドのWebアプリケーションのために多く使われていると思っていたので、すべてのデータを追跡し、イベントを再生モデルに再生できるようにしました。

答えて

1

イベントソーシングをこのタイプのシステムに使用すると、フラットファイルETLをデータベースにインポートする必要がありますか?

誰かのフラットなデータをとり、そこから「出来事」を作り出そうとしているのは、私の限られた経験のなかで愚かな使命です。

すべてのイベントの履歴を記録して、誰かのフラットデータをシステムに読み込むためのプロセスを追跡しています... となります。基本的にはwarehouse systemのように、ディスクに書き込まれたファイル、変換が完了したこと、インポートが完了したこと、レポートを作成していることを追跡しています。

また、方程式に入ると、次に起こることについてモデルの権限を与えるつもりですか?

多くの投資や特注のコードには問題はありません(真剣に、ETLロードプロセスがどれほど素晴らしいか、競争優位を得ることを期待していますか? )

1

イベントソーシング

おかげで、より良好な損失なしにシステムの状態をキャプチャCQRSアーキテクチャの書き込み側のための永続性の特殊なタイプです。イベントの履歴は、書き込み側と読み取り側で使用されます。

あなたのケースでは、すべてのコマンドがフラット/計算済みの状態を使用するよりも優れている場合は、イベントのストリームから状態を再構築すると思われる場合は、Event sourcingを使用してください。イベントの履歴が依然として必要な場合は、古い読み取りモデルの再構築(同期が外れたり、BUGが検出された場合など)または新しい読み取りモデルを作成するためにのみ使用されるイベントログを使用することができます。

+0

ESがCQRSと連携するように特別に設計されていないことに言及しておきましょう。 ESはCQRSを必要とせず、CQRSはESを必要としません。 – MikeSW

+0

@MikeSWそして、どのような* CQRSアーキテクチャも使わずにESをどのように使用しますか? (私はうまくいかないとは言わない) –

+0

私たちはそれらを一緒に使用しているからといって、他の人のために設計されたものではない(DDDとOOPが一緒に使用されているが、 DDDを実装するための機能的アプローチ)。クエリ可能なモデルを必要としないアプリケーション(実際にはほとんどありません)があります。しかし私はCQRSをESなしでかなり頻繁に使用しました。 – MikeSW

1

イベントソーシングは、(トラック)を保存するために使用されます。ドメイン状態は、発生すると変更されます。それらのxmlファイルは基本的にインポートです。これらのインポートを内部コマンドにマップすることができ、結果として格納できるドメインイベントが発生します。 あなたのアプリがESを使用して設計されている場合、コマンドがどこから出現するかは関係ありません(ほとんどの場合)。

あなたがそのインポートコンポーネントを書いて、特にそれを使用することを考えるなら、それは良い考えではありません。その活動自体は非常に難解で、ESは複雑なドメイン(ビジネス)モデルを扱うことを目的としていました。

関連する問題