Introduction Slides
Introduction Slides
INTRODUCTION
Vladimir Khorikov
@vkhorikov www.enterprisecraftsmanship.com
CQRS
Sync
strategies?
CQRS
Separate
DDD
databases?
Event
sourcing?
CQRS
Introduction
Introducing a sample project
Segregating Commands and Queries
Reads
Writes
CQRS and Its Origins
https://cqrs.files.wordpress.com/2010/11/cqrs_documents.p
df
CQS
Command Query
Produces side-
Side-effect free
effects
CQRS
Models,
classes
Methods CQS
CQRS and CQS
CQS CQRS
Scalability
Create
Update Read
Delete
1 server 10 servers
Why CQRS?
Scalability
Performance
Why CQRS?
Write
API model
Client Create
Read
API
model
Database
Server
Cache Highly optimized
SQL queries
Why CQRS?
Scalability
Performance
Simplicity
Why CQRS?
Commands Queries
Offloading complexity
ORM for
writing
ADO.NET
for reading
CQRS
CQRS in the Real World
CQRS
Command Query Responsibility Segregation
(CQRS) originates from the Command Query
Separation Principle (CQS)
- CQRS extends CQS to the architectural
level
Summary - Split a unified domain model into two: for
commands and for queries