ํ‹ฐ์Šคํ† ๋ฆฌ

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

ํƒœ๊ทธ

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

{RepoJI}

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

[ADV_db]Chap 3. Indexing

2023. 4. 14. 01:45

# Basic Concept


  • Index File(Index entries)

์ด๋Ÿฐ Index File์€ ๋” ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒ€์ƒ‰ ํ‚ค์™€ ํฌ์ธํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์›๋ณธ ํŒŒ์ผ๋ณด๋‹ค๋Š” ์šฉ๋Ÿ‰์ด ์ž‘๋‹ค. ๋˜ํ•œ, ์—ฌ๋Ÿฌ ๊ฒ€์ƒ‰ ํ‚ค๋งˆ๋‹ค ์—ฌ๋Ÿฌ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Search Key
    • ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” Search Key๋Š” ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ primary key,Candidate key,super key์™€๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค.
    • ํ•˜๋‚˜ ์ด์ƒ์˜ ์†์„ฑ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ์ธ๋ฑ์Šค ํŒŒ์ผ์—๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ฒ€์ƒ‰ ํ‚ค์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฑ…์„ ๊ณ ๋ฅผ ๋•Œ ์ž‘๊ฐ€,์ถœํŒ์‚ฌ,์ฃผ์ œ,์ œ๋ชฉ ๋“ฑ์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๋‘˜  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.
  • Index์˜ ๊ธฐ๋ณธ์ ์ธ ์ข…๋ฅ˜
    • Ordered Indices
      • Search Key์— ๋”ฐ๋ผ ์ •๋ ฌ๋œ ์ธ๋ฑ์Šค
      • ์ •๋ ฌํ•˜๋Š”๋ฐ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ, ์–ด๋А ๊ฒƒ๋„ ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ์˜ ํ‰๊ฐ€ ๊ธฐ์ค€์„ ๊ฐ€์ง€๊ณ  ๊ฒฐ์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
        • Access Type
          • ํŠน์ • ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์†์„ฑ์ธ ๊ฒฝ์šฐ
          • ๊ตฌ๋ณ„๋œ ๋ฒ”์œ„ ์•ˆ์— ์†ํ•˜๋Š” ์†์„ฑ์ธ ๊ฒฝ์šฐ
        • Access Time
        • Insertion time
        • Deletion time
        • Space overhead
    • Hash Indices
      • Hash function์„ ํ†ตํ•ด Bucket์— ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„๋ฐฐ๋˜์–ด ์žˆ๋Š” Search Key

# Ordered Indicies


  • Clustering Index(Primary Index)
    • Search key์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ •๋ ฌ๋œ ์ธ๋ฑ์Šค
    • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ์ˆœ์„œ๊ฐ€ ๋‚˜ํƒ€๋‚œ ์ธ๋ฑ์Šค
    • ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ์ •๋ ฌํ•  ๋•Œ๋Š” ์ฃผ๋กœ Search key๊ฐ€ Primary key์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ํ•„์ˆ˜๋Š” ์•„๋‹ˆ๋‹ค.
  • Non-Clustering Index(Secondary Index)
    • ์ˆœ์ฐจ์ ์œผ๋กœ ์ •๋ ฌ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ์‹์˜ ์ •๋ ฌ์ธ ๊ฒฝ์šฐ
    • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ์ˆœ์„œ๊ฐ€ ์•„๋‹Œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์›ํ•˜๋Š” ์†์„ฑ์œผ๋กœ ์ •๋ ฌํ•œ ์ธ๋ฑ์Šค
  • Index-Sequential file
    • ์ธ๋ฑ์Šค๋งŒ Clustering Index์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹ค์ œ Record๋“ค๋„ ๊ทธ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๊ตฌ์กฐ

# Index File


  • Dense Index File
    • ๋ ˆ์ฝ”๋“œ๋งˆ๋‹ค ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  Search-key๋“ค์„ index๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ
    • Sparse Index๋ณด๋‹ค ์šฉ๋Ÿ‰์ด๋‚˜ ์ƒ์„ฑ,์‚ญ์ œ ๋“ฑ ์ˆ˜์ •ํ•˜๋Š” ์‹œ๊ฐ„์€ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ, ๊ฒ€์ƒ‰ ์†๋„๋Š” ๋น ๋ฅด๋‹ค.
    • Insertion์˜ ๊ฒฝ์šฐ, Search-key๋ฅผ ํ†ตํ•ด ์‚ฝ์ž…ํ•  ์œ„์น˜๋ฅผ ์ฐพ๊ณ  Index์™€ Record๋ฅผ ๋ชจ๋‘ ์ˆ˜์ •ํ•œ๋‹ค.
      • ๋งŒ์•ฝ ์ƒˆ๋กœ์šด ๊ณต๊ฐ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋ฉด, Overflow Block๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
      • Overflow Block์ด๋ž€ ? ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ž๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ ๋ณด๋‹ค๋Š” ๋”ฐ๋กœ ๋ธ”๋ก์„ ๋งŒ๋“ค์–ด ๋‘๊ณ  ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
    • Deletion์˜ ๊ฒฝ์šฐ, ํ•ด๋‹น Search-key์— ๋Œ€์‘ํ•˜๋Š” Record๊ฐ€ ํ•˜๋‚˜๋ผ๋ฉด Index์™€ Record๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ , ๊ฐ™์€ Search-key๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ Record๊ฐ€ ๋‚จ์•„์žˆ์œผ๋ฉด, Index์˜ ํฌ์ธํ„ฐ ์ฃผ์†Œ๋งŒ ์ˆ˜์ •ํ•˜๊ณ , Record๋ฅผ ์‚ญ์ œํ•œ๋‹ค
    • Denseํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ™์€ Search-key๋ฅผ ๊ฐ€์ง€๋Š” Record๋“ค์€ ์—ฐ์†์ ์œผ๋กœ ์žˆ์–ด์•ผํ•œ๋‹ค. 

  • Sparse Index
    • Sparse Index๋Š” Index๊ฐ€ Clustering index์ผ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
    • Insertion์˜ ๊ฒฝ์šฐ, Search-key๋ฅผ ๊ฐ€์ง€๊ณ  ๋“ค์–ด๊ฐˆ ์œ„์น˜๋ฅผ ์ฐพ๊ณ , ์ƒˆ๋กœ์šด ๋ธ”๋ก์ด ๋งŒ๋“ค์–ด์ง€๋ฉด Index์™€ Record๋ฅผ ๋ชจ๋‘ ์ˆ˜์ •ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋Š” Index๋งŒ ์ˆ˜์ •ํ•œ๋‹ค.
    • Deletion์˜ ๊ฒฝ์šฐ,
      • ๊ฐ™์€ Search key๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ํฌ์ธํ„ฐ๋งŒ ๋‹ค๋ฅธ ๋ ˆ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๊ณ  ์ธ๋ฑ์Šค๋Š” ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.
      • ๋งŒ์•ฝ ํ•ด๋‹น ๊ฒ€์ƒ‰ ํ‚ค์˜ ์œ ์ผํ•œ ๋ ˆ์ฝ”๋“œ ์˜€๋‹ค๋ฉด ๊ทธ ๋‹ค์Œ ๋ ˆ์ฝ”๋“œ๋กœ ์ธ๋ฑ์Šค ํŒŒ์ผ์„ ๋Œ€์ฒดํ•˜๊ณ  ๋ ˆ์ฝ”๋“œ๋Š” ์‚ญ์ œํ•œ๋‹ค.
      • ๋งˆ์ง€๋ง‰์œผ๋กœ ๋งŒ์•ฝ ๋‹ค์Œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ด๋ฏธ ์ธ๋ฑ์ŠคํŒŒ์ผ์— ์žˆ๋‹ค๋ฉด, ๊ทธ๋ƒฅ ์‚ญ์ œํ•œ๋‹ค. 
     

  • ๋Œ€๋ถ€๋ถ„ Sparse Index๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์–ด์ฐจํ”ผ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” Block๋‹จ์œ„๋กœ ์˜ฎ๊ฒจ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ Block size๋กœ ์ž˜๋ผ์„œ ๊ฐ Block๋งˆ๋‹ค Search-key๋ฅผ ์ง€์ •ํ•ด์„œ Sparse Index๋ฅผ ๋งŒ๋“ ๋‹ค.
    • ์ด ๋ฐฉ์‹์œผ๋กœ ํ•˜๋ฉด Space overhead๋Š” ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ Disk Access Time์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
     

  • Multilevel Index
    • Index์กฐ์ฐจ ์ปค์ ธ์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆด ์ˆ˜ ์—†๊ฒŒ ๋˜๋ฉด Index๋ฅผ Indexingํ•œ Multilevel Index๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค ์‚ฌ์šฉํ•œ๋‹ค.
     

  • Non-clustering index(Secondary Index)
    • Search-key์— ํ•ด๋‹นํ•˜๋Š” Record๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ, ๊ฐ€์šด๋ฐ Bucket์ด๋ผ๋Š” ํฌ์ธํ„ฐ ์ง‘ํ•ฉ์„ ํ†ตํ•ด ๊ฐ™์€ ์„œ์น˜ ํ‚ค ๊ฐ’์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋“ค์„ ๋ชจ์œผ๊ณ , ์„œ์น˜ ํ‚ค ๊ฐ’๋“ค๋งŒ Indexingํ•œ๋‹ค.
    • ์ด ๋•Œ, Secondary Index๋Š” Denseํ•ด์•ผํ•œ๋‹ค.
     

  • Composite search key
    • ๋‘ ๊ฐœ ์ด์ƒ์˜ ์†์„ฑ์„ Search-key๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[ADV_db]Chap 3. Indexing - B+tree ๊ฒ€์ƒ‰,์‚ฝ์ž…,์‚ญ์ œ  (0) 2023.04.17
[ADV_db]Chap 3. Indexing - B+Tree ์†Œ๊ฐœ  (0) 2023.04.17
[ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ-2  (0) 2023.04.05
[ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ  (0) 2023.04.05
[ADV_db]Chap 1. ๋ฌผ๋ฆฌ์  ์ €์žฅ ์žฅ์น˜ ์‹œ์Šคํ…œ-2  (0) 2023.04.05
    '๐Ÿ–ฅ๏ธSW Engineer/Distributed System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ADV_db]Chap 3. Indexing - B+tree ๊ฒ€์ƒ‰,์‚ฝ์ž…,์‚ญ์ œ
    • [ADV_db]Chap 3. Indexing - B+Tree ์†Œ๊ฐœ
    • [ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ-2
    • [ADV_db]Chap 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์กฐ
    ์•ž๋™๋„คJIHOON
    ์•ž๋™๋„คJIHOON
    Every step repository / Data && Engineering

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