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

๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ํ”„๋กœ์„ธ์Šค

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

๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๊ธฐ์ˆ 

๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํŠน์„ฑ๊ณผ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๊ธฐ์ˆ ์ด ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๊ธฐ์ˆ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹์€ ๊ธˆ์œต, ์˜๋ฃŒ, ๋งˆ์ผ€ํŒ… ๋ฐ ์ œ์กฐ๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‘์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

AppMaster ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹

AppMaster ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹์˜ ๊ธฐ๋Šฅ์„ ํ›จ์”ฌ ๋” ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์˜ ์ฝ”๋“œ ์—†๋Š” ํ™˜๊ฒฝ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์ฝ”๋”ฉ ์ „๋ฌธ ์ง€์‹ ์—†์ด๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ฐ•๋ ฅํ•œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ํ”Œ๋žซํผ์˜ ์‹œ๊ฐ์ ์œผ๋กœ ์„ค๊ณ„๋œ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ(BP) ๊ธฐ๋Šฅ๊ณผ ์ž๋™ ์ƒ์„ฑ๋œ REST API endpoints ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜์—ฌ ์กฐ์ง์ด ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ํ†ต์ฐฐ๋ ฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. PostgreSQL ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๋กœ ์ง€์›ํ•˜๋Š” AppMaster ํ”Œ๋žซํผ์€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๋„๊ตฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ Go(golang)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋˜์–ด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ๋†’์€ ํ™•์žฅ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์˜ ์ž๋™ ์ƒ์„ฑ API ๋ฌธ์„œ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ์ง์ด ๋ฐ์ดํ„ฐ ์ธํ”„๋ผ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋™์‹œ์— ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์—์„œ ๊ท€์ค‘ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป๋Š” ๋ฐ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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