そろそろイベントソーシング・CQRSを使ってみてもいい頃なんじゃない? いろんな面で準備が整ってきています... イベントソーシングの良さを伝えつつ、Xでイベントソーシングやドメイン駆動開発について話している方、また吉祥寺.pm36参加予定の方を対象にしたアンケート結果を発表します! 1.…
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
株式会社ジェイテックジャパン CTOの高丘 @tomohisaです。C#イベントソーシング・CQRSのフレームワーク、Sekibanを社内で開発しています。オープンソースで公開していますのでよろしければソースコードだけでもご覧ください。 はじめに 削除フラグを使うかどうかが最近ネットで話題になっています。t_wadaさんがおっしゃっているように、とりあえず削除フラグというのはアンチパターンで、ビジネスドメインでの意味を表現する形にするのが良いというのに同意です。 これらの削除フラグに関する議論を見て、「イベントソーシングではどう扱うのか」という質問をいただきました。 この記事では、イベントソーシングでの削除の考え方を紹介します。 前提:イベントソーシングはCQRSと組み合わせる イベントソーシングを行うときは、CQRS(コマンドクエリ責務分離) と組み合わせて使うことが前提となります。 C
はじめに システム開発部でバックエンドエンジニアをしている白坂です。 弊社では、『ドメイン駆動設計をはじめよう』の輪読会を行っています。 この記事では、第7章で扱われているイベント履歴式ドメインモデル(イベントソーシング)について自分の理解を整理します。 これからDDDを学ぶ方の参考になれば幸いです。 はじめに 多くのシステムは「現在の状態」を保存する しかし業務では「過程」が重要 「状態」ではなく「出来事」を保存する 状態保存とイベント履歴式ドメインモデルの違い 状態を保存する設計 イベント履歴式ドメインモデル 現在の状態はどう扱うのか なぜこの持ち方をするのか イベント履歴から目的別のモデルを作れる イベントストアとは イベントストアの特徴 メリット 過去の状態を再現できる 業務の流れを詳しく把握できる 履歴をそのまま監査に使える 同時更新の内容を見て判断できる デメリット 学習コスト
データベーススキーマを動的に操り、ユーザが持ち込んだ BYODB(Bring Your Own Database)のデータベースとも連携する——こうした特殊な要件に直面したローコードプラットフォームの開発現場で辿り着いた解決策はイベントソーシングと補償トランザクションでした。 本記事では、Ruby on Rails アプリケーションでタイトルのアーキテクチャパターンを実践し、複雑な分散トランザクション問題を乗り越えた手法と、その裏にある思考プロセスをご紹介します。 前半では課題の背景として、ローコードプラットフォームと BYODB 要件がもたらす複雑性を説明します。その後、イベントソーシングや補償トランザクションをどのように適用し、整合性や回復性を確保していくのか、その具体的な実装サンプルと効果をお伝えします。 実装サンプルのリポジトリ: github.com 注意点 ローコードプラットフ
イベントソーシング(ES)って何? イベントソーシング(以降、ESと呼ぶ)とは、かなり端的にいうとCRUDにおけるU(update; 更新)とD(delete; 削除)を使わないでアプリケーションのステートを管理する手法のことである。 なぜ使わないかというと、データの更新と削除は本質的に「情報を消し去る」操作であり、消し去った情報が後々ビジネス価値のあるものだと気づいたとしても泣き寝入りするしかないからだ。 ESにおいては、データの更新や削除をするかわりにアプリケーションが管理するステートに対してどのような操作が行われたかをappend-onlyのイベントログに記録していき、ある時点でのステートを知りたいときはアプリケーション側でイベントログの内容を元にステートを導き出すという方法を取る。 CRUDとESの比較 例えば、「ユーザーがパスワード変更する」場合、よくあるCRUDパターンでは u
この記事を書くに至った背景 株式会社ジェイテックジャパン CTOの高丘 @tomohisaです。昨日、イベントソーシングのイベントについて以下の記事を書きましたが、この記事はフォローアップ記事です。よろしければ元の記事もご覧ください。 2023/12/17追記: ジェイテックジャパンで開発してきた、イベントソーシング・CQRSフレームワーク、「Sekiban」をリリースしました! www.sekiban.dev/jp/ こちらの記事にかとじゅんさんから適切なコメントをいただきました。 イベントは事実であって、世界は事実の総体であり、事物の総体ではない。とても上手くまとめてくださっています。私もイベントソーシングを使い始めて、オブジェクト指向で考えるより、イベント(事実)を中心にモデリングしていく方が複雑な事象をモデリングしやすいと感じています。さらに新しい事象、事実のパターンに気がついた時
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く