# ๋ ์ฝ๋ ์ ์ฅ ๋ฐฉ๋ฒ
Heap File Organization
- ๋น ๊ณต๊ฐ์ ์ด๋๋ ์ ์ฅํ๋ ๋ฐฉ์
- ํ๋ฒ ํ ๋น๋ฐ์์ ์ ์ฅ๋ ๋ ์ฝ๋๋ค์ ์์ง์ด์ง ์๋๋ค.
- ์ค์ํ ๋ฌธ์ ๋ Free Space๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฐพ๋ ๋ฐฉ๋ฒ
- Free-Space Map
- ํ์ผ์ ๋ธ๋ก ์ค์ ๋น๊ณณ์ ํ์ํด์ฃผ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ๋ง์ฝ ํ๋์ ๋ธ๋ก์ด 3bit๋ก ์ด๋ฃจ์ด์ ธ ์๋ค๊ณ ํ๋ค๋ฉด, ๊ฐ ๋ธ๋ก์ 8๋ก ๋๋๋ฉด ๋น์ด์๋ ๊ณณ์ด ์ผ๋ง๋ ์๋์ง ์ ์ ์๋ค.
- Free-Space Map
- Second-Level Free Space Map
- ๊ฐ ์ํธ๋ฆฌ๊ฐ First-level Space Map์ 4๊ฐ์ฉ์ ๋ํ๋ธ๋ค๋ฉด ๊ทธ ์ค ์ต๋๊ฐ๋ง์ ์ด์ฉํ์ฌ ๋น๊ณณ์ ํ์ํ๋ ์๊ฐ์ ๋์ฑ ์ค์ผ ์ ์๋ค.
Sequential File Organization
- Search-Key๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฌํ์ฌ ํ์ผ์ ๋ ์ฝ๋๋ฅผ ์ ์ฅํ๋ค.
- Insertion
- ๋น์ด์๋ ๊ณณ์ด ์๋ค๋ฉด ๊ทธ๊ณณ์ ๋ฃ์ผ๋ฉด ๋์ง๋ง, ๋น์ด์๋ ๊ณณ์ด ์๋ค๋ฉด ๋ค๋ฅธ ๊ณต๊ฐ(Overflow Block)์ ๋ง๋ค๊ณ ์์์ ๋ง๊ฒ ํฌ์ธํฐ๋ก ์ฐ๊ฒฐํ๋ค.
- ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ๊ตฌ์ฑ์ ํด์ค์ผ ํ๋ค.
- Deletion
- ์ญ์ ์ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์กฐ์ ํ๋ค.
Multitable Clustering File Organization
- ์์ฃผ ๊ฐ์ด ์ฐ์ด๋ ๋ฆด๋ ์ด์ ์ ํ๋์ ํ์ผ๋ก ๊ตฌ์ฑํ์ฌ ๋๋ ๋ฐฉ์
- ๋์คํฌ ์ ๊ทผ์ ์ต์ํํ๊ธฐ์ํด ์๋ก ๊ด๋ จ๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ด ๋๋ ๋ฐฉ์
- ๋ ๋ฆด๋ ์ด์ ์ ๋ํ ์ฟผ๋ฆฌ๊ฐ ๋ค์ด์ฌ ๋๋ ๋น ๋ฅด์ง๋ง, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ๋ ๋๋ฆฌ๊ฒ ํ ์ ์๋ค.
- ํฌ์ธํฐ ์ฒด์ธ์ ํตํด ๊ตฌํํ ์ ์๋ค.
- Table Partitioning
- GiantTable์ ์ฌ๋ฌ๊ฐ์ ์์ ํ ์ด๋ธ๋ก ๋๋์ด ์ฌ๋ฌ ์ ์ฅ์ฅ์น์ ๋๋์ด ์ ์ฅํ ์ ์๋๋ก ํ๊ฑฐ๋, ๊ณต๊ฐ ๊ด๋ฆฌ์ ๋ ์ฉ์ดํ๋๋ก ๋ง๋ ๋ค.
- ์๋ฅผ ๋ค์ด, ํ์๋ํ๊ต ๋ชจ๋ ํ์๋ค์ ์ ์ฅํ๊ธฐ๋ณด๋ค๋ ์ฐ๋๋ก ๋๋์ด ์ ์ฅํ๋๊ฒ ๋ ํจ์จ์ ์ด๋ค.
- Data Dictionary Storage
- Meta Data ๋ฅผ ์ ์ฅํ๊ณ ์๋ ๋ฐ์ดํฐ ์ฌ์
# Buffer Manager
- Block์ด๋ผ๋ ๊ฑฐ๋ ์ ์ฅ์ฅ์น์ ์ ์ฅ๊ณผ ๋ฐ์ดํฐ ์ ์ก์ ๋จ์๋ค.
- ๋ฐ๋ผ์ ์์คํ
์์๋ ๋์คํฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ๋ธ๋ก ์์ง์์ ์ต์ํํ๋ ค๊ณ ๋
ธ๋ ฅํ๋ค.
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ง์ ๋ธ๋ก์ ๋๋ฉด ๋์คํฌ์ ์ ๊ทผํ๋ ์ผ์ ์ค์ผ ์ ์๋ค.
ํ๋ก๊ทธ๋จ์ด ํ์ํ ๋ธ๋ก์ ์์ฒญํ์ ๋ ์ด๋ฏธ ๋ฒํผ์ ์๋ค๋ฉด ๋ฒํผ ๋งค๋์ ๋ฅผ ํตํด ๋ฒํผ์์ ๋ฐ๋ก ๊บผ๋ด ์ค ์ ์๋ค. ๊ทธ๋ฌ๋ ์๋ค๋ฉด, ๋ฒํผ ๋งค๋์ ๊ฐ ๋์คํฌ์์ ํด๋น ๋ธ๋ก์ ๊ฐ์ ธ์ ๋ฒํผ์ ์ฎ๊ธด ํ์ ์ฃผ์๋ฅผ ๋๋๋ ค์ค๋ค. ๋ง์ฝ ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐผ๋๋ฐ ์๋ ๋ธ๋ก์ ์์ฒญํ๋ค๋ฉด, ๋ฒํผ ๋งค๋์ ๋ ๋ฒํผ ์ค ์ญ์ ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐ์ ํ ํ ์ญ์ ํ๊ณ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ํ๋ก๊ทธ๋จ์๊ฒ ์ฃผ์๋ฅผ ์๋ ค์ค๋ค.
ํ์ง๋ง, ๋ง์ฝ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ์ค์ธ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ญ์ ํ ์๋ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ค์ธ ๋ฐ์ดํฐ ๋ธ๋ก์๋ Pin์ ํด๋์ด ์ญ์ ๋์ง ์๋๋ก ํ๊ณ ์ฌ์ฉํ ํ์๋ Unpinํด์ผ ํ๋ค. ์ด๋ฌํ Pin์ ์ฌ๋ฌ ํ๋ก์ธ์ค์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ Pin count๋ฅผ ํตํด 0์ด ๋์ด์ผ์ง๋ง ์ญ์ ๋ ์ ์๋๋ก ๊ด๋ฆฌํ๋ค. ์ด ๋, ์ญ์ ํ ๋ธ๋ก์ Least Recently Used(LRU)์ ๋ต์ ํตํด ์ญ์ ๊ฐ ์ด๋ฃจ์ด์ง๋ค. ํ์ง๋ง ํน์ ์ฟผ๋ฆฌ๋ค์์๋ ์ด๊ฒ ์ข์ง ์์ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ Toss-immediate(๋ง์ง๋ง ๋ฐ๋ณต์ด ๋๋๊ณ ์ญ์ ํ๋ ๋ฐฉ์)์ด๋ Most-Recently used๋ฐฉ์์ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋์์ ํด๋น ๋ธ๋ก์ ์์ ํ๋ฉด ๊ฒน์น ์ ์๊ธฐ์ Shared Lock๊ณผ Exclusive Lock์ ์ด์ฉํ์ฌ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ ๋ฐ์ดํฐ์ ๋ํด ๊ฒน์น์ง ์๋๋ก ํ๋ค.
- Update์ ํ์ํ Exclusive Lock์ ๊ฒฝ์ฐ ๋์์ ํ๋์ ํ๋ก์ธ์ค์๋ง ์ฃผ์ด์ง๋ค.
- Read์ ํ์ํ Shared Lock์ ๊ฒฝ์ฐ ์ฌ๋ฌ ํ๋ก์ธ์ค์๊ฒ ๋์์ ์ฃผ์ด์ง๋ค.
- ํ์ง๋ง Exclusive Lock์ด ๋์ด ์๋ ๊ฒฝ์ฐ Shared Lock์ ๋ถ์ฌ๋์ง ์๋๋ค.
'๐ฅ๏ธSW Engineer > Distributed System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ADV_db]Chap 3. Indexing - B+Tree ์๊ฐ (0) | 2023.04.17 |
---|---|
[ADV_db]Chap 3. Indexing (1) | 2023.04.14 |
[ADV_db]Chap 2. ๋ฐ์ดํฐ ์ ์ฅ ์ฅ์น ๊ตฌ์กฐ (0) | 2023.04.05 |
[ADV_db]Chap 1. ๋ฌผ๋ฆฌ์ ์ ์ฅ ์ฅ์น ์์คํ -2 (0) | 2023.04.05 |
[ADV_db]Chap 1. ๋ฌผ๋ฆฌ์ ์ ์ฅ ์ฅ์น ์์คํ (0) | 2023.04.04 |