๊ด๊ณํ ๋์ํ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์กฐ์ ๋ฐ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ ์ผ๋ จ์ ์ํ์ ์ฐ์ฐ ๋ฐ ์๋ฆฌ๋ก, ์ฃผ๋ก ๋ฐ์ดํฐ์ ํจ์จ์ ์ธ ์ฟผ๋ฆฌ, ๊ด๋ฆฌ ๋ฐ ๊ฒ์์ ์ฌ์ฉ๋ฉ๋๋ค. 1970๋ Edgar F. Codd ๋ฐ์ฌ๊ฐ ์ค๋ฆฝํ ๊ด๊ณํ ๋์ํ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฃผ์ ์ธ์ด์ธ SQL(Structured Query Language)์ ์ด๋ก ์ ๊ธฐ๋ฐ ์ญํ ์ ํฉ๋๋ค. ๊ด๊ณํ ๋์์ ์ฃผ์ ๋ชฉํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์ ์ฟผ๋ฆฌ ์คํ, ๋ฐ์ดํฐ ๊ฒ์ ๋ฐ ์กฐ์์ ์ํ ๊ณต์์ ์ด๊ณ ์ผ๊ด๋ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
๊ด๊ณ ๋์ํ์ ์ ์ฐจ์ (ํํ) ๊ด๊ณํ ๊ณ์ฐ๊ณผ ์ ์ธ์ (๋๋ฉ์ธ) ๊ด๊ณํ ๊ณ์ฐ์ด๋ผ๋ ๋ ๊ฐ์ง ์ฃผ์ ๋ฒ์ฃผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํํ ๊ด๊ณํ ๋ฏธ์ ๋ถํ์ด๋ผ๊ณ ๋ ์๋ ค์ง ์ ์ฐจ์ ๊ด๊ณํ ๋ฏธ์ ๋ถํ์ ์คํ ํ๋ก์ธ์ค์ ์ด์ ์ ๋ง์ถฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ๋จ๊ณ๋ณ ์ ์ฐจ๋ฅผ ํฌํจํฉ๋๋ค. ๋ฐ๋ฉด, ๋๋ฉ์ธ ๊ด๊ณ ๊ณ์ฐ์ด๋ผ๊ณ ๋ ์๋ ค์ง ์ ์ธ์ ๊ด๊ณ ๊ณ์ฐ์ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ ๋จ๊ณ๋ฅผ ์ง์ ํ์ง ์๊ณ ํ์ํ ์ ๋ณด์ ์ค์ ์ ๋ก๋๋ค. ๋ ์ ๊ทผ ๋ฐฉ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๋ด์์ ํน์ ๊ตฌํ๋ณด๋ค๋ ์ฟผ๋ฆฌ์ ์ํ์ ๊ธฐ์ด๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ๊ด๊ณํ ๋์ํ์ SELECT, PROJECT, UNION, SET DIFFERENCE, CARTESIAN PRODUCT, RENAME, JOIN ๋ฐ DIVIDE ๋ฑ์ ํฌํจํ ์ฌ๋ฌ ๊ธฐ๋ณธ ์ฐ์ฐ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ณ ์กฐ์ํ ์ ์์ต๋๋ค. ํนํ, ์ด๋ฌํ ์ฐ์ฐ์๋ฅผ ๊ฒฐํฉํ์ฌ ๋ณด๋ค ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ํ์ฑํ ์ ์์ผ๋ฏ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ์ ๋์ ์์ค์ ํํ๋ ฅ๊ณผ ์ ์ฐ์ฑ์ด ๊ฐ๋ฅํด์ง๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์ง๋ ๋ฌ์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฒ์ํ๋ ค๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์ญ์์ค. ๊ด๊ณํ ๋์ํ์ ์ฌ์ฉํ๋ฉด ์ฟผ๋ฆฌ๋ ๊ด๋ จ ๊ณ ๊ฐ ๋ฐ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์์ธกํ๊ณ ๊ณ ๊ฐ๊ณผ ์ฃผ๋ฌธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๊ธฐ ์ํ ์กฐ์ธ ์์ ์ ํฌํจํ๋ ์ฌ๋ฌ ํ์ ์ฟผ๋ฆฌ๋ก ๋๋ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ SELECT ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ์๊ฐ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๊ธฐ๋ณธ์ ์ธ ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ์กฐํฉ์ ํตํด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฒฐํ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ถ์ถํ ์ ์์ต๋๋ค.
๊ด๊ณ ๋์ํ์ RDBMS ๋ด์์ SQL ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๊ณ ์คํํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ฟผ๋ฆฌ ์ต์ ํ ํ๋ก๊ทธ๋จ์ ๊ด๊ณํ ๋์ํ์ ์๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ฟผ๋ฆฌ ์คํ ๊ณํ์ ํ์ํ๊ณ RDBMS์ ๋น์ฉ ๋ชจ๋ธ์ ๋ฐ๋ผ ๊ฐ์ฅ ํจ์จ์ ์ธ ๊ณํ์ ์ ํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ผ์ ๊ด๊ณํ ๋์ํ์ ๋ํ ๊น์ ์ดํด๋ ๊ฐ๋ฐ์๊ฐ ํจ์จ์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์ฉํ์ฌ ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ ํ์ฅ ๊ฐ๋ฅํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
AppMaster ์ no-code ํ๋ซํผ์ ํตํด ์ฌ์ฉ์๋ ์๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋๊ตฌ์ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํํ ํตํฉ์ ์ฌ์ฉํ์ฌ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ด๊ณํ ๋์ ๋๋ SQL์ ๋ํ ๊ด๋ฒ์ํ ์ง์์ด ์์ด๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ณ ํจ์จ์ ์ผ๋ก ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐ ์ฟผ๋ฆฌ ์ต์ ํ์ ๋ชจ๋ฒ ์ฌ๋ก์ ์ ๊ณ ํ์ค์ ์ค์ํจ์ผ๋ก์จ AppMaster ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋๋ฉฐ ์ค์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๋ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ณ ๊ฐ ๊ฒฝํ์ ๋์ฑ ํฅ์์ํค๊ธฐ ์ํด AppMaster ๋น์ฆ๋์ค ํ๋ก์ธ์ค ๋ชจ๋ธ๋ง, REST API ๋ฐ WSS ์๋ํฌ์ธํธ ํตํฉ, Docker ์ปจํ ์ด๋ํ ๋ฑ์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ํ AppMaster ์๋ฒ endpoints ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ์ ๋ํ ์๋ ์์ฑ๋ Swagger(OpenAPI) ๋ฌธ์๋ฅผ ํฌํจํ์ฌ ๊ด๋ฒ์ํ ๋ฌธ์๋ฅผ ์ ๊ณตํ์ฌ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ณผ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํํ ๊ด๋ฆฌ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๊ด๊ณ ๋์ํ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ก ์ ๊ธฐ์ด์ผ ๋ฟ๋ง ์๋๋ผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๋ด์์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ์ฟผ๋ฆฌ ์คํ์ ์ค์ถ์ ๋๋ค. ๊ด๊ณํ ๋์ํ์ ์๋ฆฌ๋ฅผ ํ์ฉํจ์ผ๋ก์จ AppMaster ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ๋ค์ฌ๋ค๋ฅํ no-code ํ๋ซํผ์ ์ ๊ณตํ์ฌ ๊ธฐ์ ์ด ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ํ์ฉํ ์ ์๋๋ก ์ง์ํ๊ณ ์ฅ๊ธฐ์ ์ธ ์ํํธ์จ์ด ์์ ์ฑ๊ณผ ์ ์์ฑ์ ๋ณด์ฅํฉ๋๋ค.