Creating scalable applications has a number of complex variables and one of them is to work with scalability and performance in the database layer. Command Query Responsibility Segregation (CQRS) is a design pattern that helps produce more performance and resilience in applications where data access is intense. In this talk, we will understand when to use and the problems that CQRS solves. We will also apply CQRS in a Python application using the Nameko framework.
The outline talk is: ○ (4 minutes) - Present a real problem of a web application, when creating new instances is not a solution, because the database receives an overwrite of writing and unfeasible to read the data, collapsing the application. ○ (6 minutes) - Present the CQRS pattern conceptually and how this design pattern solves this type of problem using the structure of Command Stack and Query Stack ○ (3 minutes) - Show Nameko as an interesting tool to apply the CQRS. It will demonstrate the use of HTTP, RPC and the possibility of applying pub/sub. ○ (6 minutes) - Create (live code) the Command Stack layer using Nameko on a Postgresql database. ○ (5 minutes) - Create (live code) the Query Stack layer using Nameko over a MongoDB database. ○ (3 minutes) - Explain common myths and mistakes about CQRS (3 minutes) - Q & A Session