# Chap 12 . Physical storage system
12.1 SSD๋ฅผ ์ ์ฅ์ฅ์น๋ก ์ฌ์ฉํ ์๋ ์๊ณ , ์๋๋ฉด ์ ์ฅ์ฅ์น์ ๋ฉ๋ชจ๋ฆฌ๊ฐ์ ๋ฒํผ๋ก ์ฌ์ฉํ ์๋ ์๋ค. ์ด ์ค ๋ง์ฝ real-time์ ์ฌ์ฉ๋๋ SSD๋ผ๋ฉด ์ด๋ค ์ฉ๋๋ก ์ฐ๋๊ฒ ์ ํฉํ ๊น?๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ์์ฒญ ํฐ ๋ฆด๋ ์ด์ ์ด ์๋๋ฐ ์ด ์ค ์ผ๋ถ๋ง ์์ฃผ ์ด์ฉ๋๋ ๊ฒฝ์ฐ๋ผ๋ฉด SSD๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋๊ฒ ์ข์์ง ์ค๋ช ํ์์ค
- Real-time์ ๊ฒฝ์ฐ ์ ์ฅ์ฅ์น์ ์ฉ๋๋ก ์ฐ๋ ๊ฒ ๋ ์ฑ๋ฅ์ ๋ณด์ฅํ ์ ์๋ค.
- ํฐ ๋ฆด๋ ์ด์ ์ ๊ฒฝ์ฐ์๋ ์์ฃผ ์ด์ฉํ๋ ๋ถ๋ถ์ ์บ์๋ ๋ฒํผ์ ํํ๋ก SSD๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
12.2 ์ด๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์คํฌ์์ ์์ชฝ Track์ ์ฌ์ฉํ์ง ์๊ณ ๋ฐ๊นฅ์ชฝ Track๋ง ์ฌ์ฉํ๋๋ฐ ์ด๋ฐ ๊ฒฝ์ฐ์ ์ฅ์ ์ ๋ํด ์ค๋ช ํ์์ค.
- ์ด์ฐจํผ ์์ชฝ์ด๋ ๋ฐ๊นฅ์ชฝ์ด๋ ๊ฐ์ ์๋๋ก ๋๊ธฐ ๋๋ฌธ์ ๋ฐ๊นฅ์ชฝ์ ์ฌ์ฉํ ์๋ก ๋จ์์๊ฐ๋น ์ฝ์ ์ ์๋ ๋ฐ์ดํฐ์ ์์ด ๋ ๋ง๋ค.๋ํ, ๋ฐ๊นฅ์ชฝ๋ง ์ฌ์ฉํ๋ฉด disk arm์ ์์ง์ผ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋น ๋ฅด๋ค.
12.3(a) Flash translation table์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ค ํํ๋ก ์๋์ง ์ค๋ช ํ์์ค.
- Flash translation table์ ๋ฌผ๋ฆฌ์ ์ธ ํ์ด์ง ์ฃผ์๋ฅผ ๋ฐฐ์ด์ ํํ๋ก ๊ฐ์ง๊ณ ์๊ณ , ์ด๋ฅผ ๋ ผ๋ฆฌ์ ํ์ด์ง์ ์ฐ๊ฒฐํด๋๊ณ ์๋ค. ๋ฐ๋ผ์ ๊ฐ ํ์ด์ง์ ์ฃผ์์ ๊ฐ์ ์ฉ๋์ ์ฐจ์งํ๋ค.
12.3(c) 6์ฐ์์ ์ธ ๋ ผ๋ฆฌ์ ํ์ด์ง์ ์ฐ์์ ์ธ ๋ฌผ๋ฆฌ์ ์ฃผ์๊ฐ ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ ์ด๋ป๊ฒ Flash translation table์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ฒ ๋์ง ์ค๋ช ํ์์ค.
- ์ด๋ฐํ ๊ฒฝ์ฐ ๋งจ ์ฒซ ํ์ด์ง์ ์ฃผ์๋ง ์ ์ฅํ๊ณ ๋๋จธ์ง ์ฃผ์๋ ์ ์ฅํ์ง ์๋๋ค๋ฉด ํ ์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์๋ค.
12.4 ์๋์ ๊ทธ๋ฆผ์ฒ๋ผ ํจ๋ฆฌํฐ ๋ธ๋ก์ด ์์นํด ์๋๊ฒฝ์ฐ ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ์ค๋ช ํ์์ค.
- ์์ ๊ฐ์ ๊ฒฝ์ฐ Pi์ B(4i-3)์ด ๊ฐ์ ๋์คํฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ์ง ๋ชปํ ์๋ ์๋ค.
12.7 ๋ชจ๋ ๋ธ๋ก์ด ๋์คํฌ ๋ธ๋ก์๋ ์ฐ์์ ์ผ๋ก ์๊ฒ ๋๋ค๋ฉด ์ฐ์์ ์ธ ํ์ผ์ ์ฝ์ด์ค๋ ์๊ฐ์ด ์์ฃผ ์งง์ ํ ๋ฐ ์ ๊ทธ๊ฒ ์ค์ฉ์ ์ด์ง ์์์ง ์ค๋ช ํ์์ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋์ ์ด์์ฒด์ ๊ฐ ์ฐ์์ ์ธ read ์์ ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ์ด๋ค์ผ์ ํ๋์ง ์ค๋ช ํ์์ค.
- ๋ง์ฝ ํฐ ํ์ผ์ด ์ฐ์์ ์ธ ๋์คํฌ์ ์ฐ์์ ์ผ๋ก ์ ์ฅ๋์ด ์๋ค๋ฉด ๋ฑ ํ๋ฒ์ seek ๊ณผ์ ์ ํตํด ์ด๋ฃจ์ด ์ง ์ ์์ง๋ง, ํ์ค์ ์ผ๋ก ์ญ์ ์์์ฑ ๊ณผ์ ์ผ๋ก ์ธํด ํ์ผ๋ค์ด ๋ถ์ฐ๋์ด ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ๋ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์์ง๋ง ์ฌ์ด์ฆ๋ ์ด๋์ ๋ ํฐ ๋ธ๋ก์ ํ ๋นํ์ฌ ์ด๋์ ๋์ ์ฌ์ด์ฆ๋งํผ์ฉ์ ํ๋ฒ๋ง seekํ ์ ์๋๋ก ํด์ค๋ค.
# Chap 13. Data Storage Structures
13.1 ์๋์ ๊ทธ๋ฆผ์์ record5๋ฅผ ์ง์ด๋ค๊ณ ํ ๋ ์ด๋ค ๋ฐฉ๋ฒ์ด ์ข์์ง ์ค๋ช ํ์์ค
- 5๋ฅผ ์ง์ฐ๊ณ 6์ดํ์ ๋ ์ฝ๋๋ฅผ ์์ผ๋ก ํ์นธ์ฉ ๋น๊ธฐ๋ ๊ฒ์ ๋๋ฌด ๋ง์ File I/O๋ฅผ ํ์๋ก ํ๋ค.
- ๋ค๋ฅธ ๋ ์ฝ๋๋ก ๊ทธ ๋ถ๋ถ์ ์ฑ์ฐ๋ ๊ฒ์ I/O๋ ์ ์ง๋ง ์์๊ฐ ๋ง๊ฐ์ง๋ค.
- ๊ทธ ๋ถ๋ถ์ ํ์๋ฅผ ํด๋๊ณ ๊ทธ ์ด์ด๋๊ฐ๋ ๊ฒ์ I/O๋ ์ ๊ณ ์์๋ ๋ง๊ฐ์ง์ง ์์ง๋ง, ์ ์ ๊ทธ๋ฐ๊ฒ ๋ง์์ง๋ฉด ๊ตฌ๋ฉ์ด ๋ง์ด ์๊ฒจ ํผํฌ๋จผ์ค์ ์ํฅ์ ์ค ์ ์๋ค.
13.4(a) Free-space Map์ ํ ๋นํธ ์ฌ์ด์ฆ๋ฅผ 3bit๋ก ํ ๋, 8bit์ผ ๋๋ณด๋ค ์ข์ ์ ๊ณผ ๋์ ์ ์ ๋ํด ์ค๋ช ํ์์ค.
- ์ข์ ์ ์ 8๋นํธ์ผ ๋๋ณด๋ค ์ฝ์ ์ด๋ ์ญ์ ๊ฐ ์ผ์ด๋๋๋ผ๋ ๊ฐฑ์ ์ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์ข๊ธด ํ์ง๋ง, ๊ทธ๋งํผ ๋น ๊ณต๊ฐ์ ์ฐพ๊ธฐ ์ํด ๋ ๋ง์ด ์ฐพ์์ผ ํ๊ฑฐ๋ ์๋๋ฉด ๋ ๋ง์ ๊ณต๊ฐ์ด ๋ญ๋น๋ ์ ์๋ค.
13.4(b) ๋ ์ฝ๋์ ์ฝ์ ๊ณผ ์ญ์ ์ ๋นํธ๋งต์ ์ด๋ป๊ฒ ๊ฐฑ์ ํ ์ง ์ค๋ช ํ์์ค.
- ์ฝ์ ์ด๋ ์ญ์ ๊ฐ ์ผ์ด๋ ๋๋ง๋ค ๋นํธ๋งต์์์ ์์ค์ด ๋ฐ๋์๋์ง๋ฅผ ํ์ธํด๋ณด๊ณ ๋ฐ๋์๋ค๋ฉด ๋ณ๊ฒฝํด์ค๋ค. ํ์ง๋ง, ํด๋น ์์ค์ ๋๊ธฐ ์ ๊น์ง๋ ๋นํธ๋งต์ ์ ๊ทผํ ์ผ์ด ์๋ค.
13.4(c) ๋น์ด์๋ ๋ ์ฝ๋๋ค์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ๋ง๋ค์๋ Free list๋ณด๋ค ๋นํธ๋งต๋ฐฉ์์ด ๋ ํธํ ์ ์ ์ค๋ช ํ์์ค.
- free list์ ๊ฒฝ์ฐ ๋ ์ฝ๋๊ฐ ๋ค์ด์ค๋ฉด ๋ง๋ ์ฌ์ด์ฆ์ ๋ ์ฝ๋๊ฐ ๋์ฌ ๋๊น์ง ํ์์ด ์ด๋ฃจ์ด์ง๋๋ฐ ์ฌ๊ธฐ์ ๋ง์ Overhead๊ฐ ์ผ์ด๋๋ค. ํ์ง๋ง ๋นํธ๋งต์ ํฐ ๋ธ๋ก์ด๋ ํ์ด์ง๋ค์ ๋ํด์๋ ์ ๋ฐ์ดํธ๋ ๋น ๊ณต๊ฐ์ ์ฐพ๊ธฐ๊ฐ ํจ์ฌ ์ฝ๋ค.
13.5 ๋ฒํผ์ ๋ธ๋ก์ด ์๋์ง์ ์ด๋์ ์๋์ง๋ฅผ ๋นจ๋ฆฌ ์ฐพ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฒํผ ์ฌ์ด์ฆ๊ฐ ์์ฃผ ํฌ๋ค๊ณ ๊ฐ์ ํ ๋ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ข์์ง ์ค๋ช ํ์์ค.
- ํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํด์ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. ํด์ ํจ์๋ ์ ํ ํ์์ด ์ด๋ฃจ์ด์ง ๋ฒ์ผ์ ์ฐพ๋ ๊ฒ์ ๋์์ค๋ค.
13.6 ๋ํ๊ต์์ ํฐ ๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ ๋ ์ด๋ฅผ ์ด๋ป๊ฒ partitionํ ๊ฑด์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ด ๊ฒฝ์ฐ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ค๋ช ํ์์ค.
- ๋ ๋๋ ํ๊ธฐ๋ก ๋๋์ด ์ ์ฅํ๋ฉด ์ค๋๋ ๋ถ๋ถ์ ๋ ์ผ ์ ์ฅ์ฅ์น์ ์ ์ฅํ๊ณ ์ต๊ทผ ๋ ์ฝ๋๋ ์ข์ ์ ์ฅ์ฅ์น์ ๋๋์ด ์ ์ฅํ ์ ์๊ณ , ๋ ๋๋ ํ๊ธฐ๋ฅผ ํฌํจํ ์ฟผ๋ฆฌ๋ฅผ ์คํ ์ ์ ์ฒด๋ฅผ ๋ค์ง๋ ๊ฑฐ๋ณด๋ค๋ ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋ค.
- ํ์ง๋ง, ์ฌ๋ฌ ๋ ๋์ ๊ฑธ์น ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ ์ ์ฅ์ฅ์น์ ์ ๊ทผํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋๋ฆฌ๋ค.
13.8 Postgre SQL์ ๋ณดํต ์ด์์ฒด์ ์๊ฒ ๋๋ถ๋ถ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฃผ๊ณ ์์ ๋ฒํผ๋ง์ ์ฌ์ฉํ๋๋ฐ, ์ด๋ด ๋์ ์ฅ์ ๊ณผ ํ๊ณ์ ๋ํด ์ค๋ช ํ์์ค.
- ์ฅ์ ์ ์ผ๋จ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์ํด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จ๊ฒจ๋ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ผ ์์คํ ๋ฒํผ๊ฐ ๋ธ๋ก์ ๊ฐ์ง๊ณ ์์ ์๋ ์๋ค.
- ๋จ์ ์, ํ์ผ ์์คํ ์ ๋ฒํผ ๊ด๋ฆฌ์๋ ์ ์ธ ์ ์๋ค๋ ์ ์ด๋ค. ๋ฐ๋ผ์ ,์ด์์ฒด์ ๊ฐ ์ต์ ์ ๊ฒฐ์ ์ ํ์ง ์๋๋ผ๊ณ ๊ฐ์ญํ ์ ์๋ค.
# Chap 14. Indexing
14.1 ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์๋๊ฐ ํจ์ฌ ๋น ๋ฅธ๋ฐ ์ ๋ชจ๋ ์์ฑ์ ๋ํด์ ์ธ๋ฑ์ค๋ฅผ ๋๋ ๊ฒ์ด ์์ข์ ์์ด๋์ด์ธ์ง ์ค๋ช ํ์์ค
- ์ธ๋ฑ์ค์กฐ์ฐจ ๋์คํฌ๋ CPU ๊ทธ๋ฆฌ๊ณ ์ ์ฅ์ฅ์น์ ์ถ๊ฐ์ ์ธ ์์ ์ ์๊ตฌํ๊ธฐ ๋๋ฌธ์ ์์ผ๋ฉด ์์์๋ก ์ข๋ค.
- ๊ธฐ๋ณธํค๊ฐ ์๋ ์์ฑ์ ๋ํด ์ธ๋ฑ์ค๋ฅผ ๋๋ ๊ฒ์ ์์ฃผ ์ผ์ด๋ ๊ฐฑ์ ๋๋ฌธ์ ๋ฒ๊ฑฐ๋กญ๋ค
- ์ฌ๋ฌ ๊ฒ์ ํค์ ๋ํ ์ฟผ๋ฆฌ์ธ ๊ฒฝ์ฐ ์ผ๋ถ ํค์ ๋ํ ์ธ๋ฑ์ค๊ฐ ์์ด๋ ํจ์จ์ด ์ข๋ค. ์คํ๋ ค ๋๋ฌด ๋ง์ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒ์ด ํผํฌ๋จผ์ค ์ฆ๊ฐ์๋ ๋์์ด ์๋ ์ ์๋ค.
14.2 ์๋ก ๋ค๋ฅธ ๊ฒ์ ํค์ ๋ํด์ ๊ฐ์ ๋ฆด๋ ์ด์ ์์์ ๋๊ฐ์ ํด๋ฌ์คํฐ๋ง ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง๋๊ฒ ๊ฐ๋ฅํ์ง ์ค๋ช ํ์์ค
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ๋ฆด๋ ์ด์ ์ด ๋ ๊ฐ์ ๊ธฐ๋ณธ ํค๋ฅผ ๊ฐ์ง๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ์๋ํ๋ฉด ๋ฆด๋ ์ด์ ์ ํํ๋ค์ด ๋๊ฐ์ ๊ฐ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ๋ ฌํ๊ธฐ ์ํด ํ๋ฒ ๋ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด์ฐ์ด์ฐ ๋ณต์ฌํด์ ๋ง๋ค ์๋ ์๊ฒ ์ง๋ง ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค.
14.7 ๋ง์ฝ ์ ๋ ฌ๋ ์ํธ๋ฆฌ๊ฐ ์์๋๋ก B+Tree์ ์ฝ์ ๋๋ค๋ฉด ๊ฐ ๋ฆฌํ๋ ธ๋๋ ์ ์ ์จ์ด ์ผ๋ง๋ ๋ ์ง ์ค๋ช ํ์์ค
- ์ ๋ ฌ๋ ์ํ๋ผ๋ฉด ์์๋๋ก ๋ ธ๋๋ฅผ ์ฑ์ฐ๊ณ ๋ค ์ฐจ๋ฉด ์ ํํ ๋ฐ์ผ๋ก ๋๋์ด์ง๊ณ ๊ทธ ๋ค๋ก ์ผ์ชฝ๋ ธ๋๋ ๊ฑด๋ค์ด์ง ์๊ณ ์ค๋ฅธ์ชฝ ๋ ธ๋์์ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ฏ๋ก ๋ชจ๋ ๋ ธ๋๊ฐ ๋ฐ๋ง ์ฐจ์๋ ์ํ๊ฐ ๋๋ค.
14.9(a) B+Tree ํ์ผ ๊ตฌ์กฐ์์๋ insertion์ด ํ ๋ฆฌํ๋ ธ๋์ ์ฐ์์ฑ์ ์์ ์ ์๋๋ฐ ์ ๊ทธ๋ฐ์ง ์ค๋ช ํ์์ค
- ์ฒ์ ํ์ผ์ด ์์ฑ๋ฌ์ ๋๋ ๋์คํฌ์ ํธ๋ฆฌ์์ ๋ชจ๋ ์ธ์ ํ๊ฒ ํ ๋นํ ์์ ์ ์๋ค. ํ์ง๋ง, ์ฝ์ ์ด๋ ์ญ์ ์ ๊ณผ์ ์ด ์ผ์ด๋๋ฉด ์ฐ์์ฑ์ ์์ ์ ์๊ณ , ์ฐ์์ ์ธ ์ ๊ทผ์ ์ํด์๋ ์ค๋ ๊ธฐ๋ค๋ ค์ผ ํ ์ ์๋ค.
14.9(b)
'๐ฅ๏ธSW Engineer > Distributed System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ADV_db]Chap 4. Query-processing (0) | 2023.05.21 |
---|---|
[ADV_db]Chap 3. Hash index (0) | 2023.04.20 |
[ADV_db]Chap 3. Indexing - B+Tree ์ถ๊ฐ๋ด์ฉ๋ค (0) | 2023.04.19 |
[ADV_db]Chap 3. Indexing - B+tree ๊ฒ์,์ฝ์ ,์ญ์ (0) | 2023.04.17 |
[ADV_db]Chap 3. Indexing - B+Tree ์๊ฐ (0) | 2023.04.17 |