Episode 218: Udi Dahan on CQRS (Command Query Responsibility Segregation)

Filed in Episodes by on January 30, 2015 3 Comments
Udi Dahan

Udi Dahan

Guest Udi Dahan talks with host Robert Blumen about the CQRS (command query responsibility segregation) architectural pattern. The discussion begins with a review of the command pattern. Then a high-level overview of CQRS, which consists of a separation of a command processing subsystem that updates a write model from one or more distinct and separate, eventually consistent read models. Udi gives some insights into the relationship between CQRS and DDD (domain driven design) and the importance of involving a domain expert in the breakdown of a system into user-driven tasks, which become the basis for the commands. They then explore possibility of multiple read models, residing in different data stores, each one designed around the needs of different application views. They move into an exploration of the middleware technologies required to support the movement of updates between the write model and read models, including issues of concurrency, sequencing, and how much work can be done by the framework. Event sourcing, another pattern closely associated with CQRS is introduced, followed by a discussion about connections between event sourcing and CQRS. The host gets slightly confused on the boundaries between the two patterns, and Udi clarifies the distinction. They wrap up with some thoughts about why CQRS has received more attention in the Microsoft enterprise community than the Linux world, and Udi gives a detailed breakdown of where to learn about CQRS on the Web.

Venue: Internet

Related Links


Tags: , , , , , ,