[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/