Database (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

DB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - ์Šฌ๋กฏ ํŽ˜์ด์ง€ ๊ตฌ์กฐ (Slotted Page Structure)

9taetae9 2024. 4. 21. 18:09
728x90

์Šฌ๋กฏ ํŽ˜์ด์ง€ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ํšจ์œจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€ ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๊ฐ€๋ณ€ ๊ธธ์ด ๋ ˆ์ฝ”๋“œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ ˆ์ฝ”๋“œ์˜ ์œ„์น˜๋ฅผ ์œ ๋™์ ์œผ๋กœ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ์Šคํ† ๋ฆฌ์ง€ ํ™œ์šฉ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•œ๋‹ค.

 

์Šฌ๋กฏ ํŽ˜์ด์ง€ ๊ตฌ์กฐ์˜ ์ƒ์„ธ ๊ตฌ์„ฑ

๋ธ”๋ก ํ—ค๋” (Block Header)

1) #Entries (ํ•ญ๋ชฉ ์ˆ˜, Number of record entries): ํŽ˜์ด์ง€ ๋‚ด์— ์ €์žฅ๋œ ๋ ˆ์ฝ”๋“œ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
2) Size & Location: ๊ฐ ๋ ˆ์ฝ”๋“œ์˜ ํฌ๊ธฐ์™€ ํŽ˜์ด์ง€ ๋‚ด ์œ„์น˜๋ฅผ ์ €์žฅํ•˜๋Š” ์Šฌ๋กฏ ๋””๋ ‰ํ† ๋ฆฌ
3) End of Free Space: ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž์œ  ๊ณต๊ฐ„์˜ ๋ ์ง€์ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ

์Šฌ๋กฏ ๋””๋ ‰ํ† ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜

์œ„ ๊ทธ๋ฆผ์—์„œ ๊ฐ€์žฅ ์ฃผ๋ชฉํ•  ์ ์€ ๋ธ”๋ก ํ—ค๋” ๋‚ด์˜ ์Šฌ๋กฏ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹ค์ œ ๋ ˆ์ฝ”๋“œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ํ™”์‚ดํ‘œ์ด๋‹ค. ์ด๋Š” ์Šฌ๋กฏ ํŽ˜์ด์ง€ ๊ตฌ์กฐ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค.

  • ๊ฐ ์Šฌ๋กฏ(๊ทธ๋ฆผ์—์„œ ํ—ค๋” ๋ถ€๋ถ„์˜ ์ž‘์€ ์‚ฌ๊ฐํ˜•๋“ค)์€ ๋ ˆ์ฝ”๋“œ์˜ ์œ„์น˜์™€ ํฌ๊ธฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ์™ธ๋ถ€ ์ฐธ์กฐ๋Š” #Entries ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๋ ˆ์ฝ”๋“œ์— ์ ‘๊ทผํ•œ๋‹ค.
  • ์‹ค์ œ ๋ ˆ์ฝ”๋“œ๋Š” ํ™”์‚ดํ‘œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜์— ์ €์žฅ๋œ๋‹ค.
  • Free Space (์ž์œ  ๊ณต๊ฐ„) ์˜์—ญ์€ ์ƒˆ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€๋‚˜ ๊ธฐ์กด ๋ ˆ์ฝ”๋“œ ํ™•์žฅ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค.


์Šฌ๋กฏ (Slot)
ํฌ์ธํ„ฐ๋Š” ๋ ˆ์ฝ”๋“œ ์ž์ฒด๋ฅผ ์ง์ ‘ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š๊ณ  ํ—ค๋”์— ์žˆ๋Š” ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•œ ์—”ํŠธ๋ฆฌ(์Šฌ๋กฏ์ด๋ผ๊ณ  ํ•จ)๋ฅผ ๊ฐ€๋ฆฌ์ผœ์•ผ ํ•œ๋‹ค.
์ด ์Šฌ๋กฏ์€ ๋ ˆ์ฝ”๋“œ์˜ ์‹ค์ œ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๋ ˆ์ฝ”๋“œ์˜ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์Šฌ๋กฏ ๋ฒˆํ˜ธ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

๋ ˆ์ฝ”๋“œ์˜ ์ด๋™ ๋ฐ ์žฌ๋ฐฐ์น˜

๋ ˆ์ฝ”๋“œ๋Š” ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํŽ˜์ด์ง€ ์••์ถ•(page compaction) ๊ณผ์ •์—์„œ ์ฃผ๋กœ ๋ฐœ์ƒํ•œ๋‹ค. ๋ ˆ์ฝ”๋“œ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๋‹จํŽธํ™”(fragmentation)๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ฝ”๋“œ๋“ค์„ ์—ฐ์†์ ์œผ๋กœ ์žฌ๋ฐฐ์น˜ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์  ์œ„์น˜๋Š” ๋ณ€๊ฒฝ๋˜์ง€๋งŒ, ์™ธ๋ถ€ ์ฐธ์กฐ๋Š” ์Šฌ๋กฏ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ ˆ์ฝ”๋“œ R1, R2, R3๊ฐ€ ์žˆ๊ณ  R2๊ฐ€ ์‚ญ์ œ๋œ ๊ฒฝ์šฐ

  1. R2์˜ ๊ณต๊ฐ„์€ ๋น„์–ด ์žˆ๊ฒŒ ๋จ
  2. ํŽ˜์ด์ง€ ์••์ถ• ๊ณผ์ •์—์„œ R3๋ฅผ R2์˜ ์œ„์น˜๋กœ ์ด๋™
  3. R3์˜ ์Šฌ๋กฏ ํ•ญ๋ชฉ์ด ์ƒˆ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์—…๋ฐ์ดํŠธ
  4. ์™ธ๋ถ€์—์„œ๋Š” ์—ฌ์ „ํžˆ ๋™์ผํ•œ ์Šฌ๋กฏ ๋ฒˆํ˜ธ๋กœ R3์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

๊ณต๊ฐ„ ๊ด€๋ฆฌ:
ํŽ˜์ด์ง€ ํ—ค๋” ์•„๋ž˜์—๋Š” ๋ ˆ์ฝ”๋“œ๋“ค์ด ์œ„์น˜ํ•˜๋ฉฐ, ๋ ˆ์ฝ”๋“œ ์‚ฌ์ด์— ๋‚จ๋Š” ๊ณต๊ฐ„(์ž์œ  ๊ณต๊ฐ„)์€ ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ์˜ ์ถ”๊ฐ€๋‚˜ ๊ธฐ์กด ๋ ˆ์ฝ”๋“œ์˜ ํ™•์žฅ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.
์žฅ์ 
์œ ์—ฐ์„ฑ: ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์  ์œ„์น˜ ๋ณ€๊ฒฝ์ด ์Šฌ๋กฏ ๋ฒˆํ˜ธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ ์œ ์—ฐ์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.
ํšจ์œจ์ ์ธ ๊ณต๊ฐ„ ์‚ฌ์šฉ: ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ ํ›„ ๋ฐœ์ƒํ•˜๋Š” ๊ณต๊ฐ„์„ ์ฆ‰์‹œ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๊ณต๊ฐ„ ํ™œ์šฉ๋„๊ฐ€ ๋†’์•„์ง„๋‹ค.
๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€: ์™ธ๋ถ€ ์‹œ์Šคํ…œ์ด๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ๋ ˆ์ฝ”๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
์Šฌ๋กฏ ํŽ˜์ด์ง€ ๊ตฌ์กฐ๋Š” ํŠนํžˆ ๊ณต๊ฐ„์˜ ์žฌํ™œ์šฉ๊ณผ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์˜ ์œ ์—ฐ์„ฑ์ด ์š”๊ตฌ๋˜๋Š” ํ™˜๊ฒฝ์—์„œ ํšจ๊ณผ์ ์ด๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ์— ์ ํ•ฉํ•˜๋‹ค.

 

728x90