But since, rebuilding the state from the history is expensive. We have some kind of "projection" that keep the current state

  • If we use the same database we can use Materialized Views
    • Or if we use separate database, we need some kind of service to keep the sync between the events/history to the "projection"
      • Hence this pattern is related to