ํ‹ฐ์Šคํ† ๋ฆฌ

์•ž๋™๋„ค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

ํƒœ๊ทธ

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

{RepoJI}

[ADV_db]Chap 3. Hash index
๐Ÿ–ฅ๏ธSW Engineer/Distributed System

[ADV_db]Chap 3. Hash index

2023. 4. 20. 01:03

# Static Hashing


Hashing

  • ๋Œ€๋ถ€๋ถ„ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜์ง€๋งŒ, ํŒŒ์ผ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•  ๋•Œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ๋ฒ„์ผ“์— ๋ ˆ์ฝ”๋“œ๋“ค์˜ ์ธ๋ฑ์Šค๋“ค์ด ๋“ค์–ด์žˆ์ง€๋งŒ, ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” ์‹ค์ œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.
  • Hash Index๋Š” ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ•ด์„œ ๋‚˜์˜ค๋Š” ๊ฐ’์„ Search key๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
    • Bucket์ด๋ผ๋Š” ๋””์Šคํฌ ๋ธ”๋ก์— ๊ฐ™์€ ํ•ด์‹œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ์—”ํŠธ๋ฆฌ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.
    • ๋งŒ์•ฝ Bucket์˜ Index๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค๋ฉด Static Hashing ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, Dynamic Hashing์ด๋ผ๊ณ  ํ•œ๋‹ค.
    • ๋‹ค๋ฅธ ์„œ์น˜ ํ‚ค ๊ฐ’์„ ๊ฐ€์ง€๋”๋ผ๋„ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ–ˆ์„ ๋•Œ ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ๊ฐ™์€ Bucket์— ์œ„์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ์—”ํŠธ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น Bucket์ „์ฒด๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ด ๋•Œ ๋งŒ์•ฝ Bucket์˜ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ๋” ๋งŽ์€ ์—”ํŠธ๋ฆฌ๊ฐ€ ํ•ด๋‹น Bucket์— ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
      • ์ด๋Ÿฐ ๋ฌธ์ œ๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์—์„œ ๋ถ„๋ฐฐ๊ฐ€ ์ž˜ ์•ˆ๋˜๊ฑฐ๋‚˜
      • ๋ฒ„์ผ“ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘์•„์„œ ๋ฐœ์ƒํ•œ๋‹ค.
    • ์ด๋Ÿฐ ๊ฒฝ์šฐ, ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Overflow Block์„ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

  • ์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ™์€ ํ•ด์‹œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” Bucket์˜ Overflow Block๋“ค์„ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์„ Overflow Chaining์ด๋ผ๊ณ  ํ•œ๋‹ค.
    • ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ Closed Addressing ๋˜๋Š” Closed Hashing์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
    • Open Hashing ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฐฉ์‹์€ ๊ฐœ๋ฐฉํ˜• ๋ฐฉ์‹์œผ๋กœ ๋น„์–ด์žˆ๋Š” ๊ณต๊ฐ„์— ๋‘๊ณ  ์ถ”๊ฐ€์ ์ธ ํ•ด์‹ฑ์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • Static Hasing์˜ ๊ฒฝ์šฐ ๋ฒ„ํ‚ท์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด Overflow ๋ธ”๋ก์ด ๋งŽ์•„์ ธ ์ฒ˜์Œ๋ณด๋‹ค ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ ์  ๋Š˜๊ฒƒ์ด๊ณ , ๊ทธ๋ ‡๋‹ค๊ณ  ๋„‰๋„‰ํ•˜๊ฒŒ ์ค€๋น„ํ•˜๋ฉด ๋‚ญ๋น„๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๋”ฐ๋ผ์„œ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ Dynamic Hashing์ด๋‹ค.
  • ์ •๋ ฌ๋œ Index์™€ Hashing ์ค‘์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ํŠน์ • ๋ ˆ์ฝ”๋“œ๋Š” ํ•ด์‹ฑ์ด ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌ๋˜์ง€๋งŒ, ๋ฒ”์œ„๋ฅผ ๋ฌผ์–ด๋ณด๋Š” ์ฟผ๋ฆฌ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” ์ •๋ ฌ๋œ Index๊ฐ€ ๋” ์„ ํ˜ธ๋œ๋‹ค.
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธSW Engineer > Distributed System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ADV_db]Chap 4. Query-processing  (0) 2023.05.21
[ADV_db]Chap 12-14. ์—ฐ์Šต๋ฌธ์ œ  (0) 2023.04.20
[ADV_db]Chap 3. Indexing - B+Tree ์ถ”๊ฐ€๋‚ด์šฉ๋“ค  (0) 2023.04.19
[ADV_db]Chap 3. Indexing - B+tree ๊ฒ€์ƒ‰,์‚ฝ์ž…,์‚ญ์ œ  (0) 2023.04.17
[ADV_db]Chap 3. Indexing - B+Tree ์†Œ๊ฐœ  (0) 2023.04.17
    '๐Ÿ–ฅ๏ธSW Engineer/Distributed System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ADV_db]Chap 4. Query-processing
    • [ADV_db]Chap 12-14. ์—ฐ์Šต๋ฌธ์ œ
    • [ADV_db]Chap 3. Indexing - B+Tree ์ถ”๊ฐ€๋‚ด์šฉ๋“ค
    • [ADV_db]Chap 3. Indexing - B+tree ๊ฒ€์ƒ‰,์‚ฝ์ž…,์‚ญ์ œ
    ์•ž๋™๋„คJIHOON
    ์•ž๋™๋„คJIHOON
    Every step repository / Data && Engineering

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