Event sourcing
システムの状態変化を一連のイベントとして記録・保存する手法
全てのアクションをイベントとして捉える
イベントは不変で、順序付けられて保存される
各イベントが、履歴のような形で、DBに保存される
イベントソースと呼ばれる
現在の状態はイベントの再生によって作り上げる
DBに保存されているイベントの履歴を、1から今までを取得して、初めから適用していくと、現在のデータの状態が出来上がる
ただし、これでは遅くなるため、どこかでスナップショットみたいな状態を作って保持しておくなど、回避方法があったりはする
また、メッセージングなどにより、検索用などのデータストアを別で作ったりなどもする