Vector Database ๋ฒกํ„ฐ DB

2025. 10. 3. 04:18ยทLLM

 

๋ฒกํ„ฐ DB ๋ž€ 

๋ฒกํ„ฐ DB ์ •์˜ ๋ฐ ์—ญํ•  

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

 

๋ฒกํ„ฐ์™€ ํ…์„œ

Vector

  • ํ…์„œ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ
  • ์—ฌ๋Ÿฌ ์Šค์นผ๋ผ๋ฅผ ํฌํ•จํ•˜๋Š” 1์ฐจ์› ํ˜น์€ 1์ฐจ ํ…์„œ. → ์ˆซ์ž ๋ชจ์Œ.
  • ex) ๋‚ ์”จ๋ชจ๋ธ์€ ํ•˜๋ฃจ๋™์•ˆ์˜ ์ตœ์ €์˜จ๋„, ์ตœ๊ณ ์˜จ๋„, ํ‰๊ท ์˜จ๋„๋ฅผ ๋ฒกํ„ฐ๋กœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • ๊ฐ ์Šค์นผ๋ผ๋Š” ๋ฒกํ„ฐ์˜ ํŠน์ง•์ด ๋จ. ์ฆ‰ “์ฐจ์›”์œผ๋กœ ๊ทธ๋‚ ๋‚ ์”จ(๋ฒกํ„ฐ) ์˜ ํŠน์ง•์„ ๋‚˜ํƒ€๋ƒ„.

Tensor

  • ์ •์˜(์ˆ˜ํ•™/ML): ํ…์„œ๋Š” “๋‹ค์ฐจ์› ๋ฐฐ์—ด”์„ ์ผ๋ฐ˜ํ™”ํ•œ ๊ฐœ๋….
  • ์ฐจ์›์— ๋”ฐ๋ผ ์ด๋ฆ„์ด ๋‹ฌ๋ผ์ง
    • ์Šค์นผ๋ผ(Scalar): 0์ฐจ์› ํ…์„œ → ๋‹จ์ผ ์ˆซ์ž (์˜ˆ: 7)
    • ๋ฒกํ„ฐ(Vector): 1์ฐจ์› ํ…์„œ → ์ˆซ์ž๋“ค์˜ ๋ฆฌ์ŠคํŠธ (์˜ˆ: [1, 2, 3])
    • ํ–‰๋ ฌ(Matrix): 2์ฐจ์› ํ…์„œ → ํ–‰๊ณผ ์—ด์„ ๊ฐ€์ง„ ์ˆซ์ž ๋ฐฐ์—ด (์˜ˆ: [[1, 2], [3, 4]])
    • 3์ฐจ์› ์ด์ƒ ํ…์„œ: (์˜ˆ: ์ด๋ฏธ์ง€ RGB ์ฑ„๋„์„ ๋‹ด์€ 3D ๋ฐฐ์—ด, [height × width × channel])

 

๋ฒกํ„ฐ DB ์ฃผ์š” ๊ธฐ๋Šฅ 

1. ๋ฒกํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๊ธฐ๋Šฅ

๋ฒกํ„ฐ DB ์— ์ €์žฅ๋˜๋Š” ๋‚ด์šฉ

  • ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ ๋ฐ์ดํ„ฐ, ์ œ๋ชฉ, ์„ค๋ช… ๋ฐ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ํฌํ•จํ•œ ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ (๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ฟผ๋ฆฌ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ)

2. ๋ฒกํ„ฐ ์ธ๋ฑ์‹ฑ ๊ธฐ๋Šฅ (๋ฒกํ„ฐ ์ „์šฉ)

์ธ๋ฑ์Šค: ๋ฒกํ„ฐ(๊ณ ์ฐจ์› ์ขŒํ‘œ)์˜ ์œ ์‚ฌ๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ํŠน์ˆ˜ ์ž๋ฃŒ๊ตฌ์กฐ.

  • ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ๋‚ด์—์„œ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒกํ„ฐ ์ธ๋ฑ์‹ฑ์„ ํ•ด์•ผํ•จ.
  • ๋ฒกํ„ฐ DB ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์— “์ธ๋ฑ์Šค” ์ƒ์„ฑํ•จ.
  • ML ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉํ•ด ๋ฒกํ„ฐ๋ฅผ ์ธ๋ฑ์‹ฑํ•จ.
  • ์ธ๋ฑ์‹ฑ: ๋ฒกํ„ฐ๋ฅผ ์ƒˆ๋กœ์šด data ๊ตฌ์กฐ์— ๋งคํ•‘ → ์œ ์‚ฌ์„ฑ/๊ฑฐ๋ฆฌ๊ฒ€์ƒ‰์„ ๋” ๋น ๋ฅด๊ฒŒ ํ•จ.

์ธ๋ฑ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜

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

3. ์งˆ์˜ ๋˜๋Š” ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰

  • ์ฟผ๋ฆฌ(Query) = ์‚ฌ์šฉ์ž๊ฐ€ AI ๋ชจ๋ธ์— ์ฃผ๋Š” ์ž…๋ ฅ (์งˆ๋ฌธ, ์š”์ฒญ, ํ”„๋กฌํ”„ํŠธ)
  • ์ฟผ๋ฆฌ ๋ฒกํ„ฐ(Query Vector) = ๊ทธ ์ž…๋ ฅ์„ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์ด ๋ฒกํ„ฐ(์ˆซ์ž ๋ฐฐ์—ด) ๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฐ๊ณผ

→ ์ดํ›„ DB ๋Š” ์ฟผ๋ฆฌ ๋ฒกํ„ฐ์™€ ์ธ๋ฑ์Šค์— ์ €์žฅ๋œ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์œ ์‚ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•จ.

⇒ ์ถ”์ฒœ ์‹œ์Šคํ…œ, ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰, ์ด๋ฏธ์ง€ ์ธ์‹ ๋ฐ ๊ธฐํƒ€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž‘์—…๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋จธ์‹  ๋Ÿฌ๋‹ ์ž‘์—…์„ ์ง€์›

 

๋ฒกํ„ฐ DB ์˜ ์žฅ์ .

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

 

๊ธฐ์กด DB ์™€์˜ ๋น„๊ต

  • ํ–‰๊ณผ ์—ด์ด ์กด์žฌํ•˜๋Š” ๊ธฐ์กด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ์™€ ๋‹ฌ๋ฆฌ, ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋Š” ๊ณ ์ •๋œ ๊ฐœ์ˆ˜์˜ ์ฐจ์›์„ ๊ฐ€์ง„ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„๋จ.
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค : ํ–‰ row ๊ณผ ์—ด column ์˜ 2์ฐจ์› ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•จ. 
  • NoSQL (not sql only) :  ๊ธฐ์กด ๊ด€๊ณ„ํ˜• DB ๋ณด๋‹ค ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹ ๋‹ค์–‘ (๋ฌธ์„œ ๊ธฐ๋ฐ˜, ํ‚ค๊ฐ’๊ธฐ๋ฐ˜, ์—ด๊ธฐ๋ฐ˜ ๋“ฑ) / ํŠธ๋žœ์ ์…˜ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ณด์žฅ ์ƒ๋Œ€์ ์œผ๋กœ ์•ฝํ•จ. 
  • ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ ๊ฐ ๋ฐ์ดํ„ฐ๋Š” ๊ณ ์ฐจ์› ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„๋จ. (3์ฐจ์› ์ด์ƒ๊ณต๊ฐ„)
  • ์ฟผ๋ฆฌ ๋ฐฉ์‹ : ๋ฒกํ„ฐ ์œ ์‚ฌ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒ€์ƒ‰ = ์ž„๋ฒ ๋”ฉ๋œ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ํ•จ. ์ฆ‰, ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๋“ฑ ๋ณต์žกํ•œ ์ž‘์—…์— ์œ ๋ฆฌ. 

๊ธฐ์กด๊ฒ€์ƒ‰ ⇒ ํ‚ค์›Œ๋“œ, ํƒœ๊ทธ ๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ ๊ฐœ๋ณ„ ํ† ํฐ ๊ธฐ๋Šฅ ํ™œ์šฉํ•ด ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜.

๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ⇒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋ฐ€๋„ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•ด (์—ฐ์† ๋ฒกํ„ฐ ๊ณต๊ฐ„) ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ. ์ž ์žฌ์  ํŠน์ง• ๋ฐ ์ธก๋ฉด ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ (*์ž ์žฌ์  ํŠน์ง•: ์ง์ ‘์ ์œผ๋กœ ๊ด€์ฐฐ๋˜์ง€ ์•Š์œผ๋‚˜ ์ˆ˜ํ•™์  ๋ชจ๋ธ์ด๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์—์„œ ์ถ”๋ก ๋˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํŠน์„ฑ์ด๋‚˜ ์†์„ฑ)

 

 

๋ฒกํ„ฐ DB, 3์ค„ ์š”์•ฝ

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

 

๋ฒกํ„ฐ DB ์™€ ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ (RAG) 

  • ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์ด ์™ธ๋ถ€ ์ง€์‹ ๊ธฐ๋ฐ˜์—์„œ ํŒฉํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” AI ํ”„๋ ˆ์ž„์›Œํฌ
  • RAG๋Š” ๋ชจ๋ธ์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ํŒฉํŠธ์— ์—ฐ๊ฒฐ๋˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋ธ์˜ ์†Œ์Šค์— ์•ก์„ธ์Šคํ•˜์—ฌ ์ฃผ์žฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›
  • RAG๋Š” ๊ณ ์ฐจ์› ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์šด๋ฐ์ด์…˜ ๋ชจ๋ธ์— ์˜ํ•œ ์ปจํ…์ŠคํŠธ ๋‚ด ํ•™์Šต์„ ์œ„ํ•ด ์˜๋ฏธ์ ์œผ๋กœ ๊ด€๋ จ์„ฑ์ด ๋†’์€ ์ •๋ณด๋กœ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐ•ํ™”

 

๋ฒกํ„ฐ DB ์„ ์ • ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ 

1. ๋ฒกํ„ฐ DB ์œ ํ˜•

1) ๋…๋ฆฝํ˜• ๋ฒกํ„ฐ DB (Standalone Vector DB)

๋ฒกํ„ฐ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค๊ณ„๋œ '๋ฒกํ„ฐ ์ „์šฉ' ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๋ฒกํ„ฐ ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”๋œ ๋‹ค์–‘ํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  • ์˜คํ”ˆ์†Œ์Šค: Weaviate, Milvus, Qdrant, Chroma
  • ๋…์ /๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค: Pinecone

2) ํ™•์žฅํ˜• ๊ธฐ์กด DB (Extended Traditional DB)

๊ธฐ์กด์— ๋„๋ฆฌ ์“ฐ์ด๋˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ 'ํ”Œ๋Ÿฌ๊ทธ์ธ'์ด๋‚˜ 'ํ™•์žฅ' ํ˜•ํƒœ๋กœ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • A) ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB) ํ™•์žฅ: ๊ธฐ์กด RDB ์ธํ”„๋ผ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ์‹œ: PostgreSQL + pgvector ํ™•์žฅ, MariaDB (์ž์ฒด ๋‚ด์žฅ)
  • B) ๊ฒ€์ƒ‰ ์—”์ง„ ํ™•์žฅ: ์ „ํ†ต์ ์ธ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰๊ณผ ๋ฒกํ„ฐ ๊ธฐ๋ฐ˜ ์˜๋ฏธ ๊ฒ€์ƒ‰์„ ๊ฒฐํ•ฉํ•œ 'ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰'์— ๋งค์šฐ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ์‹œ: Elasticsearch, OpenSearch

3) ๊ฒฝ๋Ÿ‰ / ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Lightweight / File-based Library)

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

  • ์˜ˆ์‹œ: FAISS

4) ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ (Integrated Data Platform) 

๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌํ•˜์šฐ์Šค์ฒ˜๋Ÿผ, ๊ธฐ์—…์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฑฐ๋Œ€ํ•œ ํ”Œ๋žซํผ์— ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด '๋‚ด์žฅ ๊ธฐ๋Šฅ'์œผ๋กœ ํฌํ•จ๋œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

  • ์˜ˆ์‹œ: IBM watsonx.data, Databricks Vector Search, Snowflake Cortex
 

 

2. ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ 

- ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ์›จ์–ด ์ž์›  

- ๋น„์šฉ 

- ๊ด€๋ฆฌ ์šฉ์ด์„ฑ: ๊ฐœ๋ฐœ ํŽธ๋ฆฌ ํ•ด์•ผํ•จ. 

- ๊ฐ€๋ฒผ์›Œ์•ผ ํ•จ. -> ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ ๋Œ€ํ™” ์ฑ—๋ด‡ ์„œ๋น„์Šค์— ๋งž์•„์•ผ ํ•จ. 

- ์ฑ—๋ด‡ ์„œ๋น„์Šค์—์„œ "๋Œ€ํ™”" ๋ฐ์ดํ„ฐ๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ(์‚ญ์ œ, ๋ณต๊ตฌ, ๋ชฉ๋ก/๊ฒ€์ƒ‰, ๊ฐ์‚ฌ, ๊ถŒํ•œ)์— ์ง์ ‘ ์“ฐ์ด๋ฏ€๋กœ ๊ด€๊ณ„ํ˜• DB ์— ์›๋ณธ ์ €์žฅ ํ•„์ˆ˜. 

- Chroma ๋“ฑ ๋ฒกํ„ฐ DB ์—๋„ documents ์„น์…˜์— ์›๋ณธ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ, ์šด์˜๋‹จ๊ณ„์˜ ๋ฐ์ดํ„ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค, ๊ถŒํ•œ, ๊ฐ์‚ฌ, ๋ฆฌํฌํŒ…์„ ๊ฐ•ํ•˜๊ฒŒ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•จ. 

- RDB + Vector DB ์‚ฌ์šฉํ•˜๊ธฐ. 

 

3. ์„ฑ๋Šฅ

- ๊ฒ€์ƒ‰ ์†๋„ 

- ์ฒ˜๋ฆฌ๋Ÿ‰

- ๊ฒ€์ƒ‰ ์ •ํ™•๋„ 

- ์ธ๋ฑ์‹ฑ ์†๋„ 

 

๋ฒกํ„ฐ DB ๋ชฉ๋ก 

๋ฌด๋ฃŒ DB ๋ฒกํ„ฐ ์ค‘ ๊ฐ€์žฅ ์–ธ๊ธ‰์ด ๋งŽ์€ DB ๋“ค์„ ๊ฐ€์ ธ์˜ด. 

์•ž์„œ ์„ ํƒํ–ˆ๋˜ AI ๋ชจ๋ธ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ๋žŒ๋“ค์ด ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜๋ฉฐ ์•ˆ์ •์„ฑ์ด '๊ฒ€์ฆ'๋œ ๊ธฐ์ˆ ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ์ค‘์š”

๋ฒกํ„ฐ DB 1024 ์ฐจ์› ์ง€์› ๋ฌด๋ฃŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๋น„๊ณ 
Pinecone โœ… โš ๏ธ (์ œํ•œ์ ) ๋ฌด๋ฃŒ 'Starter' ํ”Œ๋žœ์ด ์žˆ์ง€๋งŒ, ์šฉ๋Ÿ‰/๊ธฐ๋Šฅ์— ์ƒ๋‹นํ•œ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
Weaviate โœ… โœ… ์˜คํ”ˆ์†Œ์Šค. ์ง์ ‘ ์„œ๋ฒ„์— ์„ค์น˜ํ•˜์—ฌ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
Milvus โœ… โœ… โœ… ์˜คํ”ˆ์†Œ์Šค. ์ง์ ‘ ์„œ๋ฒ„์— ์„ค์น˜ํ•˜์—ฌ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
Qdrant โœ… โœ… ์˜คํ”ˆ์†Œ์Šค. ์ง์ ‘ ์„œ๋ฒ„์— ์„ค์น˜ํ•˜์—ฌ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
Chroma โœ… โœ… โœ… ์˜คํ”ˆ์†Œ์Šค. ์ง์ ‘ ์„œ๋ฒ„์— ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋„ ๊ฐ€๋Šฅ. LangChain๊ณผ์˜ ํ†ตํ•ฉ์ด ๋งค์šฐ ์ž˜ ๋˜์–ด ์žˆ์–ด
PostgreSQL + pgvector โœ… โœ… โœ… PostgreSQL๊ณผ pgvector ๋ชจ๋‘ ์˜คํ”ˆ์†Œ์Šค.
MariaDB โœ… โœ… MariaDB Community Server๋Š” ์˜คํ”ˆ์†Œ์Šค.

 

ํ˜„์žฌ๋กœ์„œ๋Š” PostgreSQL + pgvector โœ… ๊ฐ€ 

์šด์˜ ๋ฐ์ดํ„ฐ(RDB) ์™€ ์˜๋ฏธ ๊ฒ€์ƒ‰(๋ฒกํ„ฐ) ๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ,

์ดˆ๊ธฐ/์ค‘์†Œ ๊ทœ๋ชจ ์„œ๋น„์Šค์˜ ๋น„์šฉ·๊ด€๋ฆฌ·๊ฐœ๋ฐœ ํŽธ์˜์„ฑ ์ธก๋ฉด์—์„œ ๊ฐ€์žฅ ์ข‹์€ ์„ ํƒ์ด๋ผ๊ณ  ์ƒ๊ฐ๋จ. 

 

 

 

์ฐธ๊ณ  

 

10ํ™” ๋ฒกํ„ฐ DB๋Š” ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅผ๊นŒ?

2์ฐจ์› ๊ณต๊ฐ„์—์„œ ๋‹ค์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ๋ฒ”์œ„๋ฅผ ํ™•์žฅ์‹œํ‚จ ๋ฒกํ„ฐDB | ์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” ์ž…๋ ฅ๋œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•œ ํฌ๊ธฐ์˜ ๋ฉ์–ด๋ฆฌ๋กœ ์ชผ๊ฐœ์–ด ์ฃผ๋Š” ์ฒญํ‚น(Chunking)๊ณผ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ์ž„๋ฒ 

brunch.co.kr

 

 

 

Chroma Docs

Documentation for ChromaDB

docs.trychroma.com

 

 

'LLM' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

RAG ๊ตฌ์ถ•์„ ์œ„ํ•œ ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์„ ์ •ํ•˜๊ธฐ  (0) 2025.10.02
'LLM' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • RAG ๊ตฌ์ถ•์„ ์œ„ํ•œ ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์„ ์ •ํ•˜๊ธฐ
jennnnna
jennnnna
  • jennnnna
    ๐Ÿ’ป๐Ÿ€Jennna's BLOG
    jennnnna
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (74) N
      • ์ปดํ“จํ„ฐ (1)
        • Operating system ์šด์˜์ฒด์ œ (8)
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ (5)
        • JAVA (6)
        • PHP (1)
        • Android (7)
        • Apache (1)
        • Python (0)
      • ๊ณต๋ถ€ (15)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€๊ธฐ๋ก (12)
        • TIL (3)
      • AI (2) N
      • TTS (1)
      • LLM (2)
      • RAG (1)
      • ์–ดํ•™ (5)
        • English (5)
        • Japanese (ๆ—ฅๆœฌ่ชž) (0)
      • ๊ธ€์“ฐ๊ธฐ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์•ˆ๋“œ๋กœ์ด๋“œ
    ์˜ค๋ธ”์™„
    ์•ˆ๋“œ๋กœ์ด๋“œ๊ฐœ๋ฐœ
    ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌํ•„๊ธฐ
    ์šด์˜์ฒด์ œ
    ๋ฌต์€์ง€์ฐธ์น˜๊น€๋ฐฅ
    ์นดํŽ˜์•Œ๋ฐ”
    ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
    ์ž๋ฐ”๋…ํ•™
    ๋น„์ „๊ณต์ž๊ฐœ๋ฐœ์ž
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์žฅ์ธํ•œ๊ณผ
    cs๊ณต๋ถ€
    ๋น„์ „๊ณต์žcs๊ณต๋ถ€
    ์ •์ฒ˜๊ธฐ
    ์ž๋ฐ”๊ณต๋ถ€
    ์ž๋ฐ”๊ธฐ์ดˆ
    ์šด์˜์ฒด์ œ๊ณต๋ถ€
    CS์ง€์‹
    ์ž๋ฐ”๊ณต์‹๋ฌธ์„œ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
jennnnna
Vector Database ๋ฒกํ„ฐ DB
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”