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

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

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์›์น™์ด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

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

์ด๋Ÿฌํ•œ ์›์น™์„ ์—ผ๋‘์— ๋‘๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ธฐ์ˆ  ๋ฐ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

๋˜ํ•œ AppMaster ๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์€ PostgreSQL ํ˜ธํ™˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Go๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ ์ปดํŒŒ์ผ๋œ ์ƒํƒœ ๋น„์ €์žฅ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™œ์šฉํ•˜๋Š” AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ ํ•ฉํ•œ ์ธ์ƒ์ ์ธ ํ™•์žฅ์„ฑ์„ ์ž…์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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