커맨드 쿼리 분리

(CQRS에서 넘어옴)

1 개요[ | ]

command-query separation (CQS), command-query responsibility segregation (CQRS)
커맨드 쿼리 분리, 커맨드 쿼리 책임 분리
  • 명령과 쿼리의 역할구분
  • 전통적 MVC에서는 하나의 모델이 DB 조회·갱신을 모두 담당했으나...
  • CQRS에서는 DB조회를 담당하는 쿼리 모델, DB갱신을 담당하는 커맨드 모델로 분리한다.
  • 상태조회 쿼리(query), 상태변경 명령(command) 모델로 분리하는 패턴
  • 그에 따라 UI측 서비스 인터페이스도 분리된다.

Martinfowler-cqrs.png

Dynimg-IC702503.png

Dynimg-IC702504.png

2 장단점[ | ]

장점 단점
  • 변경과 조회 로직이 분리되어 각각의 복잡도가 낮아진다.
  • 조회 성능이 향상된다.
  • 변경과 조회를 따로 구현하므로 코드가 더 많아진다.
  • 조회 트래픽이 크지 않다면 딱히 필요없다.

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}