Episode 8 – When to Avoid CQRS
A few months ago Udi Dahan posted on his blog about when to avoid CQRS. It was a very interesting post that caused a lot of uproar and drew out some very strong feelings from the various adherents to the CQRS pattern.
In our typical style, we have decided to stir the pot further now that things have settled down some. In this episode we go through Udi’s post and talk about the various points he raises as part of his post.
MP3 Download: Distributed Podcast, Episode 8
Notes from the podcast:
- When to Avoid CQRS
- Fowler’s First Law of Distributed Object Design: “Don’t distribute your objects.“, PoEAA, page 89.
- Most Legally Encumbered Hello World



I think the trouble with event sourcing and rebuilding your cache is that ALL the data has to be built from events.
In the systems I have worked on we tend to have a at least half components using CRUD, collaborating with each other using events that act as signals to trigger behavior in each other.
This means that we cannot fully rebuild the read data using events, and it would take a lot of development effort to get there.
“Aggregate roots, receive commands and publish events
Sagas can be treated as glue between AR.
Saga typically Acts on events, sends out commands
A Saga can occasionally also receive a command to do something, for example, kill the process”
In this model, are you saying, sagas don’t typically publish an event?
How do I tie in monitoring into this?
In a business workflow, if I want to know the exact step of where the process is at, how do you accomplish that if the saga doesn’t publish a status? I would love to know where monitoring fits in, along with auditing.
Great podcast guys, best one yet!
You guys should do a screen-cast on just Event Sourcing to provide to more details on storing events, rebuilding the view cache and doing snap shots. I know there are blogs providing some general details but since you guys are experts in the field it would been extremely helpful for those of use just learning. Just in general having screen-cast demonstrating various techniques, methodologies, technologies and patterns, like DNRTV for Dot Net Rock. would be great.
Keep up the good work.
Heard that last two episodes now and I think this is possibly the highest quality podcast I listen to. Really enjoy it. It’s good that there are a few of you and you don’t always agree.
Hopefully udi will step up after you called him out and it will all get a bit WWE.
Episode 9 was recently published and Udi responds to some of our arguments.