B tree
์ DB index๋ก B tree ๊ณ์ด์ด ์ฌ์ฉ๋๋๊ฐ?
B tree ๊ณ์ด์ด๋?
B tree๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฅ๋ ๋ฒ์ ์ ์๋ฃ๊ตฌ์กฐ
B+ tree, B* tree
์๊ฐ ๋ณต์ก๋
B tree์ ์๊ฐ๋ณต์ก๋
์กฐํ, ์ฝ์ , ์ญ์ ์ ๋ํด์ O(log)N
Binary Search Tree(BST)์ ๋น๊ต
Binary Search Tree๋ ํธํฅ๋๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง์๋ ์์
์ค์ค๋ก ๊ท ํ์ ๋ง์ถ๋ self-balancing BST๊ฐ ์์
์) AVL tree, Red-Black tree
์กฐํ, ์ฝ์ , ์ญ์ ์ ๋ํด์ O(log)N
์๊ฐ๋ณต์ก๋๊ฐ ๊ฐ์๋ฐ, B tree๊ฐ ๊ณผ์ฐ ๋ ์ข์ ๊ฒ์ผ๊น?
Secondary storage
์๋ฏธ
ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๊ฐ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋จ(์ปดํจํฐ๊ฐ ๊บผ์ ธ๋ ๋ฐ์ดํฐ๊ฐ ๋จ์์์)
์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ ์ผ๋ถ๊ฐ ์์ ์ ์ฅ๋๊ธฐ๋ ํจ(swap)
SSD, HDD ๊ฐ ์ด์ ํด๋น๋จ
database๋ ์ฌ๊ธฐ์ ์ ์ฅ๋จ
ํน์ง
๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๋๊ฐ ๊ฐ์ฅ ๋๋ฆผ
SSD๋ RAM์ ๋นํด 10๋ฐฐ ๋๋ฆฌ๊ณ , HDD๋ 100๋ฐฐ ๋๋ฆผ
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฉ๋์ด ๊ฐ์ฅ ํผ (๊ธ์ก๋น ์ฉ๋์ด ํผ)
block ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์
block : file system์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ ผ๋ฆฌ์ ์ธ ๋จ์. 2์ ์น์๋ก ํํ๋๋ฉฐ, 4KB, 8KB, 16KB ๋ฑ์ผ๋ก ๊ฐ์ ธ์ด
๋จ์ : ๋ถํ์ํ ๋ฐ์ดํฐ๊น์ง ์ฝ์ด์ฌ ๊ฐ๋ฅ์ฑ์ด ์์
Secondary storage์ ์๋ DB์ ๋ํ ์ฑ๋ฅ์ ์ธ ๊ณ ๋ฏผ
DB์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋, secondary storage์ ์ต๋ํ ์ ๊ฒ ์ ๊ทผํ๋ ๊ฒ์ด ์ฑ๋ฅ ๋ฉด์์ ์ข์
block ๋จ์๋ก ์ฝ๊ณ ์ฐ๊ธฐ ๋๋ฌธ์ ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ์ ์ฅํ๋ฉด ๋ ํจ์จ์ ์ผ๋ก ์ฝ๊ณ ์ธ ์ ์์
B tree index์ ์ฅ์
๋ ธ๋๋ง๋ค ์ฌ๋ฌ๊ฐ๋ฅผ ๊ฐ๊ณ ์์ ์ ์๊ธฐ์ scondary storage์ ์ ๊ทผํ๋ ํ์๊ฐ ๋ ์ ์
์๋ ๋ ธ๋์๊ฐ ๋ ๋ง์์ ํ์ ๋ฒ์๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ขํ๋๊ฐ ์ ์์ (root์์ leaf๋ก ๊ฐ๋ ํ์๊ฐ ๋ ์ ์)
๊ฐ ๋ ธ๋์ ๋ฌถ์์ด block ๋จ์๋ก ๋ฌถ์ฌ์์ด์ scondary storage์์ ๋ถ๋ฌ์ฌ ๋ ์ ๋ฆฌํ ์ ์์ (์ฌ์ฉ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌถ์ ๋ฟ ์๋๋ผ, ๋ถํ์ํ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ๋ถ๋ ค์ง ํ๋ฅ ์ด ๋ ์ ์)
root๋ ธ๋์์ ์ ์ ๋ ๋ฒจ๋ง์ผ๋ก๋ ๋ ๋์ ๋ฒ์์ ๊ฐ์ ์ ๊ทผํ ์ ์์ -> DB ์กฐํ๋ฅผ ์ํด์ secondary storage์ ์ ๊ทผํ๋ ํ์๊ฐ ๋ ์ ์
์ฐธ๊ณ
Last updated