๐ฅ๏ธSW Engineer

[ADV_db]Chap 3. Indexing - B+Tree ์ถ๊ฐ๋ด์ฉ๋ค
# B+tree Extensions B+Tree File Organization ๋ฆฌํ ๋ ธ๋์ ํฌ์ธํฐ๊ฐ ์๋ ๋ ์ฝ๋ ์์ฒด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์ ์ฝ์ /์ญ์ /๊ฐฑ์ ์ด ์ผ์ด๋๋๋ผ๋ ํญ์ Clustered๋ ์ํ๋ฅผ ์ ์งํ๊ฒ ํด์ค๋ค. ๋ ์ฝ๋๊ฐ ํฌ์ธํฐ๋ณด๋ค ์ฌ์ด์ฆ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ๋ฆฌํ ๋ ธ๋์ ๋ค์ด๊ฐ๋ ๋ ์ฝ๋์ ์ต๋ ์๋ ๋ฆฌํ ๋ ธ๋๊ฐ ์๋ ๋ ธ๋๋ค์ ํฌ์ธํฐ ์๋ณด๋ค ์์ ์ ๋ฐ์ ์๋ค. ๋ฐ๋ผ์ ๊ณต๊ฐ ํ์ฉ๋๊ฐ ์ค์ํ๋ฐ ์ด๋ฅผ ์ํด์ ๊ฐ๋ฅํ ๋ง์ Siblings๋ฅผ Split/Merge์ ํฌํจ์ํค๊ฒ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ m๊ฐ์ sibling๋ ธ๋๊ฐ ์ฌ๋ถ๋ฐฐ์ ์ฐธ์ฌํ๋ค๋ฉด ๊ฐ ๋ ธ๋๋ง๋ค ์ต์⌊(m-1)n/m⌋๊ฐ์ ์ํธ๋ฆฌ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ํ์ง๋ง ์ด ๊ฒฝ์ฐ ๋ฆฌํ ๋ ธ๋์ ์๋ ๋ ์ฝ๋๊ฐ ๋ ธ๋ ์ฌ์ด์ฆ๋ณด๋ค ์ปค์ ธ์ Split์ ํด์ผํ๋ค๋ฉด, ๋ ์ฝ๋๋ฅผ ์ด๋ ์ํค๋ ๋น์ฉ์..

[ADV_db]Chap 3. Indexing - B+tree ๊ฒ์,์ฝ์ ,์ญ์
# B+Tree ๊ฒ์ ๋ฃจํธ ๋ ธ๋๋ถํฐ ๊ฒ์ํ๋ key๊ฐ์ธ v๋ณด๋ค ํฐ key๊ฐ์ด ๋์ฌ ๋๊น์ง ๊ฒ์ํ๋ค ๊ฐ์ key๊ฐ์ ๊ฐ์ง๋ฉด, P(i+1)๋ก ์๋๋ฉด P(i)๋ก ๊ฐ์ ๋ฆฌํ ๋ ธ๋๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. ํ๋์ ๋ ธ๋๋ ๋ณดํต ํ๋์ ๋์คํฌ ๋ธ๋ก ์ฌ์ด์ฆ์ธ 4kb๋ก ํ๋ค. ๋ฐ๋ผ์ ๋ณดํต ํ๋์ index๋น ํฌ๊ธฐ๋ 40byte๋ก ์ ํ๊ณ Fanout n์ 100์ ๋๋ก ํ๋ ๊ฒ ๋ณดํต์ด๋ค. ๊ทธ๋ผ key๊ฐ ๋ฐฑ๋ง๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์ ๋, log50(1,000,000) = 4 ์ด๋ฏ๋ก ๊ฒ์ํ ๋๋ง๋ค 4๊ฐ์ ๋ ธ๋๋ฅผ ์ง๋๋ค. Composite key(๋ณตํฉํค) ๋ง์ฝ key๊ฐ primary key๊ฐ ์๋ ๊ฒฝ์ฐ, ์ ์ผ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ด๋ ต๋ค. ์ด๋ฐ ๊ฒฝ์ฐ, (ai , Ap)์์ผ๋ก ๋ณตํฉํค๋ฅผ ๋ง๋ค์ด ์ ์ผ์ฑ์ ๋ณด์ฅํ ์ ์๋ค. ํ์ง๋ง, ์ด๋ฌ๋ฉด ๋ ๋ง์ I..

[ADV_db]Chap 3. Indexing - B+Tree ์๊ฐ
# B+Tree B+Tree vs Sequential index B+Tree Sequential index ์ฅ์ 1. ์ฝ์ ,์ญ์ ๊ณผ์ ์์ ์์์ ์ฌ๊ตฌ์ฑ์ด ์ผ์ด๋๋ค. 2. ์ฑ๋ฅ ์ ์ง๋ฅผ ์ํ ์ ์ฒด ํ์ผ ์ฌ๊ตฌ์ฑ์ด ํ์ํ์ง ์๋ค. 1. ์ฝ๋ค ใ ๋จ์ ์ฝ์ ,์ญ์ ๊ณผ์ ์ด ์ข ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ํธ๋ฆฌ๋ฅผ ์ ์ฅํ ์ถ๊ฐ ๊ณต๊ฐ์ด ํ์ํ๋ค. 1. Overflow Block๋๋ฌธ์ ํ์ผ์ด ์ปค์ง์๋ก ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค 2. ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ์ ๋น๊ฐ ์๊ตฌ๋๋ค. B+Tree ํน์ง B+tree์์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๋ฆฌํ ๋ ธ๋์ ๋ค์ด์๊ฑฐ๋, ๊ทธ ์ฃผ์๊ฐ ์ ์ฅ๋์ด ์๋ค. ๋ฐ๋ผ์ ๋ฆฌํ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ ธ๋๋ฅผ "์ธ๋ฑ์ค ๋ ธ๋"๋ผ ๋ถ๋ฅด๊ณ , ๋ฆฌํ ๋ ธ๋๋ฅผ "๋ฐ์ดํฐ ๋ ธ๋"๋ผ ๋ถ๋ฅธ๋ค. ๋ชจ๋ ๋ฆฌํ ๋ ธ๋๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ฐ๊ฒฐ๋์ด ์๊ณ , ์์๋๋ก ์ ๋ ฌ๋์ด ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ..

[ADV_db]Chap 3. Indexing
# Basic Concept Index File(Index entries) ์ด๋ฐ Index File์ ๋ ๋น ๋ฅธ ๊ฒ์์ ์ํด ์ฌ์ฉ๋๋ค. ๋ฐ๋ผ์ ๊ฒ์ ํค์ ํฌ์ธํฐ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์๋ณธ ํ์ผ๋ณด๋ค๋ ์ฉ๋์ด ์๋ค. ๋ํ, ์ฌ๋ฌ ๊ฒ์ ํค๋ง๋ค ์ฌ๋ฌ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ ์ ์๋ค. Search Key ์ฌ๊ธฐ์ ๋งํ๋ Search Key๋ ๊ทธ๋์ ๋ฐฐ์ ๋ primary key,Candidate key,super key์๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ํ๋ ์ด์์ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค. ์ธ๋ฑ์ค ํ์ผ์๋ ์ฌ๋ฌ ์ข ๋ฅ์ ๊ฒ์ ํค์ ๋ํ ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์ฑ ์ ๊ณ ๋ฅผ ๋ ์๊ฐ,์ถํ์ฌ,์ฃผ์ ,์ ๋ชฉ ๋ฑ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ๋ ์ ์๋ ๊ฑฐ์ฒ๋ผ ๋ง์ด๋ค. Index์ ๊ธฐ๋ณธ์ ์ธ ์ข ๋ฅ Ordered Indices Search Key์ ๋ฐ๋ผ ์ ๋ ฌ๋..

[ADV_db]Chap 2. ๋ฐ์ดํฐ ์ ์ฅ ์ฅ์น ๊ตฌ์กฐ-2
# ๋ ์ฝ๋ ์ ์ฅ ๋ฐฉ๋ฒ 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๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฌํ์ฌ ํ์ผ์ ๋ ์ฝ๋๋ฅผ ์ ์ฅํ๋ค...

[ADV_db]Chap 2. ๋ฐ์ดํฐ ์ ์ฅ ์ฅ์น ๊ตฌ์กฐ
# ํ์ผ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์ผ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ ํ์ผ๋ค์ ์ฌ๋ฌ ๋ ์ฝ๋๋ค๋ก ๊ตฌ์ฑ๋๋ค. ๋ ์ฝ๋๋ ์ฌ๋ฌ ์ฐ์์ ์ธ ํ๋๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋, ํ์ผ์ ๋ ์ฝ๋์ ์ฌ์ด์ฆ๋ ๊ณ ์ ๋์ด ์๊ณ , ๋ ์ฝ๋๋ ๋์คํฌ ๋ธ๋ก๋ณด๋ค ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ERROR 1 ๊ทธ๋ ๋ค๋ฉด ์ด๋ฐ์์ผ๋ก ํ์ผ์ด ์ด๋ฃจ์ด์ ธ์์ ๊ฒ์ด๋ค. ์ด ๋ ๊ฐ ๋ ์ฝ๋์ ํฌ๊ธฐ๋ฅผ 170kb๋ผ๊ณ ํ๊ณ ๋ธ๋ก์ ํฌ๊ธฐ๋ฅผ 512kb๋ผ๊ณ ํ๋ฉด,ํ ๋ธ๋ก ๋จ์๋ก ์ ์ฅํ ๋ 2kB์ฉ "Cross Block Boundaries"์ฆ ๋ ์ฝ๋์ ์ผ๋ถ๋ถ์ ์๋ผ์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ธ๋ก ์ฌ์ด์ฆ๋ฅผ ๋ชจ๋ ์ฑ์ฐ์ง ์๊ณ , ์จ์ ํ ์ํ์ ๋ ์ฝ๋๋ค๋ก ์ฑ์ด ํ ์งํํด์ผ ํ๋ค. ERROR 2 ์ค๊ฐ์ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ ๊ฒฝ์ฐ, ์ ๋ถ๋ถ์ ์ฑ์ฐ๊ธฐ ์ํด ๋ค์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ์นธ์ฉ ์ด๋ํ๋ค๋ฉด,..