Index

์ธ๋ฑ์Šค์˜ ์ดํ•ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ SortedList์™€ ArrayList๋ผ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค.

ArrayList๋Š” ๊ฐ’์„ ์ €์žฅ๋˜๋Š” ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๊ณ , Sorted List๋Š” ์ €์žฅ๋˜๋Š” ๊ฐ’์„ ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋ฉฐ, DBMS์˜ ์ธ๋ฑ์Šค์™€ ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

์ธ๋ฑ์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ €์žฅ๋˜๋Š” ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ์ด์šฉํ•ด ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ํŒŒ์ผ์€ ArrayList์™€ ๊ฐ™์ด ์ €์žฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ณ„๋„์˜ ์ •๋ ฌ ์—†์ด ๊ทธ๋Œ€๋กœ ์ €์žฅํ•ด ๋‘”๋‹ค.

SortedList์˜ ์žฅ๋‹จ์ ์„ ํ†ตํ•ด ์ธ๋ฑ์Šค์˜ ์žฅ๋‹จ์ ์„ ์‚ดํŽด๋ณด์ž.

SortedList๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ๋•Œ๋งˆ๋‹ค ์ €์žฅ ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ  ๋А๋ฆฌ์ง€๋งŒ, ์ •๋ ฌ๋˜์–ด ์žˆ์–ด์„œ ๋นจ๋ฆฌ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์ธ๋ฑ์Šค๋„ ์ธ๋ฑ์Šค๊ฐ€ ๋งŽ์€ ํ…Œ์ด๋ธ”์€ ๋‹น์—ฐํžˆ DML(INSERT, UPDATE, DELETE) ๋ฌธ์žฅ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋А๋ ค์ง„๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฏธ ์ •๋ ฌ๋œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— SELECT ์ฟผ๋ฆฌ๋Š” ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ DBMS์—์„œ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ(INSERT, UPDATE, DELETE) ์„ฑ๋Šฅ์„ ํฌ์ƒํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ฝ๊ธฐ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

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

RDBMS์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋Œ€ํ‘œ์ ์œผ๋กœ B-Tree์™€ Hash ์ธ๋ฑ์Šค๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์น˜ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ R-Tree ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋„ ๊ฒฐ๊ตญ B-Tree์˜ ์‘์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Hash ์ธ๋ฑ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ปฌ๋Ÿผ์˜ ๊ฐ’์œผ๋กœ ํ•ด์‹œ๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ ์ธ๋ฑ์‹ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋งค์šฐ ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฐ’์„ ๋ณ€ํ˜•ํ•ด์„œ ์ธ๋ฑ์‹ฑํ•˜๋ฏ€๋กœ ์ „๋ฐฉ(Prefix) ์ผ์น˜์™€ ๊ฐ™์ด ๊ฐ’์˜ ์ผ๋ถ€๋งŒ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฒ”์œ„ ๊ฒ€์ƒ‰ํ•  ๋•Œ๋Š” ํ•ด์‹œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. (Hash ์ธ๋ฑ์Šค๋Š” ์ฃผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ DB์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.)

์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์™€ ๋…ผ-์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ํ—ˆ์šฉ ์—ฌ๋ถ€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ธ๋ฑ์Šค๊ฐ€ ์œ ๋‹ˆํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹จ์ˆœํžˆ ๊ฐ™์€ ๊ฐ’์ด 1๊ฐœ๋งŒ ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ํŒ๋‹จํ•˜์ง€๋งŒ, ์‹ค์ œ DBMS์˜ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ €์—๊ฒŒ๋Š” ์ค‘์š”ํ•œ ๋ฌธ์ œ์ด๋‹ค.

์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด ๋™๋“ฑ(Equal, =)์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ํ•ญ์ƒ 1๊ฑด์˜ ๋ ˆ์ฝ”๋“œ๋งŒ ์ฐพ์œผ๋ฉด ๋” ์ฐพ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜ตํ‹ฐ๋งˆ์ด์ €์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๋‚ธ๋‹ค.

Last updated