[Qdrant] ์„ธ๊ทธ๋จผํŠธ (Segment)

Qdrant๊ฐ€ ์„ธ๊ทธ๋จผํŠธ๋ผ๋Š” ๋‹จ์œ„๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฟผ๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

๋Œ€๋žต์ ์œผ๋กœ ์–ด๋–ค ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ณ , ๋˜ ์ตœ์ ํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.




์„ธ๊ทธ๋จผํŠธ

์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฒกํ„ฐ ํ–‰ ๋ฐ์ดํ„ฐ๋“ค์€ ํ•˜๋‚˜์”ฉ ์ €์žฅ๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ์„ธ๊ทธ๋จผํŠธ๋ผ๋Š” ๊ณ ์œ ์˜ ๋””์Šคํฌ ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ €์žฅ์ด ๋œ๋‹ค.
์•ฝ๊ฐ„ Elasticsearch์˜ Index Segment์™€ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ด๋„ ๋œ๋‹ค.

์„ธ๊ทธ๋จผํŠธ์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํ–‰๋“ค์ด ๊ทธ๋ฃนํ™”๋œ ์ฑ„๋กœ ์ €์žฅ๋˜์–ด์žˆ๊ณ ,

๊ฐ ์„ธ๊ทธ๋จผํŠธ๋“ค์€ ๊ทธ ์ž์ฒด๋กœ๋„ ๊ณ ์œ ํ•˜๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋ฒกํ„ฐ ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ํŽ˜์ด๋กœ๋“œ ๋ฐ์ดํ„ฐ ์Œ, ๊ทธ๋ฆฌ๊ณ  ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ธ๋ฑ์Šค๋“ค๊นŒ์ง€ ์ผ์ฒดํ˜•์œผ๋กœ ๋“ค์–ด๊ฐ€์žˆ๋‹ค.

์ด๊ฑด ํšจ์œจ์ ์ธ ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์•ฝ๊ฐ„ ์ œํ•œ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.
์„ธ๊ทธ๋จผํŠธ์—๋Š” append, ํ˜น์€ delete๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. update๋Š” ๋˜์ง€ ์•Š๋Š”๋‹ค.




์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ

๋‹จ์ผ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋‹ค๋ฉด ์ธ๋ฑ์‹ฑ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ž˜์„œ ์ธ๋ฑ์‹ฑ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

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

์ตœ๋Œ€ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋Š” collection ์ƒ์„ฑ/์ˆ˜์ • ์˜ต์…˜์—์„œ max_segment_size๋ฅผ ๊ฑด๋“œ๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ์ œ์–ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 200Mb์ด๋‹ค.




์„ธ๊ทธ๋จผํŠธ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ

์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆด๋•Œ๋Š” ์„ธ๊ทธ๋จผํŠธ ๋‹จ์œ„๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์—ฐ์‚ฐ ํ›„ ๋ณ‘ํ•ฉํ•ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๊ฑด ์ปฌ๋ ‰์…˜์˜ optimizer_config.default_segment_number ์˜ต์…˜์œผ๋กœ ์กฐ์ •ํ•  ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๋‹ค. 0์ด๋ฉด ๊ทธ๋ƒฅ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ ๊ฐœ์ˆ˜๋ฅผ ์•Œ์•„์„œ ์ •ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด CPU ์ฝ”์–ด๊ฐ€ ์ด 4๊ฐœ๊ณ , optimizer_config.default_segment_number๋ฅผ 4๋กœ ์ง€์ •ํ•œ๋‹ค๋ฉด, ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์ด 4๊ฐœ๋กœ๋งŒ ๋ถ„์‚ฐ๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ ์ฝ”์–ด๊ฐ€ ํ•˜๋‚˜์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ด๋ก ์ ์œผ๋กœ ์ตœ์ ์˜ ๋ ˆ์ดํ„ด์‹œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€์‹  ์ธ๋ฑ์Šค ๊ตฌ์„ฑ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.



์ฐธ์กฐ
https://qdrant.tech/documentation/concepts/storage/
https://qdrant.tech/documentation/concepts/optimizer/
https://api.qdrant.tech/v-1-13-x/api-reference/collections/create-collection
https://qdrant.tech/documentation/guides/optimize/