# 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
- Access Type
- Hash Indices
- Hash function์ ํตํด Bucket์ ๊ท ๋ฑํ๊ฒ ๋ถ๋ฐฐ๋์ด ์๋ Search Key
- Ordered Indices
# 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 |