CQRS의 필요성시스템이 제공하는 기능은 크게 두가지로 나눌 수 있다.상태를 변경하는 기능ex. 배송지 변경, 새로운 주문 생성주로 여러개의 애그리거트가 필요상태 정보를 조회하는 기능ex. 주문 내역 보기, 게시글 보기 등주로 한 애그리거트를 변경→ 상태를 변경하는 범위와 상태를 조회하는 범위가 정확하게 일치하지 않기 때문에 단일 모델로 두 종류의 기능을 구현하면 모델이 불필요하게 복잡해진다. CQRS 패턴단일 모델을 사용할 때 발생하는 복잡도를 해결하기 위해 사용하는 방법이 CQRS(Command Query Responsibility Segregation)이다.명령측(Command)은 create, update, delete 요청을 처리한다.쿼리(Query) 측에서는 읽기 전용 복제본을 사용하여 que..