ํ‹ฐ์Šคํ† ๋ฆฌ

์•ž๋™๋„คJIHOON
{RepoJI}
์•ž๋™๋„คJIHOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (37)
    • ๐Ÿ–ฅ๏ธSW Engineer (29)
      • DataBase (0)
      • System Programming (0)
      • Algorithm (12)
      • DataStructure (0)
      • Computer Architechure (0)
      • Operating System (0)
      • Distributed System (11)
    • ๐ŸฆBackend (0)
      • Web (0)
    • ๐Ÿ—‚๏ธData Science (7)
      • Statistic (1)
      • Aritificial Intelli (5)
      • Probability Theory (0)
      • Information Retrieval (0)
      • Linear Algebra (0)
    • ๐ŸซUnderGraduate (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๐Ÿ—‚๏ธGithub

ํƒœ๊ทธ

  • q-learning algorithm
  • Q-learning
  • ์ƒ๋ช…๋Œ€ ๋น„์ฆˆ๋‹ˆ์Šค ๊ณผ์ •
  • Apriori algorithm
  • pthread
  • association rule
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ Chap12
  • ๋ ˆ์ฝ”๋“œ ๋ฝํ‚น
  • shared memory
  • ๊ฐ•ํ™”ํ•™์Šต
  • Value function
  • ๋‹จ์–ด ์ •๋ ฌ
  • ์†Œ์ผ“
  • Message Queue
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ Chap13
  • ์ฃผ์„ฑ๋ถ„๋ถ„์„
  • ํŒจํ„ด๋ถ„์„
  • ๋ฐ์ฒญ์บ 
  • ํŒŒ์ผ ์‹œ์Šคํ…œ
  • ์„ธ๋งˆํฌ์–ด
  • ์—ฐ๊ด€์„ฑ๋ถ„์„
  • Pipe
  • ์Šค๋ ˆ๋“œ
  • ๋ฉ”์„ธ์ง€ ํ
  • ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ
  • mini shell project
  • ๊ณต๋ถ„์‚ฐ
  • ๋ฐ์ดํ„ฐ ์ฒญ๋…„ ์บ ํผ์Šค
  • PCA
  • Shemaphore
hELLO ยท Designed By ์ •์ƒ์šฐ.
์•ž๋™๋„คJIHOON

{RepoJI}

[ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ-2
๐Ÿ–ฅ๏ธSW Engineer/Distributed System

[ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ-2

2023. 4. 5. 09:16

# ๋ ˆ์ฝ”๋“œ ์ €์žฅ ๋ฐฉ๋ฒ•


Heap File Organization

  • ๋นˆ ๊ณต๊ฐ„์— ์–ด๋””๋“  ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹
  • ํ•œ๋ฒˆ ํ• ๋‹น๋ฐ›์•„์„œ ์ €์žฅ๋œ ๋ ˆ์ฝ”๋“œ๋“ค์€ ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค. 
  • ์ค‘์š”ํ•œ ๋ฌธ์ œ๋Š” Free Space๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฐพ๋Š” ๋ฐฉ๋ฒ•
    • Free-Space Map
      • ํŒŒ์ผ์˜ ๋ธ”๋ก ์ค‘์— ๋นˆ๊ณณ์„ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
      • ๋งŒ์•ฝ ํ•˜๋‚˜์˜ ๋ธ”๋ก์ด 3bit๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด, ๊ฐ ๋ธ”๋ก์„ 8๋กœ ๋‚˜๋ˆ„๋ฉด ๋น„์–ด์žˆ๋Š” ๊ณณ์ด ์–ผ๋งˆ๋‚˜ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 
       

  • 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
    '๐Ÿ–ฅ๏ธSW Engineer/Distributed System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ADV_db]Chap 3. Indexing - B+Tree ์†Œ๊ฐœ
    • [ADV_db]Chap 3. Indexing
    • [ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ
    • [ADV_db]Chap 1. ๋ฌผ๋ฆฌ์  ์ €์žฅ ์žฅ์น˜ ์‹œ์Šคํ…œ-2
    ์•ž๋™๋„คJIHOON
    ์•ž๋™๋„คJIHOON
    Every step repository / Data && Engineering

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”