/note/social
イベントソーシングとは?
- 全てのデータ更新をレコードの更新ではなく、追記で保存していくスタイルのアーキテクチャ・パターン
- 全てのイベントを保存するとも言う(イベント=データ更新)
- RDBで言うと、INSERTのみでUPDATEは無い
イベントソーシング=結果整合性?
- YES and NO.
- 結果整合性を選択することもできるし、トランザクショナルなアーキテクチャを選択することもできる
結果整合性でもOKな理由は?
- 全てのデータ更新を追記で保存していくので、データ更新がコンフリクトすることがない
- したがって、レコードをロックする必要がない(=トランザクションを使う必要がない)
- 矛盾するデータが同時に保存される可能性はあるが、最終的には後から追加されたデータが正となる(結果整合性)
- ともあれ、トランザクションが不要なので、RDBMS以外のデータストアを選択できる(KVSとか)
参考資料
イベント・ソーシングを知る
(2016/04/06)