Command Query Responsibility Segregation: writes go to one model, reads come from separate models projected and optimised for queries.