๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…์ŠคํŠธ์—์„œ ์Šค๋ƒ…์ƒท์€ ๋ณด๊ณ , ๋ถ„์„ ๋˜๋Š” ๋ฐฑ์—… ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ผ๋ถ€์˜ ํŠน์ • ์‹œ์ , ์ฝ๊ธฐ ์ „์šฉ ๋ฐ ์ •์  ๋ณด๊ธฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ์š”์ฒญ ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์—์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ, ๋™์‹œ ์•ก์„ธ์Šค ๋ฐ ๊ฒฉ๋ฆฌ๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ํŠน์ • ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜๋Š” ๋ฐ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์†์‹ค ๋˜๋Š” ์†์ƒ ์œ„ํ—˜์„ ์ค„์ด๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Œ€์‹  ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ ๊ณ ๊ฐ€์šฉ์„ฑ, ์žฌํ•ด ๋ณต๊ตฌ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด, ์ฆ๋ถ„ ๋ฐ ์ฐจ๋“ฑ ๋ฐฑ์—… ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS)์—์„œ ์ œ๊ณตํ•˜๋Š” ํŠน์ˆ˜ ๋„๊ตฌ ๋ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šค๋ƒ…์ƒท์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ  ์„ ํƒ์€ ์Šคํ† ๋ฆฌ์ง€ ์š”๊ตฌ ์‚ฌํ•ญ, ์„ฑ๋Šฅ ์˜ํ–ฅ, ๋นˆ๋„, ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ๋ฐ ๋ณต์› ํ”„๋กœ์„ธ์Šค์˜ ๋ณต์žก์„ฑ๊ณผ ๊ฐ™์€ ์š”์†Œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ ๊ธฐ์กด์˜ ๋ฐฑ์—…์„ ๋Œ€์ฒดํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์›๋ž˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์Šคํ† ๋ฆฌ์ง€ ์š”์†Œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ก ๋˜๋Š” ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์ผ๊ด€๋œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฐฑ์—… ์ „๋žต์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster no-code ํ”Œ๋žซํผ์—์„œ ์Šค๋ƒ…์ƒท์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ „์ฒด์—์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. AppMaster ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ ๋ฐ Swagger(OpenAPI) ๋ฌธ์„œ์˜ ์ž๋™ ์ƒ์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ, API endpoints ๋ฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ผ๊ด€๋˜๊ณ  ์•ˆ์ •์ ์ธ ํ‘œํ˜„์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ฌธ์ œ์˜ ์œ„ํ—˜์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์˜ ์ด์ „ ๋˜๋Š” ๋ฏธ๋ž˜ ์ƒํƒœ๋กœ ์‹ ์†ํ•˜๊ฒŒ ๋กค๋ฐฑ ๋˜๋Š” ํฌ์›Œ๋“œํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋”์šฑ ๊ฐ€์†ํ™”ํ•˜๊ณ  ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ AppMaster ๋‹ค์–‘ํ•œ ์Šค๋ƒ…์ƒท ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ ๋ฐ ๋™์‹œ ์•ก์„ธ์Šค ์ „๋žต์„ ์ง€์›ํ•˜๋Š” PostgreSQL ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฐ ๊ณ ๊ฐ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๊ณ ์„ฑ๋Šฅ ๋ฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PostgreSQL์˜ MVCC(Multi-Version Concurrency Control) ๊ตฌํ˜„์€ ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€ ์Šค๋ƒ…์ƒท ๊ฒฉ๋ฆฌ ๋•๋ถ„์— ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ์ถฉ๋Œ์ด๋‚˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์—†์ด ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ๊ธ‰ DBMS์— ์˜์กดํ•จ์œผ๋กœ์จ AppMaster ๊ณ ๊ฐ์ด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์š”๊ตฌ ์‚ฌํ•ญ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๊ตํ•˜๊ณ  ๊ณ ์„ฑ๋Šฅ์ด๋ฉฐ ํƒ„๋ ฅ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ„์ธต์—์„œ ์Šค๋ƒ…์ƒท์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ƒํƒœ ๋น„์ €์žฅ์œผ๋กœ ์„ค๊ณ„ํ•˜์—ฌ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์„œ๋น„์Šค๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•˜๊ณ  ๊ฐ€์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค๊ณ„ ์„ ํƒ์„ ํ†ตํ•ด AppMaster์—์„œ ์ƒ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์Šค๋ƒ…์ƒท ๋ฐ ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€ ๊ธฐ๋Šฅ์„ ๋ณด๋‹ค ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ๋ถˆ์ผ์น˜ ๋˜๋Š” ๋™๊ธฐํ™” ๋ฌธ์ œ์˜ ์œ„ํ—˜์„ ์ค„์ด๊ณ  ๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ ๋ฏผ์ฒฉํ•œ ๊ฐœ๋ฐœ ์—์ฝ”์‹œ์Šคํ…œ์„ ์ด‰์ง„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ AppMaster ํ”Œ๋žซํผ์€ CI/CD(์ง€์†์ ์ธ ํ†ตํ•ฉ/์ง€์†์ ์ธ ๋ฐฐํฌ) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž ์š”๊ตฌ ์‚ฌํ•ญ์ด๋‚˜ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋ณ€ํ™”์— โ€‹โ€‹๋”ฐ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ, ์ปดํŒŒ์ผ, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋น ๋ฅด๊ณ  ์ž๋™ํ™”๋œ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ณ  ์ˆ˜๋™ ์ž‘์—…์„ ์ค„์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ ์ˆ˜๋ช… ์ฃผ๊ธฐ์˜ ๊ฐ ๋‹จ๊ณ„์—์„œ ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋ฐ API ๋ฌธ์„œ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ๊ธ‰ CI/CD ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์Šค๋ƒ…์ƒท์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์†Œํ•œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋กœ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•ˆ์ •์„ฑ ๋ฐ ์›ํ™œํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค๋ƒ…์ƒท์€ ๋ณด๊ณ , ๋ถ„์„ ๋ฐ ๋ณต๊ตฌ ์ž‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ํŠน์ • ์‹œ์ , ์ •์  ๋ฐ ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋„๋ฉ”์ธ์˜ ํ•„์ˆ˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. AppMasterno-code ํ”Œ๋žซํผ์—์„œ ์Šค๋ƒ…์ƒท์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์— ๊นŠ์ด ํ†ตํ•ฉ๋˜์–ด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๊ณ ๊ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ, ์ผ๊ด€์„ฑ ๋ฐ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. PostgreSQL ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณ ๊ธ‰ ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ๊ณผ ์ƒํƒœ ๋น„์ €์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๊ฐ•๋ ฅํ•œ CI/CD ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ AppMaster ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ค„์ด๋ฉด์„œ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ํƒ„๋ ฅ์ ์ธ ๊ณ ํ’ˆ์งˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ๊ถ๊ทน์ ์œผ๋กœ ๋ชจ๋“  ๊ทœ๋ชจ์˜ ๋น„์ฆˆ๋‹ˆ์Šค์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ ์‚ฐ์—….