โ Disk, Buffer, Files โ
1. Memory and Disk

Disk Space Management
- DBMS์ ๊ฐ์ฅ ๋ฐ์ ์๋ ๊ณ์ธต์ด๋ฉฐ, ๋์คํฌ์ ๊ณต๊ฐ์ ๊ด๋ฆฌํ๋ค

2. Files, Pages, Records
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฅ ๊ธฐ๋ณธ ๋ฐ์ดํฐ์ ๋จ์๋ record(row)์ด๋ค
- ๋ฆด๋ ์ด์ (ํ ์ด๋ธ)๋ค์ ์ด๋ฐ records๋ค๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ์ ์์ , ์ญ์ , ๊ฒ์ ๋๋ ์์ฑ์ด ๊ฐ๋ฅํ๋ค
- ๋์คํฌ์ ๊ฐ์ฅ ๊ธฐ๋ณธ ๋ฐ์ดํฐ์ ๋จ์๋ page์ด๋ฉฐ, ๋์คํฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ต์ ์ ์ก ๋จ์์ด๋ค
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์คํฌ์ ํธํ ๊ฐ๋ฅํ ํ์์ผ๋ก ํํํ๊ธฐ ์ํด, ๊ฐ ๋ฆด๋ ์ด์ ์ ๋ณ๋์ ํ์ผ์ ์ ์ฅ๋๋ฉฐ, records๋ ํ์ผ์์ pages๋ก ๊ตฌ์ฑ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฆด๋ ์ด์
์ ์คํค๋ง์ ์ ๊ทผ ํจํด์ ๋ฐ๋ผ ์๋ 4๊ฐ์ง ๋ด์ฉ์ ๊ฒฐ์ ํ๋ค
- 1. ์ด๋ค ํ์์ ํ์ผ์ ์ฌ์ฉํ ๊ฑด์ง
- 2. ์ด๋ป๊ฒ pages๋ฅผ ํ์ผ ๋ด์ ๊ตฌ์ฑํ ๊ฑด์ง
- 3. ์ด๋ป๊ฒ records๋ฅผ ๊ฐ page์ ๊ตฌ์ฑํ ๊ฑด์ง
- 4. ์ด๋ป๊ฒ ๊ฐ record๊ฐ ๊ตฌ์ฑ๋ ๊ฑด์ง

3. Choosing File Types
- 2๊ฐ์ง์ ์ฃผ์ ํ์ผ ํ์ ์ด ์๋ค: Heap Files๊ณผ Sorted Files
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฐ๊ฐ์ ํ ์ด๋ธ์ ์ด๋ค ํ์ผ ํ์ ์ ์ฌ์ฉํ ๊ฑด์ง ๋ฆด๋ ์ด์ ์ ์ ๊ทผ ํจํด์ I/O ๋น์ฉ์ ๊ทผ๊ฑฐํ์ฌ ์ ํํ๋ค
- 1 I/O = 1 page read from disk || 1 page write to disk
4. Heap File
- heap file์ pages์ ์ ํด์ง ์์๊ฐ ์๋ ๋๋ records on pages์ ํน๋ณํ ์์๊ฐ ์๋ ํ์ผ ํ์ ์ด๋ค
- sorted file๊ณผ ๋น๊ตํ์ ๋ ์ฝ์ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ค
- ๋จ, ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฒ์์๋ ๋งค๋ฒ full scan์ด ํ์ํ๋ค. ์ฆ, ๊ฒ์์ ๊ฒฝ์ฐ N I/Os์ linear ๋น์ฉ์ด ๋ ๋ค
4.1 Linked List Implementation
- ๋งํฌ๋ ๋ฆฌ์คํธ ๊ตฌํ์์๋ ๊ฐ๊ฐ์ data page๋ 1. records์ 2. free space tracker, 3. ๋ค์๊ณผ ์ด์ page์ ๋ํ pointers(byte offsets)๋ฅผ ํฌํจํ๊ณ ์๋ค
- ํ๋์ header page๋ ํ์ผ์ ์์์ ์ญํ ์ ํ๋ฉฐ, data pages๋ฅผ full pages์ free pages๋ก ๋ถํฐ ๋ถ๋ฆฌํ๋ค
4.2 Page Directory Implementation
- page directory ๊ตฌํ ๋ฐฉ๋ฒ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ header pages์๋ง ์ฌ์ฉํ๋ค๋ ์ ์์ linked list implementation๊ณผ ๋ค๋ฅด๋ค
- ๊ฐ๊ฐ์ header page๋ ํ์ผ์ data page์ ์ผ๋ง ๋งํผ์ ๊ณต๊ฐ์ด ๋จ์๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ฐ๋ผ์ records๋ฅผ ์ฝ์ ํ ๋ linked lists๋ณด๋ค page directories๊ฐ ๋ ๋น ๋ฅด๋ค
5. Sorted File
- pages๊ฐ ์ ๋ ฌ๋์ด ์๊ณ ๊ฐ ํ์ด์ง์ records๋ ํค๋ก ์ ๋ ฌ๋์ด ์๋ ํ์ผ ํ์ ์ด๋ค
- ๊ฒ์์๋ logN I/Os ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค(binary search๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ). ์ฌ๊ธฐ์ N์ ํ์ด์ง์ ๊ฐ์์ด๋ค
- ์ฝ์ ์ ํ๊ท ์ ์ผ๋ก logN + N I/Os๊ฐ ๊ฑธ๋ฆฐ๋ค
7. Record Types
- record ํ์ ์ ๊ฒฝ์ฐ ๋ฆด๋ ์ด์ ์ ์คํค๋ง์ ์ํด ๊ฒฐ์ ๋๋ฉฐ, 2๊ฐ์ง์ ์ข ๋ฅ๊ฐ ์๋ค
- 1. Fixed Length Records(FLR)
- ๊ณ ์ ๋ ๊ธธ์ด์ ๋ฐ์ดํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค (์: integers, boolean, date, etc)
- FLR์ ๋์ผํ ์คํค๋ง๋ ๋์ผํ ์์ ๋ฐ์ดํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- 2. Variable Length Records(VLR)
- ๊ณ ์ ๋ ๊ธธ์ด ํ๋์ ๊ฐ๋ณ ๊ธธ์ด ํ๋ (์: varchar) ๋ชจ๋ ํฌํจํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋์ผํ ์คํค๋ง์ VLR์ด๋ผ๋ ๋ค๋ฅธ ๋ฐ์ดํธ ์๋ฅผ ๊ฐ์ง ์ ์๋ค.
- VLR์ ๊ฐ๋ณ ๊ธธ์ด ํ๋์ ๋์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ํฌํจํ๋ record header๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ณ ์ ๊ธธ์ด ํ๋๋ ๊ฐ๋ณ ๊ธธ์ด ํ๋๊ฐ ์ ์ฅ๋๊ธฐ ์ ์ ์ ์ฅ๋๋ค
8. Page Formats
8.2 Page with Variable Length Records
- ๊ฐ ํ์ด์ง๋ page footer๋ฅผ ์ฌ์ฉํด slot directory๋ฅผ ๊ด๋ฆฌํ๋ค
- slot directory๋ slot count, free space pointer, ๊ทธ๋ฆฌ๊ณ entries๋ฅผ ์ถ์ ํ๋ค
- slot directory์ ๊ฐ entry๋ [record pointer, record length] ํ์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ค
CS186 ์ฌ์ดํธ
'์คํฐ๋ > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[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 4 (0) | 2023.05.20 |
[CS186] Introduction to Database Systems - Week 3 (0) | 2023.05.13 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ] Relational Languages (1) | 2023.04.15 |
๋๊ธ