CQRS rozdziela odczyty (query) od zapisów (command), często z różnymi modelami zoptymalizowanymi pod każde z nich. Pomaga, gdy potrzeby read i write mocno się różnią, ale dokłada złożoność.