โ Buffer Management โ
Buffer Manager
- ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ์ด์ง๋ค์ ๊ด๋ฆฌํ๊ณ ํ์ผ ๋ฐ ์ธ๋ฑ์ค ๋งค๋์ ์ ํ์ด์ง ์์ฒญ์ ์ฒ๋ฆฌํ๋ค
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ์ ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ฒํผ ๋งค๋์ ๋ ๊ณต๊ฐ์ด ๋ค ์ฐฐ ๊ฒฝ์ฐ ์ด๋ค ํ์ด์ง๋ฅผ ํด์ถํ ์ง๋ ๊ฒฐ์ ํด์ผ ํ๋ค
Buffer Pool
- ๋ฉ๋ชจ๋ฆฌ๋ ํ์ด์ง๊ฐ ๋ค์ด๊ฐ ์ ์๋ ํ๋ ์์ผ๋ก ๊ณต๊ฐ์ ๋ถํ ํ์ฌ ๋ฒํผ ํ๋ก ๋ณํ๋๋ค
- ๋ฒํผ ํ๋ ์์ ํ์ด์ง๊ฐ ์ ์ฅํ ์ ์๋ ์์ ๋ฐ์ดํฐ ๋งํผ ์ ์ฅํ ์ ์๋ค. (๊ทธ๋์ ํ์ด์ง๋ ํ๋ ์์ ๋ฑ ๋ง๊ฒ ๋ค์ด๊ฐ๋ค)
- ํจ์จ์ ์ผ๋ก ํ๋ ์์ ์ถ์ ํ๊ธฐ ์ํด ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํ ์ด๋ธ์ด ํ์ํ๊ณ ๋ฒํผ ๋งค๋์ ๋ ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ์ ์ ์ฅํ ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋ค
- ๋ฉํํ
์ด๋ธ์ 4๊ฐ์ง ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- 1. Frame ID: ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๊ณ ์ ํ๊ฒ ์ฐ๊ฒฐ๋์๋ค
- 2. Page ID: ํ์ฌ ํ๋ ์์ด ํฌํจํ๋ ํ์ด์ง๋ฅผ ์๋ ค์ค๋ค
- 3. Dirty Bit: ํ์ด์ง๊ฐ ์์ ๋์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค
- 4. Pin Count: ํ์ฌ ํ์ด์ง๋ฅผ ์ฌ์ฉ ์ค์ธ ์์ฒญ์ ์๋ฅผ ์ถ์ ํ๋ค
- replacement policy: ํ์ด์ง์ ์ ๊ทผ ํจํด์ ์์กดํ๋ค
- optimal policy: page hit์ ์ํด ๊ฒฐ์ ๋๋ค
- page hit: ์์ฒญ๋ ํ์ด์ง๊ฐ ๋์คํฌ์ ๊ฐ ํ์์์ด ๋ฉ๋ชจ๋ฆฌ์์ ์ฐพ์ ๊ฒฝ์ฐ
- hit rate: (# of page hits) / (# of page access)
LRU Replacement and Clock Policy
- ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ replacement policy๋ LRU (Least Recently Used)์ด๋ค.
- ํ์ง๋ง LRU๋ ์ผ๋ฐ์ ์ผ๋ก ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์๊ธฐ ๋๋ฌธ์ clock policy๋ LRU๋ฅผ ๋์ฒดํ ์ ์๋ ๊ตฌํ์ ์ ๊ณตํ๋ค
- Clock policy๋ ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ์ ์ฐธ์กฐ ๋นํธ ์ด๊ณผ clock hand variable์ ์ฌ์ฉํด์ ํ์ฌ ํ๋ ์์ ์ถ์ ํด์ LRU๋ฅผ ๊ณ์ฐํ๋ค
- ์ฐธ์กฐ ๋นํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณต๊ฐ๊ณผ ์๊ฐ๋น์ฉ์ด ์ค์ด๋ ๋ค
- LRU์์๋ ๋ฒํผ ๋งค๋์ ๊ฐ Last Used ์ด์ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์์ผ ํ๋๋ฐ ์๊ฐ์ด ์์๋์ง๋ง clock policy์์๋ clock hand๋ง ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค
- Sequential Scan + LRU => sequential flooding (๋ฒํผ ํ ์ฌ์ด์ฆ๊ฐ ํ์ด์ง์ ์๋ณด๋ค ์๊ณ ๋ฐ๋ณตํด์ ์์ฐจ์ ์ผ๋ก ํ์ด์ง๋ฅผ ์ฝ์ด์ผ ํ ๋ ์บ์์ hit rate์ด 0% ๊ฐ ๋๋ค)
MRU Replacement
- ๋ค๋ฅธ ๊ต์ฒด ์ ์ฑ ์ผ๋ก๋ MRU, Most Recently Used๊ฐ ์๋ค
- ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋ ํ์ด์ง๋ฅผ ์ ๊ฑฐํ๋ค
- sequential flooding ์ ๊ทผ ํจํด์์๋ MRU๊ฐ LRU๋ณด๋ค ๋ ํจ๊ณผ์ ์ด๋ค
'์คํฐ๋ > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS186] Introduction to Database Systems - Week 6 (0) | 2023.06.03 |
---|---|
[CS186] Introduction to Database Systems - Week 5 (0) | 2023.05.27 |
[CS186] Introduction to Database Systems - Week 3 (0) | 2023.05.13 |
[CS186] Introduction to Database Systems - Week 2 (0) | 2023.05.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ] Relational Languages (1) | 2023.04.15 |
๋๊ธ