--- id: cqrs title: "CQRS" category: "Architecture" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["CQRS", "Command Query Responsibility Segregation", "명령 조회 책임 분리"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.80 created_at: 2026-07-11 updated_at: 2026-07-11 review_reason: "깨진 링크 다발 해소용 AI 생성 초안 — 원출처 리서치로 검증·보강 권장" merge_history: [] tags: ["architecture","pattern"] raw_sources: [] applied_in: [] github_commit: "" --- # [[CQRS]] ## 🎯 한 줄 통찰 (One-line insight) 쓰기(Command)와 읽기(Query)의 모델을 분리하는 패턴 — 변경과 조회는 요구사항이 근본적으로 달라서, 하나의 모델로 둘 다 잘하기 어렵다는 통찰에서 출발한다. ## 🧠 핵심 개념 (Core concepts) - **명령 모델** — 비즈니스 규칙·일관성 검증에 최적화. 도메인 모델이 여기 산다. - **조회 모델** — 화면·리포트에 맞춘 비정규화 구조. 빠른 읽기가 목적이며 규칙 검증이 없다. - **동기화** — 쓰기 측 변경을 이벤트 등으로 읽기 모델에 반영한다. 이때 최종 일관성(eventual consistency)을 수용해야 한다. - **적용 판단** — 읽기/쓰기 부하나 복잡도가 크게 비대칭일 때 가치가 있다. 단순 CRUD에 적용하면 복잡도만 산다. ## 🧩 추출된 패턴 (Extracted patterns) - CQRS 는 전체 시스템이 아니라 "필요한 경계 컨텍스트 안에서만" 적용하는 것이 정석 — 전면 도입은 대표적 과잉 설계다. ## 🔗 Knowledge Connections - **Related Topics:** [[Software Architecture]] · [[ADR]]