8.1 ๋์คํฌ ์ฝ๊ธฐ ๋ฐฉ์
HDD vs SSD
- ์์ฐจ I/O ๋ฐฉ์์ ์ฌ์ค SSD๊ฐ HDD๋ณด๋ค ์กฐ๊ธ ๋น ๋ฅด๊ฑฐ๋ ๊ฑฐ์ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.
- ํ์ง๋ง, ๋๋ค I/O์์๋ ๋๋ต 5000๋ฐฐ ์ ๋ ๋น ๋ฅด๋ค.
๋๋ค I/O, ์์ฐจ I/O๋?
- ์์ฐจ I/O๋ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ์ ์ฅํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ 1 ๋ฒ ์์คํ
์๊ฒ ์์ฒญ์ ํ๋ค.
- ์ฆ, ๋์คํฌ ํค๋๋ฅผ 1 ๋ฒ ์์ง์๋ค.
- ๋๋ค I/O๋ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋๋ง๋ค ์์คํ
์๊ฒ ์์ฒญ์ ํ๋ค.
- ์ฆ, ๋์คํฌ ํค๋๋ฅผ n ๋ฒ ์์ง์๋ค.
๊ฒฐ๊ตญ, ์์ฐจ I/O๋ ๋๋ค I/O๋ณด๋ค ๊ฑฐ์ 3๋ฐฐ์ ๋ ๋น ๋ฅด๋ค.
์ผ๋ฐ์ ์ผ๋ก, ์ฟผ๋ฆฌ๋ฅผ ํ๋ํ๋ ๊ฒ์ ๋๋ค I/O๋ฅผ ์ค์ด๊ธฐ ์ํจ์ด๋ค.
8.2 ์ธ๋ฑ์ค๋?
๋ชฉ์ฐจ์ ๋ง์ด ํผ๋์ ํ๋๋ฐ ์ด ๋์ ์ ํ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. (์ฐธ๊ณ )
์๋ ์์์ฒ๋ผ, ‘์ฐพ์๋ณด๊ธฐ’์ ๊ฐ์ด ํด๋น ๋ด์ฉ์ ์๊ณ ์ถ์ผ๋ฉด ๋ช ํ์ด์ง๋ก ๊ฐ๋ผ ์ง๋ฆ๊ธธ์ฒ๋ผ ์๋ ค์ฃผ๋ ๊ฒ์ด ์ธ๋ฑ์ค์ด๋ค.
-ใฑ-
๊ฐ ... 5p
๊ฐ๋๋ฌด ... 10p
-ใด-
๋๋น ... 11p
...
DBMS ์ธ๋ฑ์ค๋ ๋ง์ฐฌ๊ฐ์ง๋ก,
- ์ปฌ๋ผ์ ๊ฐ(key)๊ณผ ํด๋น ๋ ์ฝ๋๊ฐ ์ ์ฅ๋ ์ฃผ์(value)์ ์์ ์ธ๋ฑ์ค๋ก ๋ง๋ค์ด ๋๋ ๊ฒ์ด๋ค.
- ํด๋น ์ธ๋ฑ์ค๋ ใฑ, ใด, ใท ์์ผ๋ก ๋ฏธ๋ฆฌ ์ ๋ ฌํด์ ๋ณด๊ดํ๋ค.
- SortedList ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ค.
์ธ๋ฑ์ค๋..
DBMS์์ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ์ ์ฅ(INSERT, UPDATE, DELETE
) ์ฑ๋ฅ์ ํฌ์ํ๊ณ ์ฝ๊ธฐ ์๋๋ฅผ ๋์ด๋ ๊ธฐ๋ฅ์ด๋ค. ํ
์ด๋ธ์ ์ธ๋ฑ์ค๋ฅผ ํ๋ ๋ ์ถ๊ฐํ ์ง ๋ง์ง๋ ์ ์ฅ ์๋๋ฅผ ์ด๋๊น์ง ํฌ์ํ ์ ์๊ณ , ์ฝ๊ธฐ ์๋๋ฅผ ์ด๋ ์ ๋๊น์ง ๋น ๋ฅด๊ฒ ํ์๋ก ํ๋์ง์ ๋ฐ๋ผ ๊ฒฐ์ ํด์ผ ํ๋ค. WHERE
์ ์ ๋ค์ด๊ฐ๋ค๊ณ ๋ฌด์กฐ๊ฑด ์ธ๋ฑ์ค๋ก ์ง์ ํ๋ฉด ์ญํจ๊ณผ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค.
MySQL ์ธ๋ฑ์ค๋ B-Tree ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅธ๋ค. ๋ค์ ์๊ฐ์๋ B-Tree์ ๋ํด์ ์์๋ณด๋๋ก ํ๋ค.