๐Ÿ›ข ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค B-TREE

Hyeok_kikiยท2021๋…„ 9์›” 2์ผ
0

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ชฉ๋ก ๋ณด๊ธฐ
1/2

B-TREE : ์ตœ์ƒ๋‹จ ROOT ๋…ธ๋“œ๋ถ€ํ„ฐ ์ž์‹๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‘๊ฐœ ์ด์ƒ์˜ ํŠธ๋ฆฌ์ด๋‹ค.

๋…ธ๋“œ๋‚ด ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ 2๊ฐœ๋ผ๋ฉด 2์ฐจ B-TREE ์ด๋Ÿฐ์‹์œผ๋กœ N๊ฐœ๋ผ๋ฉด N์ฐจ B-TREE ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์„ฑ๋ฆฝ์กฐ๊ฑด
  1. ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ์ˆ˜๊ฐ€ n๊ฐœ๋ผ๋ฉด ์ž์‹๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” n+1๊ฐœ ์ด๋‹ค.

img

  1. ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์ •๋ ฌ๋˜ ์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค.

  2. ๋…ธ๋“œ์˜ ์ž์‹๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๋“ค์€ ๋…ธ๋“œ ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์€ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ

    ํฐ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์— ์ด๋ฃจ์–ด์ง„๋‹ค.

์œ„ ๊ทธ๋ฆผ์—์„œ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ 8,13 ์ด๋ฏ€๋กœ 8๋ณด๋‹ค ์ž‘์€ ๋ฐ์ดํ„ฐ๋Š” ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ

๊ฐ€์šด๋ฐ ์„œ๋ธŒํŠธ๋ฆฌ์—๋Š” 8๊ณผ 13์˜ ์‚ฌ์ด ๋ฐ์ดํ„ฐ

13๋ณด๋‹ค ํฐ ๋ฐ์ดํ„ฐ๋Š” ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์— ๋‹ด๊ธด๋‹ค.

  1. ROOT ๋…ธ๋“œ๊ฐ€ ์ž์‹์ด ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ 2๊ฐœ ์ด์ƒ์˜ ์ž์‹์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
  2. ROOT ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋Š” ์ ์–ด๋„ N/2 ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

img

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์™ผ์ชฝ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ 1๊ฐœ ์ด๋ฏ€๋กœ 5๋ฒˆ ์กฐ๊ฑด์— ํ•ด๋‹น ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ถ€ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

  1. LEAF ๋…ธ๋“œ๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ์˜ ๊ธธ์ด๋Š” ๋ชจ๋‘ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.( LEAF ๋…ธ๋“œ๋Š” ๋ชจ๋‘ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•ด์•ผํ•œ๋‹ค.)
  2. ์ž…๋ ฅ ์ž๋ฃŒ๋Š” ์ค‘๋ณต์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค.

ํƒ์ƒ‰

ํƒ์ƒ‰ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ’์„ ROOT ๋…ธ๋“œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ํ•˜ํ–ฅ์‹์œผ๋กœ ํƒ์ƒ‰ํ•œ๋‹ค.

์‚ฝ์ž…

  • ์ดˆ๊ธฐ ์‚ฝ์ž…์‹œ ROOT ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑ ( insert 5) 3์ฐจ B-TREE ๊ธฐ์ค€

insert 7 ์—์„œ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ ๋ถ„๋ฆฌ

insert 12 ์—์„œ 7,9,12 ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ๋…ธ๋“œ๊ฐ€ ๊ฐ€๋“์ฐจ์„œ ๋ถ„๋ฆฌ๋ฅผ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ B-TREE ์กฐ๊ฑด์— ์œ„๋ฐฐ๋˜๋ฏ€๋กœ

  1. LEAF ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•˜๋„๋ก ๋ณ€๊ฒฝ
  2. ROOT ๋…ธ๋“œ์™€ merge๋กœ ์กฐ๊ฑด์„ ์ถฉ์กฑ
์‚ญ์ œ
  1. LEAF ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•˜๋Š”๊ฒฝ์šฐ
  2. LEAF ๋…ธ๋“œ๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ

1์˜ LEAF ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•˜๋Š”๊ฒฝ์šฐ B-TREE ๊ตฌ์กฐ๊ฐ€ ๊นจ์ง€๋ฏ€๋กœ ์‚ญ์ œํ•œ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

1์˜ ๋ถ€๋ชจ ๋…ธ๋“œ์™€, ํ˜•์ œ ๋…ธ๋“œ๋ฅผ merge ํ•˜๋ฉฐ ๋ถ€๋ชจ ๋…ธ๋“œ์—์„œ ์ž์‹๋…ธ๋“œ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์™€ ์ž์‹๋…ธ๋“œ์˜ ํ˜•์ œ๋…ธ๋“œ์™€

merge๋ฅผ ์ง„ํ–‰ root ๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ€๋ฉฐ B-TREE ์กฐ๊ฑด์— ๋งž์„๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

(2) 1์˜ ๊ฐ’์„ ๊ฐ€์ง„ LEAF ๋…ธ๋“œ ์‚ญ์ œ

(3) ๋ถ€๋ชจ๋…ธ๋“œ๋กœ ์˜ฌ๋ผ๊ฐ€ 5์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค

(4) 5์˜ ๋ถ€๋ชจ๋…ธ๋“œ๋กœ ์˜ฌ๋ผ๊ฐ€ 9๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉฐ ํ˜•์ œ๋…ธ๋“œ์™€ merge ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ์™„์ „ํ•œ B-TREE ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑ

LEAF ๋…ธ๋“œ์— ์œ„์น˜ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ๊ฒฝ์šฐ

๋…ธ๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์—์„œ ๊ฐ€์žฅ ํฐ๊ฐ’์„ ๋…ธ๋“œ์— ์œ„์น˜์‹œํ‚ต๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ถ€๋ชจ๋…ธ๋“œ์—์„œ ์ž์‹๋…ธ๋“œ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์™€ ํ˜•์ œ๋…ธ๋“œ์™€ merge ์‹œํ‚ค๋ฉฐ

B-TREE ์กฐ๊ฑด์ด ๋งž์„๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด