I want to create read models of the current state of aggregates from their event streams, for storing in different databases (eg graph and document).
I can do this in a couple of ways:
- Use an Eventstore projection to store current state and subscribe to that projection in the client
- Subscribe to individual events using the client API (or atom feeds) and run the projection in the client (I know there are various optimizations for this approach, eg bulk processing)
Is one way better than the other? If not, what are the trade offs?