๐Ÿ“
[2025/11/05-2025/11/11] ์•„ํ‹ฐํด ๊ณต๋ถ€ ์ •๋ฆฌ
2025๋…„ 11์›” 11์ผ

ํ•ด๋‹น ์•„ํ‹ฐํด ์ •๋ฆฌ๋Š” ๊ท€๋กœ ๋“ค์œผ๋ฉฐ ์ •๋ฆฌํ•˜๋Š” ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.
๊ตฌ๊ธ€์˜ NotebookLM์œผ๋กœ ์š”์•ฝํ•œ ๋‚ด์šฉ์„
๋ผ๋””์˜ค์ฒ˜๋Ÿผ ์žฌ์ƒํ•ด ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.๐ŸŽง


AI ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ž๋™ํ™” ์ „๋žต

์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ

GitHub Copilot์™€ Codeium

๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ œ์•ˆํ•ด์ฃผ๊ฑฐ๋‚˜ ์ฃผ์„์„ ์“ฐ๋ฉด ์ฝ”๋“œ ๋ธ”๋ก ์ „์ฒด๋ฅผ ์ง€์›ํ•ด์ค€๋‹ค.

DataRobot ํŠน์ • ๋ถ„์•ผ(ex. ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ ๊ฐœ๋ฐœ ์ง€์›) ์ „๋ฌธ ๋ถ„์•ผ์— ๋Œ€ํ•ด ํŠนํ™”๋˜์–ด์žˆ๋‹ค.

๊นƒํด๋ฆฌ์–ด์˜ ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด, AI ์–ด์‹œ์Šคํ„ดํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ํ›„์— ์ฝ”๋“œ ์ค‘๋ณต์ด ์—„์ฒญ ๋Š˜์–ด๋‚œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

5์ค„ ์ด์ƒ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๊ฐ€ 8๋ฐฐ๋‚˜ ์ฆ๊ฐ€ํ•œ ๋ฐ˜๋ฉด, ๋ฆฌํŒฉํ† ๋ง์€ ์ค„์–ด๋“ค์—ˆ๋‹ค.

์ด๋Š” AI ์–ด์‹œ์Šคํ„ดํŠธ ์ž‘์—…์˜ ํฐ ๋ฌธ์ œ๋‹ค.

์ด๋Š” ๊ฐœ๋ฐœ ์†๋„๋Š” ๋นจ๋ผ์ง€๊ฒ ์ง€๋งŒ ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ์ฝ”๋“œ ๋ฒ ์ด์Šค๊ฐ€ ์ปค์ง€๊ณ  ์ค‘๋ณต ์ฝ”๋“œ๊ฐ€ ๋งŽ์•„์ง€๋ฏ€๋กœ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ๋งค์šฐ ํž˜๋“ค์–ด์ง„๋‹ค.

๊ตฌ๊ธ€์˜ Dora ๋ฐ๋ธŒ์˜ต์Šค ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด, AI๊ฐ€ ๊ฐœ๋ณ„ ์ฝ”๋“œ ์กฐ๊ฐ์˜ ํ’ˆ์งˆ์€ ํ–ฅ์ƒํ•œ๋‹ค ํ•ด๋„ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋ณ€๊ฒฝ ์•ˆ์ •์„ฑ์€ ๋–จ์–ด์ง„๋‹ค๊ณ  ํ•œ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ

๊ฐœ๋ฐœ ์‹œ๊ฐ„์˜ 20~30%๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐ.. ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ๋ถ€๋‹ด์ ์ธ ๋ถ€๋ถ„๊ณผ ์ฃผ๊ด€์ ์ธ ๋ถ€๋ถ„ ๋ฌธ์ œ๋ฅผ AI๊ฐ€ ํ•ด๊ฒฐํ•ด์ค„ ์ˆ˜ ์žˆ์„๊นŒ?

AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๋ถ„์„ ๋„๊ตฌ๋“ค์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค.

  1. SonarCube
  2. Codee

์ •์  ๋ถ„์„ ๊ธฐ๋ฒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์ฝ”๋“œ์ด ์˜๋ฏธ๋‚˜ ๋งฅ๋ฝ๊นŒ์ง€ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?

์ด๋Š” ํ•ต์‹ฌ ํ•œ๊ณ„์  ์ค‘ ํ•˜๋‚˜์ด๋‹ค. AI๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ™์€ ์ €์ˆ˜์ค€ ์˜ค๋ฅ˜๋Š” ์ž˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ์˜ค๋ฅ˜๋‚˜ API๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋ฌธ์ œ๋Š” ์‚ฌ๋žŒ์ด ์ž˜ ํŒ๋‹จํ•œ๋‹ค.

๊ฒฐ๊ตญ AI๋งŒ์œผ๋กœ๋Š” ์™„๋ฒฝํ•œ ๋ฆฌ๋ทฐ๊ฐ€ ์–ด๋ ต๋‹ค. AI์™€ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๋Š” ๊ฒƒ์ด Best!

์‹ค์ œ ํ† ์Šค์˜ LLM ๊ธฐ๋ฐ˜ ์ž์ฒด ๋ฆฌ๋ทฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•œ ์‚ฌ๋ก€๋ฅผ ๋ณด๋ฉด ์žฅ๋‹จ์ ์„ ๋ช…ํ™•ํžˆ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์žฅ์ ์œผ๋กœ๋Š”,

  1. ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ
  2. ์ผ๊ด€๋œ ๊ธฐ์ค€ ์ ์šฉ ๊ฐ€๋Šฅ
  3. ๋ฆฌ๋ทฐ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋‹จ์ถ”
  4. ์ผ๊ด€๋œ ์ฝ”๋“œ ์Šคํƒ€์ผ

๋‹จ์ ์œผ๋กœ๋Š”,

  1. ์ „์ฒด ์‹œ์Šคํ…œ๊ณผ diff๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€, ์ˆจ๊ฒจ์ง„ ๋ถ€์ž‘์šฉ์ด ์žˆ๋Š”์ง€ ํŒŒ์•…์ด ์–ด๋ ค์›€
  2. ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ์–‘์ด ๋งŽ์œผ๋ฉด, LLM์˜ ์ž…๋ ฅ๊ฐ’ ํ•œ๊ณ„ ๋ฐœ์ƒ(ํ† ํฐ ์ œํ•œ)
  3. ๋ณด์•ˆ์˜ ์œ„ํ—˜์„ฑ
  4. ๋ถˆ์•ˆ์ •ํ•œ ์‘๋‹ต ๊ฐ€๋Šฅ์„ฑ

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ •๊ตํ•˜๊ฒŒ ๋งŒ๋“ค๊ฑฐ๋‚˜, RAG(๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ ๊ธฐ๋ฒ•)๋ฅผ ํ™œ์šฉํ•ด์„œ LLM์ด ์‚ฌ๋‚ด ์ฝ”๋“œ ๊ฐ€์ด๋“œ๋ผ์ธ์ด๋‚˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•ด์„œ ๋‹ต๋ณ€ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค.

ํ…Œ์ŠคํŠธ

์•ˆ์ •์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ„ํ•ด์„  ํ…Œ์ŠคํŠธ๋Š” ํ•„์ˆ˜์ ์ด๋‹ค.

AI๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์ดˆ์•ˆ ์ƒ์„ฑ์— ์•„์ฃผ ํšจ๊ณผ์ ์ด๋‹ค. ์—ฌ๋Ÿฌ ์ƒํ™ฉ(์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ํŠน์ •ํ–‰๋™์„ ํ•  ๋•Œ, UI ์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€, ํŠน์ • ์‹œ๊ฐ„๋Œ€์˜ ๋ฒ„๊ทธ ์ฐพ๊ธฐ)์˜ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ AI๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ž‘์„ฑ์„ ํ•ด์ค€๋‹ค.

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

๋ฌด์—‡์„ ํ…Œ์ŠคํŠธํ•  ๊ฒƒ์ธ๊ฐ€?
AI๊ฐ€ ์ƒ์„ฑํ•œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๊ฐ€ ์ •๋ง ์˜ฌ๋ฐ”๋ฅธ๊ฐ€? ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•  ๊ฒƒ์ธ๊ฐ€?

์ด๋Š” ์‚ฌ๋žŒ์ด ํ•ด๊ฒฐํ•ด์•ผํ•  ๊ณผ์ œ๋“ค์ด๋‹ค.

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž์ฒด๊ฐ€ ๊ฐ€์ง€๋Š” ์–ด๋ ค์›€(ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ์„ค์ •์˜ ๋ณต์žกํ•จ, ๋„คํŠธ์›Œํฌ ์ƒํƒœ์™€ ๊ฐ™์€ ์™ธ๋ถ€์š”์ธ, ๋ฐ˜ํ™˜๊ฐ’ ์—†๋Š” ๊ฒƒ)

์ด๋Š” AI๊ฐ€ ํ•ด๊ฒฐํ•  ์ค‘์š”ํ•œ ๊ณผ์ œ๋“ค์ด๋‹ค.

AI์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ๋†’์•„์ง€๋ฉด์„œ AI ๋ฌธ๋งน ๊ฐœ๋ฐœ์ž๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ์žˆ๋‹ค.

AI๋Š” ๋Œ€์ฒด์žฌ๊ฐ€ ์•„๋‹Œ โ€œ๋„๊ตฌโ€๋ผ๋Š” ์ ์„ ์žŠ์ง€ ๋ง์ž.

๊ฐœ๋ฐœ์ž๋Š” ์•ž์œผ๋กœ ๋” ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ๊ณผ ๋งฅ๋ฝ์„ ํŒŒ์•…ํ•˜๋Š” ๋“ฑ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์ง‘์ค‘ํ•ด์•ผ ํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์—ญํ• ์€ Coder์—์„œ Orchestrator์˜ ์—ญํ• ๋กœ ์ง„ํ™”ํ–ˆ๋‹ค.

๋А๋‚€์ : AI์— ๋„ˆ๋ฌด ์˜์กดํ•˜์ง€ ๋ง๊ณ  ๋Œ€์ฒด์ œ๊ฐ€ ์•„๋‹Œ ๋„๊ตฌ๋กœ ์ƒ๊ฐํ•˜์ž. ์ฝ”๋“œ์˜ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์„œ๋น„์Šค๋ฅผ ํฌ๊ฒŒ ๋“ค์—ฌ๋‹ค๋ณผ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ํ˜„์žฌ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ์—ญ๋Ÿ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. AI๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์ž‘์—…์„ ๋„์™€์ฃผ์ง€๋งŒ, AI๊ฐ€ ์ž‘์—…ํ•œ ๊ฒƒ์„ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ๋ชซ์ด๋‹ค. ๊ทผ๋ณธ์„ ์žƒ์ง€ ๋ง์ž!

๐Ÿ”— https://blog.scordi.io/%EC%83%9D%EC%84%B1%ED%98%95-ai-%ED%88%B4-%EC%B6%94%EC%B2%9C
๐Ÿ”— https://notavoid.tistory.com/280
๐Ÿ”— https://www.slexn.com/ai-%EA%B8%B0%EB%B0%98-%EC%BD%94%EB%93%9C-%EB%B6%84%EC%84%9D-%EC%96%B4%EB%94%94%EA%B9%8C%EC%A7%80-%EB%AF%BF%EC%9D%84-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C-%E3%85%A1-codee/
๐Ÿ”— https://soyoondaily.com/entry/AI-%EA%B8%B0%EB%B0%98-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1-%EA%B0%80%EC%9D%B4%EB%93%9C-%E2%80%93-%EA%B0%9C%EB%B0%9C-%EC%83%9D%EC%82%B0%EC%84%B1%EC%9D%84-%EB%86%92%EC%9D%B4%EB%8A%94-%EB%B0%A9%EB%B2%95
๐Ÿ”— https://byline.network/2025/02/25-379/
๐Ÿ”— https://jaimemin.tistory.com/2727
๐Ÿ”— https://toss.tech/article/test-strategy-server
๐Ÿ”— https://velog.io/@yaza/%EC%BD%94%EB%93%9C-%EB%A6%AC%EB%B7%B0-%EC%9E%90%EB%8F%99%ED%99%94-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-w-ollama-1%ED%8E%B8-Proof-of-Concept
๐Ÿ”— https://motivator.jiransecurity.com/trend/98


OpenStack์˜ ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ์ž‘๋™ ์›๋ฆฌ

์˜คํ”ˆ์Šคํƒ(OpenStack)

๊ฐ€์ƒ ์ž์›์„ ๋ชจ์•„์„œ private์ด๋‚˜ public ํด๋ผ์šฐ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋žซํผ์ด๋‹ค. ์ด์™ธ์—๋„ Kubernetes, CloudStack ๋“ฑ์ด ์žˆ๋‹ค.

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

๊ฐ€์ƒํ™” ๊ด€๋ฆฌ ํ”Œ๋žซํผ๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. ๊ฐ€์ƒํ™”๋œ ์ž์› ์œ„์—์„œ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ , ์—ฌ๋Ÿฌ Vendor ํ™˜๊ฒฝ์—์„œ ์ž์›์„ ์ฐพ๊ณ  ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์€ ๋งž๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ€์ƒํ™” ๊ด€๋ฆฌ ํ”Œ๋žซํผ์€ ์ฃผ๋กœ ์ด๋ฏธ ์žˆ๋Š” ๊ฐ€์ƒ ์ž์›์˜ ๊ธฐ๋Šฅ์„ ๋” ์‰ฝ๊ฒŒ ์“ฐ๋„๋ก ์กฐ์ž‘ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š”๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค.(ex. ํ˜ธํ…” ๊ด€๋ฆฌ ๊ฐ์‹ค ์‹œ์Šคํ…œ) ์˜คํ”ˆ์Šคํƒ์€ ๊ทธ ๊ฐ€์ƒ ์ž์›์„ ํ™œ์šฉํ•ด์„œ ์•„์˜ˆ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ž์ฒด๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค.(ex. ํ˜ธํ…” ์ „์ฒด๋ฅผ ์ง“๊ณ  ์šด์˜ํ•˜๋Š” ์‹œ์Šคํ…œ)

์˜คํ”ˆ์Šคํƒ์˜ ์ž‘๋™ ๋ฐฉ์‹

์˜คํ”ˆ์Šคํƒ์˜ ๋ณธ์งˆ์€ ์Šคํฌ๋ฆฝํŠธ๋‹ค. ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ธํ•ด ๋Œ์•„๊ฐ„๋‹ค.

  1. ๊ฐ€์ƒํ™” ๊ธฐ์ˆ : ํ•˜๋“œ์›จ์–ด์—์„œ ์ž์›์„ ๋ถ„๋ฆฌํ•ด์„œ ์ถ”์ƒํ™”๋œ ๊ฐ€์ƒ ๋ฆฌ์†Œ์Šค ๊ณ„์ธต์„ ๋งŒ๋“ ๋‹ค.
  2. ์šด์˜์ฒด์ œ: ์˜คํ”ˆ์Šคํƒ์ด ๋‚ด๋ฆฐ ๋ช…๋ น์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.

์˜คํ”ˆ์Šคํƒ ์ž์ฒด๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ฐ€์ƒํ™”ํ•˜์ง„ ์•Š๋Š”๋‹ค. ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒํ™”๋œ ์ž์›์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ด๋‹ค. OS ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น์„ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• !

์˜คํ”ˆ์Šคํƒ์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ 

  1. Keystone: ํด๋ผ์šฐ๋“œ ์ „์ฒด์˜ ๋ณด์•ˆ ๊ฒ€์ƒ‰๋Œ€ ์—ญํ• . ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์ธ์ฆํ•˜๊ณ  ์–ด๋–ค ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•ด์ค€๋‹ค.
  2. Nova: ์‹ค์ œ ์ž์›์ธ ๊ฐ€์ƒ ์„œ๋ฒ„์˜ ์—ญํ• . ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ƒ๋จธ์‹ (์˜ˆ๋ฅผ ๋“ค์–ด VM) ๋งŒ๋“ค์–ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด, ํ•„์š”ํ•œ ์ปดํ“จํŒ… ์ž์›์„ ์ฐพ์•„ ๊ฐ€์ƒ๋จธ์‹ ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.
  3. Neutron: ๊ฐ€์ƒ๋จธ์‹ ๋“ค์ด ์„œ๋กœ ํ†ต์‹ ํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋„๋ก ๋„คํŠธ์›Œํฌ ๋ฐฐ๊ด€์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• .

์œ„ ์„ธ ๊ฐ€์ง€๊ฐ€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ผˆ๋Œ€๋‹ค. API๋กœ ์„œ๋กœ ์—ฐ๊ฒฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

์˜คํ”ˆ์Šคํƒ์€ ์–ด๋””์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?

  1. Private ํด๋ผ์šฐ๋“œ ๊ตฌ์ถ•: ๊ธฐ์—…์ด ์ž์ฒด ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋กœ ์ง์ ‘ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
  2. ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ ๊ฐ€์ƒํ™”(NFV): ์ฃผ๋กœ ํ†ต์‹ ์‚ฌ์—์„œ ๊ธฐ์กด ๋ผ์šฐํ„ฐ๋‚˜ ๋ฐฉํ™”๋ฒฝ ๊ฐ™์€ ์žฅ๋น„์˜ ๊ธฐ๋Šฅ์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ํ•ด์„œ ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์— ์œ ์—ฐํ•˜๊ฒŒ ๋ฐฐํฌํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.
  3. Public ํด๋ผ์šฐ๋“œ ๊ตฌ์ถ•
  4. Container ๋ฐฐํฌ/์šด์˜: ์˜คํ”ˆ์Šคํƒ ์œ„์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์˜ํ•˜๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์†๋„๋ฅผ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ๊ณ  ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

๋А๋‚€์ : ๊ฐ€์ƒํ™” ๊ด€๋ฆฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ง์ ‘ ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•œ๋‹ค๋Š” ๊ธฐ์ˆ ์ด๋ผ๋Š” ๊ฒƒ์„ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค! ์•Œ์•„๋ณด๋‹ˆ ๋งŽ์€ ํ•ด์™ธ/๊ตญ๋‚ด ๊ธฐ์—…์—์„œ OpenStack์„ ํ†ตํ•ด ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ์–ด, ๊ทธ ๋„“์€ ํ™œ์šฉ ๋ฒ”์œ„๊ฐ€ ์ธ์ƒ์ ์ด์—ˆ๋‹ค!

๐Ÿ”— https://www.redhat.com/en/topics/openstack


RAG์™€ Vector DB๋กœ ์ƒ์‚ฐ์„ฑ๊ณผ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ

์—ฌ๊ธฐ์–ด๋•Œ์—์„œ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—… ํ•ด์†Œ๋ฅผ ์œ„ํ•ด ํŒ€์˜ ์ฝ”๋“œ ์Šคํƒ€์ผ๊ณผ ํŒจํ„ด์„ ํ•™์Šตํ•œ Diffy์™€ @pwb/testgen์„ ๊ตฌ์ถ•ํ–ˆ๋‹ค.

RAG(Retrieval-Augmented Generation)์™€ Vector DB๋ฅผ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?

๋ชจ๋ธ์„ ์ง์ ‘ ํŒŒ์ธํŠœ๋‹ํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ? ์™œ RAG๋ฅผ ์„ ํƒํ–ˆ์„๊นŒ?

๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์™ธ๋ถ€ LLM ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋„˜๊ฒจ์•ผ ํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ์™€ ๋น„์šฉ์ ์ธ ๋ถ€๋ถ„, ์ตœ์‹  ๋‚ด์šฉ์„ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํŒŒ์ธํŠœ๋‹์˜ ๋‹จ์ ๋“ค ๋•Œ๋ฌธ์ด๋‹ค.

๋ฐ˜๋ฉด, RAG๋Š” ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†๊ณ  Vector DB์— ์ €์žฅ๋œ ์ตœ์‹  ์ฝ”๋“œ ์กฐ๊ฐ๋“ค์„ LLM์ด ๋‹ต๋ณ€ ์ƒ์„ฑํ•  ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์–ด ์ž์œ ๋กญ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

์ฆ‰ RAG๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜๋ฏธํ•œ๋‹ค.

RAG(Retrieval-Augmented Generation)

AI๊ฐ€ ๋‹ต๋ณ€ ๋งŒ๋“ค๊ธฐ ์ „์— ๊ด€๋ จ ์ž๋ฃŒ๋ฅผ ๋จผ์ € ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ์‹

Vector DB

์ฝ”๋“œ ์กฐ๊ฐ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŠน์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค. ๋‹จ์ˆœํžˆ ํ‚ค์›Œ๋“œ๊ฐ€ ์ผ์น˜ํ•˜๋Š” ๊ฑธ ์ฐพ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ์˜ ์˜๋ฏธ. ์ฆ‰, ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š” ์ฝ”๋“œ์ธ๊ฐ€๋ฅผ ์ˆซ์ž์˜ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‚ฌ์šฉ์ž ์งˆ๋ฌธ๊ณผ ์˜๋ฏธ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ์กฐ๊ฐ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์•„๋‚ด์„œ AI์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.(์˜๋ฏธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰)

RAG๋Š” ๋•Œ๋•Œ๋กœ ํŒŒ์ธํŠœ๋‹์— ์ค€ํ•˜๊ฑฐ๋‚˜ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค๊ณ  ํ•œ๋‹ค.

์‹ค์ œ๋กœ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๋ฆฌ์„œ์น˜ ์—ฐ๊ตฌ์—์„œ, ์ผ๋ถ€ ๋ชจ๋ธ์—์„œ RAG๊ฐ€ ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ๋‹ต๋ณ€ ์ •ํ™•๋„๋ฅผ ๋ณด์˜€๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด Vector DB์— ๋ฐฉ๋Œ€ํ•œ ์ฝ”๋“œ ์กฐ๊ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ๋‹ด์•„๋ƒˆ์„๊นŒ?

chunking ๊ณผ์ •์ด ์ค‘์š”ํ•˜๋‹ค.

chunking

AI๊ฐ€ ์ •๋ณด๋ฅผ ์ž˜ ์†Œํ™”ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ์ž‘์—….

chunking์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋„ˆ๋ฌด ๊ธด ์ฝ”๋“œ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋งŒ๋“ค๋ฉด ์—ฌ๋Ÿฌ ๋กœ์ง์ด ๋’ค์„ž์—ฌ๋ฒ„๋ฆฌ๋Š” ์ผ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฒกํ„ฐ๊ฐ€ ๊ฐ€์ง€๋Š” ์˜๋ฏธ๊ฐ€ ๋ชจํ˜ธํ•ด์ง„๋‹ค!

์ฝ”๋“œ์˜ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹(AST: ์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ)์„ ํ™œ์šฉํ•œ๋‹ค. AST๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐฉ์‹์ฒ˜๋Ÿผ ์ฝ”๋“œ์˜ ๊ตฌ์กฐ๋ฅผ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค.

ts-morph๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AST๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

alt text

Vector DB

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

์ฝ”๋“œ ์กฐ๊ฐ์„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์€ ์–ด๋–ค ๊ฑธ๋กœ ์‚ฌ์šฉํ•œ ๊ฑธ๊นŒ?

ํšŒ์‚ฌ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Gemini embedding ๋ชจ๋ธ(gemini-embedding-001)์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์„ธ๋ฐ€ํ•œ ์˜๋ฏธ ์ฐจ์ด ๊ตฌ๋ถ„๊ณผ ๋น„์šฉ ์ฐจ์›์—์„œ ์„ ์ •. 45๋ถ„์ด๋‚˜ ๊ฑธ๋ ธ๋˜ ์ž„๋ฒ ๋”ฉ ์ฒ˜๋ฆฌ๋ฅผ 500๊ฐœ์”ฉ ๋ฌถ์–ด์„œ batch ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ” 8๋ถ„์ด๋ผ๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ตœ์ ํ™” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

์ž๋™ ์—…๋ฐ์ดํŠธ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

GitLab CI/CD๋กœ dev ๋ธŒ๋žœ์น˜์— ์ƒˆ๋กœ์šด ์ฝ”๋“œ๊ฐ€ ํ‘ธ์‰ฌ๋  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๋งŒ ๊ฐ์ง€ํ•˜์—ฌ ํ•ด๋‹น ๋ถ€๋ถ„์˜ ๋ฒกํ„ฐ๋งŒ Vector DB์— ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๋„๋ก ํ–ˆ๋‹ค.

๋•๋ถ„์— AI๋Š” ํ•ญ์ƒ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑ

AI๋Š” ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•ด Vector DB์—์„œ ๊ด€๋ จ์„ฑ ๋†’์€ ๊ธฐ์กด ์ฝ”๋“œ์™€ ํŒ€ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•ด์„œ ๊ทธ์— ๋งž๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค.(๋””์ž์ธ ๋ช…์„ธ๋‚˜ ์ตœ๊ทผ ๋ณ€๊ฒฝ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋งฅ๋ฝ์„ ์ดํ•ดํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค ๋Œ€๋ฐ• ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ํŒจํ„ด๋„ ํŒŒ์•…ํ•œ๋‹ค!)

๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋…น์•„๋“ค๋„๋ก npx generate ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํŒ€ ๋‚ด ํ™•์‚ฐํ•˜๋Š” ๋ฐ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ๋‹ค.

AI ์ฝ”๋“œ ๋ฆฌ๋ทฐ์–ด Diffy

Merge Request๋Š” ์ตœ์†Œ 2๋ช… ์ด์ƒ์ด ์–ดํ‘ธ๋ฃนํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์ด ์žˆ๋Š”๋ฐ GitLab Webhook์„ ์ด์šฉํ•ด์„œ Diffy๊ฐ€ ์ฆ‰์‹œ ์ž‘๋™๋˜๋„๋ก ํ•œ๋‹ค.

RAG๋ฅผ ์ด์šฉํ•˜์—ฌ diff๋งŒ ๋ณด๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์„ธ ๊ฐ€์ง€ ์ •๋ณด(๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ ์ž์ฒด, Vector DB์˜ ์˜๋ฏธ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ๊ธฐ์กด ์ฝ”๋“œ ์กฐ๊ฐ๋“ค, ํŒ€์˜ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฌธ์„œ)๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜์—ฌ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ์ข…๋ฅ˜์˜ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๋Š”๊ฐ€? ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์œผ๋กœ ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ ๋ผ์ธ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋ผ๋Š” ๋ช…ํ™•ํ•œ ์ง€์‹œ์™€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ, ์—ฃ์ง€ ์ผ€์ด์Šค ์ฒ˜๋ฆฌ ๋ฏธํ , ์ฝ”๋“œ ์ค‘๋ณต, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜, ๋ฃฐ ์œ„๋ฐ˜ ์‚ฌํ•ญ๋“ค์ด ์žˆ๋Š”์ง€ ์ง์ ‘์ ์œผ๋กœ ๋ณด๋„๋ก ํ–ˆ๋‹ค.

๋‹จ, ์ฃผ๊ด€์ ์ธ ํ”ผ๋“œ๋ฐฑ(๋ฆฌํŒฉํ† ๋ง ๊ฐ™์€ ๋ถ€๋ถ„)์€ ๋„ฃ์ง€ ์•Š์•˜๋‹ค๊ณ  ํ•œ๋‹ค.

์ฆ‰, ๋ช…ํ™•ํ•œ ๊ธฐ์ค€์— ๋Œ€ํ•œ ๊ฒ€์ฆ์€ AI๊ฐ€, ์ฃผ๊ด€์ ์ธ ํŒ๋‹จ์ด๋‚˜ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ํ‰๊ฐ€๋Š” ์‚ฌ๋žŒ์ด ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋А๋‚€์ : RAG๋กœ ์ง์ ‘ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋ƒˆ๋‹ค๋Š” ๊ฒƒ.. ์ƒ์‚ฐ์„ฑ ๋ถ€๋ถ„์—์„œ AI๋ฅผ ํ™œ์šฉํ•œ ํ˜์‹ ์ ์ธ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ํ•  ๋•Œ๋งˆ๋‹ค ๊ผผ๊ผผํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ž์ž˜ํ•œ ์‹ค์ˆ˜๋Š” ์—†๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ ธ๋Š”๋ฐ AI๊ฐ€ ์ด๊ฑธ ๋Œ€์ฒดํ•˜๊ณ  ๋˜ํ•œ ํŒ€์˜ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌ๋ทฐํ•ด์ฃผ๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด์ค€๋‹ค๋ฉด ์ •๋ง ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค. DX ํ–ฅ์ƒ์˜ ๋Œ€ํ‘œ์ ์ธ ์ผ€์ด์Šค ๊ฐ™๋‹ค.

๐Ÿ”— https://techblog.gccompany.co.kr/%EC%9A%B0%EB%A6%AC-%ED%8C%80-%EC%BD%94%EB%93%9C-%EC%8A%A4%ED%83%80%EC%9D%BC%EC%9D%84-%EC%95%84%EB%8A%94-ai-%EB%A7%8C%EB%93%A4%EA%B8%B0-rag%EC%99%80-vector-db-%ED%99%9C%EC%9A%A9%EA%B8%B0-94532d92b0a3
๐Ÿ”— https://techblog.gccompany.co.kr/%EC%9A%B0%EB%A6%AC-%ED%8C%80-%EC%BD%94%EB%93%9C-%EC%8A%A4%ED%83%80%EC%9D%BC%EC%9D%84-%EC%95%84%EB%8A%94-ai-%EB%A7%8C%EB%93%A4%EA%B8%B0-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1-gitlab-mr-%EB%A6%AC%EB%B7%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0-07e573e7648e


Amazon DynamoDB ์•„ํ‚คํ…์ฒ˜

์•„๋งˆ์กด ๋‚ด๋ถ€์—์„œ DynamoDB ์ „ ์ฒ˜์Œ์—๋Š” ์–ด๋–ค ์‹œ์Šคํ…œ์„ ์ผ๊ณ , ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ๊ฒช์—ˆ๊ณ , ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ DynamoDB๋กœ ๋ฐœ์ „ํ–ˆ๋Š”์ง€์˜ ๊ณผ์ •์„ ์•Œ์•„๋ณด์ž.

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

DynamoDB๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์šฉ์„ฑ์ด๋‚˜ ํ™•์žฅ์„ฑ ๋ฉด์—์„œ ๋›ฐ์–ด๋‚ฌ์ง€๋งŒ,๊ฒฐ์ •์ ์ธ ๋‹จ์ ์œผ๋กœ๋Š” ์‹ฑ๊ธ€ ํ…Œ๋„ŒํŠธ ๋ฐฉ์‹์ด ์žˆ์—ˆ๋‹ค.

์‹ฑ๊ธ€ ํ…Œ๋„ŒํŠธ

ํ•œ ํŒ€์ด ์ง์ ‘ ์„ค์น˜๋ถ€ํ„ฐ ์šด์˜๊นŒ์ง€ ๋…์ ์ ์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ๊ตฌ์กฐ๋ฅผ ๋œปํ•œ๋‹ค.

์šด์˜ ๋ถ€๋‹ด์ด ์ปธ๊ธฐ์— ๊ทธ ๋Œ€์•ˆ์œผ๋กœ Simple DB ์„œ๋น„์Šค๋ฅผ ๋งŽ์ด ์ผ๋‹ค.

Simple DB

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

DynamoDB

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

DynamoDB์—์„œ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ, ๊ณ ๊ฐ€์šฉ์„ฑ์€ ์–ด๋–ป๊ฒŒ ๋ณด์žฅํ•˜๋Š”๊ฐ€?

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ AWS region ์•ˆ์—์„œ๋„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ง„ ๊ฐ€์šฉ์˜์—ญ(AZ)์— ์ž๋™์œผ๋กœ ๋ณต์ œ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํ•œ AZ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋Œ์•„๊ฐ„๋‹ค.

Global Table์ด๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์“ฐ๋ฉด, ์—ฌ๋Ÿฌ AWS region์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•  ์ˆ˜ ์žˆ๋‹ค. => ๋ฐ์ดํ„ฐ ์†๋„ ์–ด๋””์„œ๋“  ๋น ๋ฆ„, ๋ฌธ์ œ ์ƒ๊ฒจ๋„ ์„œ๋น„์Šค ์ค‘๋‹จ๋˜์ง€ ์•Š์Œ!

DynamoDB๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ์ด๋ฉฐ, ๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠน์ง•์ด ์žˆ๋‹ค.

์ฆ‰, ๊ฐœ๋ฐœ ์ค‘์— ์†์„ฑ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

DynamoDB์˜ ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹

ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ•œ Partition Key๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋‚˜๋‰˜์–ด ์ €์žฅ๋œ๋‹ค.

๋‚ด๊ตฌ์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฐ ํŒŒํ‹ฐ์…˜ ๋ฐ์ดํ„ฐ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ AZ์˜ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ณต์ œ๋ฅผ ํ•œ๋‹ค. ์ด ๋ณต์ œ๋ณธ๋“ค์˜ ๋ฌถ์Œ์„ ๋ณต์ œ ๊ทธ๋ฃน ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์“ฐ๊ธฐ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์€ ์–ด๋–ป๊ฒŒ ๋งž์ถ”๋Š”๊ฐ€?

Multi-Paxos๋ผ๋Š” ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ ๋ณต์ œ ๊ทธ๋ฃน ์•ˆ์—๋Š” ๋ฆฌ๋” ์—ญํ• ์„ ํ•˜๋Š” ๋ณต์ œ๋ณธ์ด ์žˆ๋‹ค. ๋ชจ๋“  ์“ฐ๊ธฐ ์š”์ฒญ์€ ์ด ๋ฆฌ๋”๊ฐ€ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋ฆฌ๋”๋Š” ์“ฐ๊ธฐ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์“ฐ๊ธฐ ์š”์ฒญ ๋กœ๊ทธ๋ผ๋Š” ๊ณณ์— ๊ธฐ๋กํ•˜๊ณ  ๋‹ค๋ฅธ ๋ณต์ œ๋ณธ๋“คํ•œํ…Œ ๋ฟŒ๋ฆฐ๋‹ค.

์นดํ”„์นด ๋‚ด๋ถ€ ์ž‘๋™ ๋ฐฉ์‹์˜ Raft ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์Šทํ•œ ์›๋ฆฌ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์€ ์š”์ฒญ ๋ผ์šฐํ„ฐ๋ผ๋Š” ํฐ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ๋„์ฐฉํ•œ๋‹ค. ์ด ๋ผ์šฐํ„ฐ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ผ์„ ํ•œ๋‹ค.

  1. AWS IAM๊ณผ ์—ฐ๋™ํ•ด์„œ ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•  ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
  2. ์š”์ฒญ์— ๋“ค์–ด์žˆ๋Š” Partition Key๋ฅผ ๋ณด๊ณ  ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ œ ์–ด๋А ํŒŒํ‹ฐ์…˜, ์Šคํ† ๋ฆฌ์ง€ ๋…ธ๋“œ์— ์žˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋น„์Šค์—์„œ ๋ผ์šฐํŒ… ์ •๋ณด๋ฅผ ํš๋“
  3. ์‚ฌ์šฉ์ž๊ฐ€ ํ• ๋‹น ๋ฐ›์€ ์ฒ˜๋ฆฌ๋Ÿ‰(RCU/WCU)์„ ๋„˜์–ด์„œ๋Š” ์š”์ฒญ์ธ์ง€ Admission Control์œผ๋กœ ํ™•์ธ

์ด ๋ชจ๋“  ๊ณผ์ •์„ ํ†ต๊ณผํ•˜๋ฉด ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

MemDS

๋ชจ๋“  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ MemDS ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ถ„์‚ฐ์‹œํ‚ค๊ณ  ๊ฐ ์š”์ฒญ ๋ผ์šฐํ„ฐ๋Š” MemDS ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹ฑํ•˜๋Š” ๋กœ์ปฌ ์บ์‹œ๋ฅผ ๊ฐ–๋Š”๋‹ค.

๋ผ์šฐํ„ฐ๋Š” ์ผ๋‹จ ๋กœ์ปฌ ์บ์‹œ๋ฅผ ์“ฐ๊ณ  ๋น„๋™๊ธฐ์ ์œผ๋กœ MemDS์— ์š”์ฒญํ•ด์„œ ์ตœ์‹  ์บ์‹œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋„๋ก ํ•œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ผ์šฐํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด๋„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋น„์Šค ๋ถ€๋‹ด ์—†์ด ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

ํŠน์ • ๋ฐ์ดํ„ฐ์—๋งŒ ์š”์ฒญ์ด ๋ชฐ๋ฆฌ๋Š” Hot Partition์€ ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ• ๊นŒ?

Hot Partition

ํ…Œ์ด๋ธ” ์ „์ฒด ์šฉ๋Ÿ‰์€ ์•„์ง ๋งŽ์ด ๋‚จ์•˜๋Š”๋ฐ ํŠน์ • ํŒŒํ‹ฐ์…˜์— ํŠธ๋ž˜ํ”ฝ์ด ์ง‘์ค‘๋˜๋ฉด ํŒŒํ‹ฐ์…˜ ์šฉ๋Ÿ‰ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด ์š”์ฒญ์ด ๊ฑฐ๋ถ€๋œ๋‹ค.(Throttling)

ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

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

๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ

์“ฐ๊ธฐ ์ „ ๋กœ๊ทธ(WAL)๋Š” ๋ณต์ œ๋„ ๋˜์ง€๋งŒ S3์— ๋ฐฑ์—…๋„ ๋œ๋‹ค. ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋™์‹œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ S3์— ์ €์žฅ๋œ ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„ํŠธ ์†์ƒ ๊ฐ™์€ ์˜ค๋ฅ˜๋Š”? => DynamoDB๋Š” ์ฒดํฌ์„ฌ์„ ์ด์šฉํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ ๋ณด๋‚ผ ๋–„, ๋””์Šคํฌ์— ์ €์žฅํ•  ๋•Œ, ๋ฐ์ดํ„ฐ์— ๋””์ง€ํ„ธ ์ง€๋ฌธ ๊ฐ™์€ ์ฒดํฌ์„ฌ์„ ๋ถ™์—ฌ๋†“๋Š”๋‹ค. ์ด ์ฒดํฌ์„ฌ์„ ํ™•์ธํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ณ€์กฐ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•œ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ

์žฅ์• ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๋Œ€์‘ํ•˜๋Š” ๊ณผ์ •์—์„œ DynamoDB๋Š” ํ•œ ๋ณต์ œ๋ณธ์ด ๋ฆฌ๋”์—๊ฒŒ ๋งํ•˜๊ธฐ ์ „์— ๋‹ค๋ฅธ ๋™๋ฃŒ ๋ณต์ œ๋ณธ๋“คํ•œํ…Œ ๋ฌผ์–ด๋ณธ๋‹ค. ๋‚˜๋งŒ์˜ ๋ฌธ์ œ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ถˆํ•„์š”ํ•œ ๊ต์ฒด๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ฒŒ ๋œ๋‹ค.

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

๐Ÿ”— https://blog.bytebytego.com/p/a-deep-dive-into-amazon-dynamodb