CQRS, or Command Query Responsibility Segregation, is a relatively recent paradigm in software design that emphasizes separating read- vs. write-oriented operations. In other words, with CQRS, the system is designed so that commands and queries are kept separate from one another. This can help to improve the performance and scalability of an application by ensuring that resources are dedicated appropriately. The underlying theory behind this approach is that commands and queries require different features and functionalities, so it makes sense to have them handled by separate parts of the system. Overall, CQRS is a powerful tool for handling large-scale applications and complex systems.