CQRS Command Query Responsibility Segregation 의 약자로 명령과 쿼리의 책임을 분리하라는 의미를 가지고 있다. 예를 들어, 영화를 예매 하거나 예매를 취소하는 것은 Command(명령)이고 영화 예매 내역을 조회하는 것은 Query(조회)이다. 이를 분리하는 이유는 변경시점의 차이, 요구하는 성능의 차이 때문이다. 두 작업이 분리되지 않으면 명령처리를 한 후 데이터를 조회해서 보여줘야할 때, 즉시 데이터를 조회한다.이는 데이터베이스에서 동시에 읽기와 쓰기가 발생하게 되면서 명령 처리로 인한 데이터 베이스의 락(lock) 이나 트랙잭션 처리로 인해 조회 성능이 저하될 수 있다. 또한, 이렇게 동기화된 상태에서 조회를 처리하면 각각의 요구 사항에 맞는 최적화 모델을 사용할..