mcpField
P
projection-patterns

projection-patterns

github.com/wshobson開発41.9k10.7k 回インストール2 週間前に更新
リポジトリ

projection-patterns について

イベントソーシングシステムのプロジェクションと読み取りモデルの設計ガイドです。CQRS やマテリアライズドビューを実装する開発者向けに、方式の種類、冪等性、チェックポイント、再構築を扱います。

主な機能

  1. 01プロジェクションアーキテクチャのパターン
  2. 02ライブ、キャッチアップ、永続、インライン方式
  3. 03冪等性とトランザクションの指針
  4. 04チェックポイントと遅延の監視
  5. 05読み取りモデルの再構築計画

活用シーン

  1. 01CQRS 読み取りモデルの構築
  2. 02イベントからのマテリアライズドビュー作成
  3. 03イベントストリームからの検索インデックス生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wshobson/agents --skill projection-patterns

インストール後、Claude Code で/projection-patternsを入力して読み込まれたか確認します。

同梱ファイルreferences/details.md

詳細

プロジェクションパターン

イベントソーシングシステム向けのプロジェクションとリードモデルを構築するための包括的なガイドです。

このスキルを使用する場面

  • CQRS のリードモデルを構築する
  • イベントからマテリアライズドビューを作成する
  • クエリのパフォーマンスを最適化する
  • リアルタイムダッシュボードを実装する
  • イベントから検索インデックスを構築する
  • 複数のストリームにまたがるデータを集約する

中核となる概念

1. プロジェクションのアーキテクチャ
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Event Store │────►│ Projector   │────►│ Read Model  │
│             │     │             │     │ (Database)  │
│ ┌─────────┐ │     │ ┌─────────┐ │     │ ┌─────────┐ │
│ │ Events  │ │     │ │ Handler │ │     │ │ Tables  │ │
│ └─────────┘ │     │ │ Logic   │ │     │ │ Views   │ │
│             │     │ └─────────┘ │     │ │ Cache   │ │
└─────────────┘     └─────────────┘     └─────────────┘
2. プロジェクションの種類
種類説明ユースケース
ライブサブスクリプションからのリアルタイム処理現在の状態のクエリ
キャッチアップ過去のイベントを処理リードモデルの再構築
永続チェックポイントを保存再起動後の再開
インライン書き込みと同じトランザクション強整合性

テンプレートと詳細な実例

テンプレートライブラリの完全版と詳細な実例は references/details.md にあります。具体的なテンプレートが必要な場合は、そのファイルを参照してください。

ベストプラクティス

推奨事項
  • プロジェクションを冪等にする - 安全に再生できます
  • トランザクションを使用する - 複数テーブルの更新に
  • チェックポイントを保存する - 障害後の再開に
  • 遅延を監視する - プロジェクションの遅延に対してアラートを出す
  • 再構築を計画する - 再構築を前提に設計する
非推奨事項
  • プロジェクションを結合しない - それぞれが独立しています
  • エラー処理を省略しない - 障害をログに記録してアラートを出す
  • 順序を無視しない - イベントは順序どおりに処理する必要があります
  • 過度に正規化しない - クエリパターンに合わせて非正規化する

コメント