The Command Query Responsibility Segregation (CQRS) pattern is a software design pattern that separates the responsibilities of handling commands that change the state of the system from the responsibilities of handling queries that retrieves the state of the system, by using different models and data storage for read and write operations, in order to improve scalability, performance, and simplify the complexity of the system.