์น ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์งํฑํ๋ ๊ธฐ์ ๋์๋ฅผ ์ฝ๊ณ B+Tree ์ธ๋ฑ์ค ๋ถ๋ถ์ ์ ๋ฆฌํด๋ณด์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ๋ฑ์ค๊ฐ ์ด๋ ํ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌํ๋์ด ์๊ณ ์ด๋ป๊ฒ ๊ฒ์์ ํ๋์ง ์์๋ณด์.
B+Tree ์ธ๋ฑ์ค๋ Tree ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ ์ธ๋ฑ์ค์ด๋ค. ์ ์์ด ๋ฃจํธ(root) ๋ธ๋ก, ์ตํ์ธต์ด ๋ฆฌํ(leaf) ๋ธ๋ก์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ๊ทธ ์ฌ์ด์ ๋ธ๋์น(branch) ๋ธ๋ก์ด ๋ค์ด๊ฐ๋ค. ๋ฃจํธ ๋ธ๋ก๊ณผ ๋ธ๋์น ๋ธ๋ก์ ๊ฒ์ ํค์ ๋ํด ํด๋น ๋ธ๋ก์ด ์ด๋์ ์๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ธ๋ฑ์ค ๊ฒ์ ์์๋ ๋ฃจํธ โ ๋ธ๋์น โ ๋ฆฌํ ์์ผ๋ก ๋๋ฌํ์ฌ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์๋ค. ๋ ์ฝ๋ ์๊ฐ ์ ์ผ๋ฉด ๋ฃจํธ๊ฐ ๋ธ๋์น๋ฅผ ๊ฒธํ๋ฉฐ, ๋ฃจํธ์ ๋ฆฌํ๋ฐ์ ์๋ ํจํด๋ ์กด์ฌํ๋ค.
ํํธ, ๋ ์ฝ๋ ์๊ฐ ๋งค์ฐ ๋ง์ ๊ฒฝ์ฐ ๋ธ๋์น ์๋์ ๋ธ๋์น๊ฐ ๋ค์ด๊ฐ๋ 4๊ณ์ธต ์ด์์ ๊ตฌ์ฑ์ด ๋ ์๋ ์๋ค. ๋ ์ฝ๋ ์๊ฐ ๋ง์์ง๋ฉด ๋ง์์ง์๋ก ๋ธ๋์น ์ธต๋ ๋์ด๋๊ณ ๊ณ์ธต๋ ๋์ด๋๊ฒ ๋ ๊ฒ์ด๋ค.
๋ธ๋์น ๋ฐ ๋ฆฌํ์ ๋ถ๊ธฐ ๊ฐ์๊ฐ ๋ ๊ฐ๋ฐ์ ์๋ ๊ฒ์ ํน๋ณํ ์ด์ง ํธ๋ฆฌ๋ผ๊ณ ํ๋ค. B+Tree๋ ๋ค๋ถ๊ธฐ ํธ๋ฆฌ๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ, ๋ถ๊ธฐ ๊ฐ์๊ฐ ๋ ๊ฐ ์ ๋๊ฐ ์๋ ์์ญ ๊ฐ์์ ์๋ฐฑ ๊ฐ์ ๊ฑธ์น๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋ถ๊ธฐ ๊ฐ์๋ฅผ ๋ง์ด ํ๋ ์ด์ ๋ ๊ณ์ธต์ ๋จ์๋ฅผ ์ค์ฌ์ ์ก์ธ์ค ํ์๋ฅผ ์ ๊ฒ ํ๊ธฐ ์ํด์๋ค.
์ด์ง ํธ๋ฆฌ์ ๊ฒฝ์ฐ N๊ณ์ธต๋น 2^N๊ฐ๋ฐ์ ๊ธฐ๋ก์ ๊ด๋ฆฌํ ์ ์๋ค. ์ด์ง ํธ๋ฆฌ์ ๊ฒฝ์ฐ ๋ ์ฝ๋ ์ N๋น ํ์์ ํ์ํ ๊ณ์ฐ๋์ด O(log~2N)์ด ๋๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค. O(N)๊ณผ๋ ๋น๊ต๊ฐ ๋์ง ์์ ์ ๋๋ก ํจ์จ์ด ์ข์ง๋ง, ํด์ ์ธ๋ฑ์ค O(1)๊ณผ ๋น๊ตํ๋ฉด ํจ์จ์ฑ์ด ๋จ์ด์ง๋ค. B+Tree์ ๊ฐ์ ๋ค๋ถ๊ธฐ์ ํธ๋ฆฌ ๊ตฌ์ฑ์ ์ทจํจ์ผ๋ก์จ O(log~mN)์ ๊ณ์ฐ๋์ด ๋์ด ์ก์ธ์ค ์๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
B-Tree๋ผ๋ ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ ์๋๋ฐ, ์ด๋ ๋ชจ๋ ๊ฐ์ ๋ฆฌํ ๋ธ๋ก์์๋ง ๊ฐ๋๋ก ์ ํํ์ง ์์ผ๋ฉฐ ๋ธ๋์น์์๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ค. B-Tree ์ธ๋ฑ์ค์ ๋นํ๋ฉด B+Tree ์ธ๋ฑ์ค๋ ์ด๋ค ๊ฒ์์ด๋ผ๋ ๋ฃจํธ์์ ๋ฆฌํ๊น์ง ๊ฑฐ์น์ง ์์ผ๋ฉด ์ด์ ๊ฐ์ ๊ฒ์ํ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค. ๊ทธ๋ฌ๋ ๋ธ๋์น๊ฐ ๋ณด๋ค ์ปดํฉํธํ๋ฏ๋ก ์ธ๋ฑ์ค ์์ฒด์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์๊ฒ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ์ฆ, ์ต์ ์ ๊ฒฝ์ฐ ์ก์ธ์ค ํ์๋ฅผ ์ค์ผ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ํ ๊ด๋ฒ์ํ๊ฒ ๊ฑธ์น ๊ฒ์์์๋ ์๊ธฐ ์์ ์ ๋ฆฌํ ๋ธ๋ก ๋ฟ์ด๋ผ๋ฉด ์ก์ธ์ค๊ฐ ์๊ฒฐ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. B+Tree ์ธ๋ฑ์ค์์๋ ๊ทธ๋ฌํ ๊ฒฝ์ฐ์ ์ฃผ๋ณ์ ๋ฆฌํ ๋ธ๋ก์ผ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ์ก์ธ์คํด ๋๊ฐ์ผ๋ก์จ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์๋ค. B-Tree ์ธ๋ฑ์ค์ ๊ฒฝ์ฐ ๋ฆฌํ๋ฟ๋ง ์๋๋ผ ๋ธ๋์น์์๋ ํค ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ณ์ ๋ฆฌํ๊ฐ ์๋ ๋ธ๋์น๋ก ๋๋์๊ฐ ๊ฐ์ ์กด์ฌ ํ์ธ์ ์ค์ํ๊ณ ๊ทธ ์์ ๋ธ๋์น๋ก ๋์๊ฐ๊ฑฐ๋ ์๋๋ฉด ๋ค๋ฅธ ๋ฆฌํ๋ก ๊ฐ๋ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ๊ฑฐ์ณ์ผ๋ง ํ๋ค. ๊ทธ๋ฌ๋ B+Tree ์ธ๋ฑ์ค๋ผ๋ฉด ๋ฆฌํ ๋ธ๋ก์์ ์ธ์ ํ ๋ฆฌํ ๋ธ๋ก์ผ๋ก ๊ฑด๋๊ฐ๋ ๊ฒ๋ง์ผ๋ก ๊ฐ์ ํ์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ํจ์จ์ ์ด๋ค.
B+Tree ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฑํธ ๊ฒ์์ ๋ฌผ๋ก ๋ถ๋ฑํธ๋ ์ ๋ฐฉ ์ผ์น ๊ฒ์ ๋ฑ์ ๋ฒ์ ๊ฒ์๋ ๋ฆฌํ ๋ธ๋ก์ ์ค์บํ๋ ๊ฒ๋ง์ผ๋ก (๋ธ๋์น๋ฅผ ๊ทธ๋๋ง๋ค ๊ฑฐ์ณ ๋๊ฐ ํ์ ์์ด) ์๊ฒฐํ ์ ์๋ค. ์ฆ, ๊ทธ๋งํผ ๊ณ ์์ด๋ค. ์ด๋ฌํ ๋์ ์ ์ฐ์ฑ์ด B+Tree๊ฐ ๋๋ฆฌ ์ด์ฉ๋์ด ์จ ์ปค๋ค๋ ์ด์ ๋ค.
๋ค์์ B-Tree์ B+Tree์ ์ฐจ์ด์ ์ ์ ๋ฆฌํ ํ ์ด๋ธ์ด๋ค.
๊ตฌ๋ถ | B-Tree | B+Tree |
---|---|---|
๋ฐ์ดํฐ ํฌ์ธํฐ ์์น | ๋ธ๋์น์ ๋ฆฌํ ๋ ธ๋ | ๋ฆฌํ ๋ ธ๋ |
๊ฒ์ ์๊ฐ | ๋ชจ๋ ํค๋ฅผ ๋ฆฌํ์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์๊ฐ์ด ์์๋จ | ๋ชจ๋ ํค๊ฐ ๋ฆฌํ ๋ ธ๋์ ์์ผ๋ฏ๋ก ๋ ๋น ๋ฆ |
์ค๋ณต ํค | ์์ | ์์ ์ ์์ |
์ฝ์ ์๊ฐ | ๋๋ฆผ | ๋น ๋ฆ |
๋ ธ๋ ์ญ์ | ์ด๋ ค์ | ์ฌ์ |