-
[ ๋ฉด์ ์ ์ํ cs ์ ๊ณต์ง์ ๋ ธํธ ์ ๋ฆฌ ] 4.๋ฐ์ดํฐ๋ฒ ์ด์ค : ์ธ๋ฑ์คBook 2024. 4. 21. 17:03๋ฐ์ํ
4.5 ์ธ๋ฑ์ค
4.5.1 ์ธ๋ฑ์ค์ ํ์์ฑ
4.5.2 B-ํธ๋ฆฌ
4.5.3 ์ธ๋ฑ์ค ๋ง๋๋ ๋ฐฉ๋ฒ
4.5.4 ์ธ๋ฑ์ค ์ต์ ํ ๊ธฐ๋ฒ
4.5 ์ธ๋ฑ์ค
4.5.1 ์ธ๋ฑ์ค์ ํ์์ฑ
์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ ํ๋์ ์ฅ์น๋ก, ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ฉด ํ ์ด๋ธ ์์ ๋ด๊ฐ ์ฐพ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
4.5.2 B-ํธ๋ฆฌ์ธ๋ฑ์ค๋ ๋ณดํต B-ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, B-ํธ๋ฆฌ์ ์ต์์์ ์กด์ฌํ๋ ๋จ ํ๋์ ๋ ธ๋๋ฅผ ๋ฃจํธ ๋ ธ๋(oot Node), ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ ๋ ธ๋๋ฅผ ๋ธ๋์น ๋ ธ๋(Branch Node), ์ตํ์ ๋ ธ๋๋ฅผ ๋ฆฌํ ๋ ธ๋(Leaf Node)๋ผ๊ณ ํ๋ค.
- ์ธ๋ฑ์ค๊ฐ ํจ์จ์ ์ธ ์ด์
ํจ์จ์ ์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๋ชจ๋ ์์์ ์ ๊ทผํ ์์๋ ๊ท ํ ์กํ ํธ๋ฆฌ ๊ตฌ์กฐ์ ํธ๋ฆฌ ๊น์ด์ ๋์ํ์ฅ์ฑ ๋๋ฌธ์ด๋ค. - ๋์ํ์ฅ์ฑ
ํธ๋ฆฌ ๊น์ด๊ฐ ๋ฆฌํ ๋ ธ๋ ์์ ๋นํด ๋งค์ฐ ๋๋ฆฌ๊ฒ ์ฑ์ฅํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ฑ์ค๊ฐ ํ ๊น์ด์ฉ ์ฆ๊ฐํ ๋๋ง๋ค ์ต๋ ์ธ๋ฑ์ค ํญ๋ชฉ์ ์๋ 4๋ฐฐ์ฉ ์ฆ๊ฐํ๋ค.
4.5.3 ์ธ๋ฑ์ค ๋ง๋๋ ๋ฐฉ๋ฒ- MySQL
MySQL์ ๊ฒฝ์ฐ ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค์ ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค๊ฐ ์๋ค.
- ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค
ํ ์ด๋ธ๋น ํ๋๋ฅผ ์ค์ ํ ์ ์๋ค.
primary key ์ต์ ์ผ๋ก ๊ธฐ๋ณธํค๋ฅผ ๋ง๋ค๋ฉด ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์๊ณ , ๊ธฐ๋ณธํค๋ก ๋ง๋ค์ง ์๊ณ unique not null ์ต์ ์ ๋ถ์ด๋ฉด ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๋ก ๋ง๋ค ์ ์๋ค. - ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค
๋ณด์กฐ ์ธ๋ฑ์ค๋ก ์ฌ๋ฌ ๊ฐ์ ํ๋ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ๋ง์ด ๋ณด๋ผ ๋ ์์ฑํด์ผ ํ๋ ์ธ๋ฑ์ค์ด๋ค.
create index... ๋ช ๋ น์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง๋ฉฐ, ํ๋์ ์ธ๋ฑ์ค๋ง ์์ฑํ๋ค๋ฉด ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๋ฅผ ๋ง๋๋๊ฒ์ด ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค๋ฅผ ๋ง๋๋ ๊ฒ๋ณด๋ค ์ฑ๋ฅ์ด ์ข๋ค.
- MongoDB
MongoDB์ ๊ฒฝ์ฐ ๋ํ๋จผํธ๋ฅผ ๋ง๋ค๋ฉด ์๋์ผ๋ก ObjectID๊ฐ ํ์ฑ๋๋ฉฐ, ํด๋น ํค๊ฐ ๊ธฐ๋ณธํค๋ก ์ค์ ๋๋ค.
์ธ์ปจ๋๋ฆฌํค๋ ๋ถ๊ฐ์ ์ผ๋ก ์ค์ ํด์ ๊ธฐ๋ณธํค์ ์ธ์ปจ๋๋ฆฌํค๋ฅผ ๊ฐ์ด์ฐ๋ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ ์ ์๋ค.
4.5.4 ์ธ๋ฑ์ค ์ต์ ํ ๊ธฐ๋ฒ- ์ธ๋ฑ์ค๋ ๋น์ฉ์ด๋ค.
์ธ๋ฑ์ค๋ ๋ ๋ฒ ํ์ํ๋๋ก ๊ฐ์ํ๋ค. ์ธ๋ฑ์ค ๋ฆฌ์คํธ, ๊ทธ๋ค์ ์ปฌ๋ ์ ์์ผ๋ก ํ์ํ๊ธฐ ๋๋ฌธ์ด๋ฉฐ ๊ด๋ จ ์ฝ๊ธฐ ๋น์ฉ์ด ๋ค๊ฒ๋๋ค.
๋ํ ์ปฌ๋ ์ ์ด ์์ ๋์์ ๋ ์ธ๋ฑ์ค๋ ์์ ๋์ด์ผ ํ๋๋ฐ (์์๋ก ์ฑ ์ ๋ณธ๋ฌธ์ ์์ ๋๋ฉด ๋ชฉ์ฐจ๋ ์ฐพ์๋ณด๊ธฐ๋ ์์ ํด์ผ ํจ) ์ด๋ B-ํธ๋ฆฌ์ ๋์ด๋ฅผ ๊ท ํ ์๊ฒ ์กฐ์ ํ๋ ๋น์ฉ๋ ๋ค๊ณ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์กฐํํ ์ ์๋๋ก ๋ถ์ฐ์ํค๋ ๋น์ฉ๋ ๋ค๊ฒ ๋๋ค.
๊ทธ๋ ๊ฒ ๋๋ฌธ์ ์ฟผ๋ฆฌ์ ์๋ ํ๋์ ์ธ๋ฑ์ค๋ฅผ ๋ฌด์์ ๋ค ์ค์ ํ๋ ๊ฒ์ด ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๋ ๋ฐฉ๋ฒ๋ ์๋๋ฉฐ, ์ปฌ๋ ์ ์์ ๊ฐ์ ธ์์ผํ๋ ์์ด ๋ง์์๋ก ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. - ํญ์ ํ
์คํ
ํ๋ผ.
์ธ๋ฑ์ค ์ต์ ํ ๊ธฐ๋ฒ์ ์๋น์ค ํน์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ฐ ์ด๋ ์๋น์ค์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด์ ๊น์ด๋ ํ ์ด๋ธ์ด ์ ๋ฑ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ํญ์ ํ ์คํธ๋ฅผ ํด์ผํ๋๋ฐ explain()ํจ์๋ฅผ ํตํด ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค๊ณ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ธ ์ดํ์ ํ ์คํ ์ ํ๋ฉฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ต์ํ ํด์ผํ๋ค. - ๋ณตํฉ ์ธ๋ฑ์ค๋ ๊ฐ์, ์ ๋ ฌ, ๋ค์ค ๊ฐ, ์นด๋๋๋ฆฌํฐ ์์ด๋ค.
๋ณดํต ์ฌ๋ฌ ํ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์กฐํํ ๋ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋๋ฐ, ์ด ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ๋๋ ์์๊ฐ ์๊ณ ์์ฑ ์์์ ๋ฐ๋ผ ์ธ๋ฑ์ค ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๋ค. ๊ฐ์, ์ ๋ ฌ, ๋ค์ค ๊ฐ, ์นด๋๋๋ฆฌํฐ ์์ผ๋ก ์์ฑํด์ผ ํ๋ค.
โ ์ด๋ ํ ๊ฐ๊ณผ ๊ฐ์์ ๋น๊ตํ๋ ==์ด๋ equal ์ด๋ผ๋ ์ฟผ๋ฆฌ๊ฐ ์๋ค๋ฉด ๊ฐ์ฅ ๋จผ์ ์ธ๋ฑ์ค๋ก ์ค์ ํ๋ค.
โ ์ ๋ ฌ์ ์ฐ๋ ํ๋๋ผ๋ฉด ๊ทธ๋ค์ ์ธ๋ฑ์ค๋ก ์ค์ ํ๋ค.
โ ๋ค์ค ๊ฐ์ ์ถ๋ ฅํด์ผ ํ๋ ํ๋, ์ฆ ์ฟผ๋ฆฌ ์์ฒด๊ฐ >์ด๊ฑฐ๋ < ๋ฑ ๋ง์ ๊ฐ์ ์ถ๋ ฅํด์ผ ํ๋ ์ฟผ๋ฆฌ์ ์ฐ๋ ํ๋๋ผ๋ฉด ๋์ค์ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ค.
โ ์ ๋ํฌํ ๊ฐ์ ์ ๋๋ฅผ ์นด๋๋๋ฆฌํฐ๋ผ๊ณ ํ๋๋ฐ, ์ด ์นด๋๋๋ฆฌํฐ๊ฐ ๋์ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํด์ผ ํ๋ค.
๋ฐ์ํ'Book' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- ์ธ๋ฑ์ค๊ฐ ํจ์จ์ ์ธ ์ด์