Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RailsでCQRS/ESをやってみたきづき

 RailsでCQRS/ESをやってみたきづき

このスライドでは、RailsでCQRS/ESを実装する際のポイントやメリットについて解説しています。

イベントソーシングを導入することで、システムの状態変化を履歴として記録し、過去の状態を正確に再現できるようになります。これにより、バグの原因特定やデータの復元が容易になります。

また、CQRSを組み合わせることで、データの書き込み(コマンド)と読み取り(クエリ)を分離し、スケールしやすく、保守性の高い設計を実現できます。

実装の具体例として、「Rails Event Store」を活用する方法が紹介されています。ただし、いきなりライブラリを使うのではなく、まずはシンプルな同期処理のスクリプトを作成し、基本的な流れを理解することが推奨されています。

さらに、イベント登録とクエリの更新を同じトランザクションで行わないことや、ActiveSupport::Notificationsを活用した同期的なPub/Subの実装方法についても解説されています。

suzuki masayuki

March 15, 2025
Tweet

More Decks by suzuki masayuki

Other Decks in Programming

Transcript

  1. EventStoreはActiveRecordで問題ない PostgreSQL や MySQL の JSON カラムを活用すれ ば、イベントデータを柔軟に格納できるため、普段 使い慣れている ActiveRecord

    で実装できる 一方で、MongoDB など普段使い慣れていないデー タベースを導入すると、新しい手法を学びながら、 さらに別の新しい技術にも適応する必要があり、挫 折しやすくなる