# CQRS
# Descrição do Padrão
O padrão será apresentado em duas etapas: O Problema no qual seu uso faz sentido, e A Solução que o padrão propõe para o resolver.
# O Problema
Em um sistema distribuído, em particular com a gestão de dados descentralizada, existe uma dificuldade em consultar dados provenientes de diversas partes. Paralelamente a isso, as taxas de leitura e escrita de um tipo de dado podem demandar soluções distintas, em termos de performance e estruturas de dados.
# A Solução
Crie um serviço dedicado à operação de consulta. Este serviço deve acompanhar as alterações feitas em outras partes do sistema para a manutenção da consistência.
# Análise de Trade-offs
➕ é possível adotar estruturas de dados diferentes otimizadas para as operações de inserção e consulta de dados
➖ é necessário fazer replicação de dados
➕ permite independência de escalabilidade entre inserção e consulta
➖ implica em consistência eventual de dados para aqueles subconjunto do domínio
➕ melhora a performance de consultas que envolvem diferentes partes do sistema