A design pattern that deliberately separates the paths for updating data (commands) from reading data (queries).
Short for Command Query Responsibility Segregation. By allowing the update side and the read side to each have their own optimized data model, it becomes easier to satisfy both complex search requirements and high-frequency updates within the same system. It's often used together with event sourcing.
© 2026 ITBGM