0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データメッシュにイベントソーシングはどうかかわるのか?

Posted at

前置き

イベントソーシング(ES)の設計思想は、データメッシュアーキテクチャ、特にその中核原則である「データ・アズ・ア・プロダクト(Data as a Product)」を実現するための、最も強力な「エンジン」の一つとして機能します。

両者はたしかに別々の概念ですが、組み合わせることで互いの価値を最大化する、理想的なパートナー関係にあります。

📰 アナロジー:報道機関とニュース配信

この2つの関係は、報道機関の内部と外部への情報発信に例えられます。

イベントソーシング:報道機関の「取材ノート(内部原簿)」

これは、報道機関(ドメイン)が内部で使う、唯一の真実の源泉です。

記者は、事件発生、容疑者逮捕、裁判開始といった「出来事(イベント)」を、時系列で、
変更不可能な事実として記録し続けます。

そして、現在の状況は、このノートを最初から読み返すことで常に把握できます。

データメッシュ:各報道機関が配信する「公式ニュースフィード(データプロダクト)」

これは、報道機関が 外部の購読者(他のドメイン) に対して公式に提供する「商品」です。

データメッシュの設計思想は、「各報道機関は、自分たちの専門分野のニュースフィードを、責任を持って提供しなさい」と定めます。

この2つの関係

報道機関(ドメイン)が取材ノート(イベントソーシング)で記録した「出来事」は、そのまま「公式ニュースフィード(データプロダクト)」として外部に配信するのに最も理想的なデータです。

イベントソーシングがデータメッシュをどう実現するか

では、データメッシュの思想を、イベントソーシングがどのように技術的に実現するかを解説します。

1. 「データ・アズ・ア・プロダクト」の理想的な実装

データメッシュでは、各ドメイン(例:注文ドメイン)は、自らのデータを「プロダクト」として提供する責任を持ちます。

ESの役割

注文ドメインがイベントソーシングで設計されている場合、
注文が作成された注文が発送された注文がキャンセルされた といったドメインイベントのストリームが生成されます。

データプロダクト化

このイベントストリームこそが、注文ドメインが外部に提供する、最も価値があり、信頼できるデータプロダクト(のアウトプット・ポート) となります。

2. 真の「疎結合」の実現

データメッシュは、中央のデータレイクを廃し、ドメイン間の直接的な連携(自律駆動型連携)を求めます。

イベントソーシングの役割

イベントソーシングは、データベースのテーブルを直接共有するという、最悪の密結合を回避します。

仕組み

配送ドメインは、注文ドメインのデータベース構造を知る必要は一切ありません。

彼らが必要なのは、

「注文が発送可能になった」というイベント(事実)

だけです。

このイベントをサブスクライブ(購読)するだけでよいため、注文ドメインが内部のデータベースをどう変更しようと、配送ドメインは一切影響を受けません。

3. 高い信頼性と監査可能性

データプロダクトは「信頼できる(Trustworthy)」必要があります。

イベントソーシングの役割

イベントソーシングのイベントログは 不変(イミュータブル) です。
一度記録された事実は、変更も削除もされません。

効果

これは、完璧な監査証跡(Audit Trail) として機能します。

「この注文が、いつ、誰によって、どのように変更されたか」という履歴が完全に残るため、データプロダクトの信頼性が根本から保証されます。

結論

データメッシュが「何を(What)すべきか」——すなわち

「ドメインごとにデータをプロダクトとして分散・所有せよ」——という戦略

を定義するのに対し、

イベントソーシングは「どのように(How)それを実現するか」——すなわち

「内部状態をイベントとして記録し、そのストリームをプロダクトとして配信する」——という、極めて強力な戦術(実装パターン)

を提供するのです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?