shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it’ll be obvious.” Brooks, F. P. Jr. (1974). The Mythical Man-Month: Essays on Software Engineering. Reading, MA: Addison-Wesley. 6 “私にフローチャートだけを見せて、テーブルは見せないとしたら、私はずっと煙に巻かれたままにな るだろう。逆にテーブルが見せてもらえるなら、フローチャートはたいてい必要なくなる。それだけで、 みんな明白に分かってしまうからだ。” 『人月の神話』(フレデリック・ブルックス、滝沢徹 訳、丸善出版、2014年) 7-1. Event Sourcing Fred Brooks の推論をもとに、イベントソーシングが従来のデータモデリングや永続化と どう違うのかを理解しよう。
右図は、以下の実装ステップで実現する 1. プロセスは新しいイベントから継続的に 投影を生成、キャッシュする 2. インメモリー投影は、集約に対するアクションを 実行するのに必要 a. キャッシュから現在の状態の投影をフェッチ b. プロセスは後のバージョンのイベントをフェッチ c. 追加イベントはスナップショットにインメモリで適用 する
A. 2つの機構に対する書き込みはエラーが発生しやすく矛盾が生じやすい 「ステートベースモデルで作業しつつ、同じDBトランザクションでログ追加できないでしょうか?」 A. インフラ観点では一貫性があるが、エラーが起きやすいことは変わりない。 また未来のエンジニアがログの書き込みを忘れるかもしれないし、真実ではない情報は劣化する 「ステートベースモデルで作業しつつ 、レコードのスナップショットを取って専用の「履歴」テーブルにコピーする データベーストリガーを追加できないのでしょうか」 A. 明示的な呼出不要でこれまでの欠点は克服している。しかし単なるフィールドの変更履歴からは「なぜ変 更されたか」というビジネスコンテキストが欠落しており、拡張を制限してしまう