CQRS(Command Query Responsibility Segregation)๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ๋ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ฑ ์, ์ฆ ๋ช ๋ น ์์ (๋ณํ)๊ณผ ์ฟผ๋ฆฌ ์์ (์ฝ๊ธฐ ์ ์ฉ)์ ๋ถ๋ฆฌ๋ฅผ ๊ฐ์กฐํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ํจํด์ ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์ธก๋ฉด์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋๊ท๋ชจ ์์คํ ์ ๋ณต์ก์ฑ๊ณผ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค. CQRS๋ ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ์์ (๋ช ๋ น)์ ์ํํ๊ฑฐ๋ ๋ฐ์ดํฐ(์ฟผ๋ฆฌ)๋ฅผ ๋ฐํํด์ผ ํ์ง๋ง ๋ ๋ค ์ํํด์๋ ์ ๋๋ค๋ CQS(๋ช ๋ น-์ฟผ๋ฆฌ ๋ถ๋ฆฌ) ์์น์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. CQRS๋ฅผ ๊ตฌํํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅ๋๊ณ , ์ต์ ์ ์ฑ๋ฅ์ ์ ์งํ๋ฉฐ, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ค๋ฅ ๋ฐ ๋ถ์ผ์น ์ํ์ ์ค์ผ ์ ์์ต๋๋ค.
CQRS ํจํด์ ์ ์ฉํ๋ฉด ํนํ ๋์ ํธ๋์ญ์ ์๋, ๋๋์ ๋ฐ์ดํฐ ๋ฐ ๋์ ์ฌ์ฉ์๊ฐ ์๋ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๊ธฐํ๋ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ง์ ์ด์ ์ด ์์ต๋๋ค. ๋ช ๋ น๊ณผ ์ฟผ๋ฆฌ ์ฑ ์์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์์คํ ์ ๊ฐ ๊ธฐ๋ฅ์ ๊ณ ์ ํ ํน์ฑ์ ํ์ฉํ์ฌ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ ์ ์ต์ ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฝ๊ธฐ๊ฐ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ๊ธฐ ์ธก๋ฉด์ ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ฟผ๋ฆฌ ์ธก๋ฉด์ ํ์ฅํ ์ ์์ต๋๋ค. ๋ํ ์ด๋ฌํ ๋ถ๋ฆฌ๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ก์ฑ์ด ์ค์ด๋ค์ด ๊ฐ๋ฐ์๋ ํ ๋ฒ์ ์์คํ ์ ํ ์ธก๋ฉด์ ์ง์คํ ์ ์์ต๋๋ค. ๋ํ, ๋ชจ๋์์ด๋ฉฐ ๋ณด๋ค ๋ช ํํ ๋์์ธ์ ์ด์งํ์ฌ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ํฅ์์ํต๋๋ค.
CQRS ํจํด์ ๋ช ๋ น ๋ชจ๋ธ๊ณผ ์ฟผ๋ฆฌ ๋ชจ๋ธ์ด๋ผ๋ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ฅผ ๋์ ํฉ๋๋ค. ๋ช ๋ น ๋ชจ๋ธ์ ๋ฐ์ดํฐ ์์ฑ, ์ ๋ฐ์ดํธ, ์ญ์ ๋ฑ ์์คํ ์ ๋ชจ๋ ๋ณํ์ ์ฒ๋ฆฌํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ๋ฐ๋ฉด์ ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ๋ชจ๋ ์ฝ๊ธฐ ์์ ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฌํ ๋ถ๋ฆฌ๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ ์ธก๋ฉด์ ๋ํด ๋ค์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ, ์คํ ๋ฆฌ์ง ๊ธฐ์ , ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊น์ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์คํ ์ ๋ช ๋ น ๋ชจ๋ธ์ ๋ํ ์ด๋ฒคํธ ์์ค ์ํคํ ์ฒ๋ฅผ ์ ํํ์ฌ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฒคํธ ์คํธ๋ฆผ์ผ๋ก ์บก์ฒํ ์ ์๋ ๋ฐ๋ฉด, ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ฒ์์ ์ํด ์ ์ ์๋ ์คํค๋ง๊ฐ ์๋ ๊ธฐ์กด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
CQRS ํจํด์ ๋ ๋ค๋ฅธ ์ฃผ์ ์ธก๋ฉด์ ๋ช ๋ น ๋ชจ๋ธ๊ณผ ์ฟผ๋ฆฌ ๋ชจ๋ธ ๊ฐ์ ๋๊ธฐํ์ ๋๋ค. ๋ช ๋ น ๋ชจ๋ธ์์ ์์ฑ๋ ์ด๋ฒคํธ๋ ๋ฉ์์ง ๋๋ ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ๊ณผ ๊ฐ์ ์ด๋ฒคํธ ์ค์ฌ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ์ ํ๋ ์ ์์ผ๋ฏ๋ก ์์ธก ๊ฐ์ ์ต์ข ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค. ์ด ๋น๋๊ธฐ์ ํต์ ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์์ผ๋ฉฐ ๋ฌธ์ ๋ฐ์ ์ ์ด๋ฒคํธ๋ฅผ ์ฌ์๋ํ๊ฑฐ๋ ์ฌ์ํ ์ ์์ผ๋ฏ๋ก ์ฅ์ ๋ ๊ฐ๋ ์ค์ง ์๊ฐ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋ณต์๋ ฅ์ด ํฅ์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ฐ์๋ ์ถฉ๋ ์ฒ๋ฆฌ, ์ค๋ณต, ์ด๋ฒคํธ ์์ ์ง์ ๋ฑ ์ต์ข ์ผ๊ด์ฑ์ ๋ด์ฌ๋ ์ฅ๋จ์ ๊ณผ ๋ฌธ์ ๋ฅผ ์ผ๋์ ๋์ด์ผ ํฉ๋๋ค.
CQRS ํจํด์ ๊ตฌํํ๋ฉด ๋ณต์ก์ฑ๊ณผ ์ค๋ฒํค๋ ์ธก๋ฉด์์ ๋น์ฉ์ด ๋ฐ์ํ๋ฏ๋ก ํน์ ํ๋ก์ ํธ์ ๋ํ ์ ํฉ์ฑ์ ์ ์คํ๊ฒ ํ๊ฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. CQRS๋ ๋์ ํ์ฅ์ฑ ์๊ตฌ ์ฌํญ๊ณผ ๋ณต์กํ ๋น์ฆ๋์ค ๊ท์น์ด ์๋ ๋๊ท๋ชจ ๋ถ์ฐ ์์คํ ์ ์ ์ฉํ ์ ์์ง๋ง ๋จ์ํ ๋ฐ์ดํฐ ์ก์ธ์ค ํจํด์ ์ฌ์ฉํ๋ ์๊ท๋ชจ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๋ถํ์ํ ์ค๋ฒํค๋์ ๋ณต์ก์ฑ์ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ ํธ์ CQRS๋ฅผ ์ฑํํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ๋ ๋์ ์ฌ์ฉ์ ์, ๋ฐ์ดํฐ ์์ ๋น๋ ๋ฐ ์ฑ๊ฒฉ, ๋น์ฆ๋์ค ๊ท์น์ ๋ณต์ก์ฑ, ๋ฐ์ดํฐ์ ๋ํ ๋ค์ํ ๊ด์ ์ ํ์์ฑ ๋ฑ์ ์์๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
AppMaster ํ๋ซํผ์ ๋งฅ๋ฝ์์ CQRS ํจํด์ ์ฑํํ๋ฉด ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋์ ์์ค์ ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ์ ์ฌ์ ์ผ๋ก ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ค์ํ ์ํคํ ์ฒ ํจํด, ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ ์คํ ๋ฆฌ์ง ๊ธฐ์ ์ ์ง์ํ๋ AppMaster ์ ํฌ๊ด์ ์ธ no-code ํ๊ฒฝ์ ํตํด ๊ณ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ CQRS๋ฅผ ์ํํ๊ฒ ๊ตฌํํ๊ณ ์ฌ์ฉ ์ฌ๋ก์ ๊ณ ์ ํ ์๊ตฌ ์ฌํญ ๋ฐ ์ ์ฝ ์กฐ๊ฑด์ ๋ง๊ฒ ์๋ฃจ์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค. ๋ํ AppMaster ์ฒ์๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ฏ๋ก ๊ฒฐ๊ณผ ์ฝ๋๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๊ณ ๊ธฐ์ ์ ๋ถ์ฑ๊ฐ ์์ด CQRS ํจํด์ ์ด์ ์ด ์ต๋ํ ์คํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก CQRS(Command Query Responsibility Segregation)๋ ์ฃผ๋ก ๋ณต์กํ ๋น์ฆ๋์ค ๊ท์น, ๋์ ํธ๋์ญ์ ์๋ ๋ฐ ๋์ฉ๋ ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ์ฒ๋ฆฌํ ๋ ์ต์ ์ํํธ์จ์ด ์์คํ ์ ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฐ ์ ์ง ๊ด๋ฆฌ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ ์ํคํ ์ฒ ํจํด์ ๋๋ค. ๋ช ๋ น๊ณผ ์ฟผ๋ฆฌ ์ฑ ์์ ๋ถ๋ฆฌํ๊ณ , ๊ฐ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์คํ ๋ฆฌ์ง๋ฅผ ์ต์ ํํ๊ณ , ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํต์ ์ ์ฌ์ฉํ์ฌ ๋๊ธฐํํ๋ ์์น์ AppMaster ํ๋ซํผ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๊ณผ ๋ฐ์ ํ๊ฒ ์ฐ๊ด๋์ด ์์ต๋๋ค. CQRS๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฌ์ฉ ์ฌ๋ก์ ๊ณผ์ ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋์์ AppMaster ์ no-code ๋๊ตฌ ๋ฐ ํ๊ฒฝ, ์๋ ์ฝ๋ ์์ฑ ๋ฐ ๊ธฐ์ ๋ถ์ฑ ๋ถ์กฑ์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.