๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋„์„œ๋ฆฌ๋ทฐ

[๊ทธ๋ฆผ์œผ๋กœ ๊ณต๋ถ€ํ•˜๋Š” ์˜ค๋ผํด ๊ตฌ์กฐ] - ์˜ค๋‹ค ์ผ€์ด์ง€ #1~2

by hyerong 2022. 8. 27.
1์žฅ I/O์™€ ๋””์Šคํฌ์˜ ๊ด€๊ณ„

- ๋””์Šคํฌ์˜ ๋™์ž‘ 

๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ/๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋””์Šคํฌ์—์„œ ์›ํ•˜๋Š” ํŠธ๋ž™์„ ์ฐพ์ง€ ์•Š์œผ๋ฉด ์•ˆ ๋œ๋‹ค. ์ด๊ฒƒ์„ ๋””์Šคํฌ ์šฉ์–ด๋กœ seek๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

ํšŒ์ „์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„ : ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฝ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ํšŒ์ „ํ•ด์„œ ๋‹ค๊ฐ€์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„ 

 

- ์ธ๋ฑ์Šค ์‚ฌ์šฉ 

tree๊ตฌ์กฐ์˜ ์žฅ์ ์€ ์ธ๋ฑ์Šค์˜ ํ•„์š”์—†๋Š” ๋ถ€๋ถ„์€ ์ฝ์ง€ ์•Š๊ณ  ๋๋‚œ๋‹ค๋Š” ์ ์ด๋‹ค. 

1์žฅ ์š”์•ฝ 
๋””์Šคํฌ ํšŒ์ „ ์ด๋ฏธ์ง€ ์ƒ๊ฐ
ํ—ค๋“œ๊ฐ€ ์›€์ง์ด๋ฉด์„œ ํšŒ์ „ํ•ด์˜ค๋Š” ๊ฒƒ์„ ๊ธฐ๋‹ค๋ ค์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— I/O์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ 
์ธ๋ฑ์Šค-index๋ฅผ ์ธํ•ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ๊ฐ€๋Šฅ (๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ’€์Šค์บ”ํ•˜์ง€ ์•Š์•„๋„ ๋จ) => ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์— ๋Œ€ํ•œ ๋†’์€ ํšจ์œจ 

 

2์žฅ ์˜ค๋ผํด์˜ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค

-์˜ค๋ผํด์˜ ์ด๋ฏธ์ง€ 

๊ธฐ๋ณธ์ ์œผ๋กœ DB์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์œผ๋กœ ๋ณด๊ด€ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ณด๊ด€ํ•ด์„œ๋„ ์•ˆ ๋œ๋‹ค. '์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋‚˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋‹ค'๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ.

 

-ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ 

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์กด์žฌํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ๋ณ‘๋ ฌ๋กœ ํ•˜๊ณ  ์‹ถ์„๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์–ด๋Š ์ชฝ์ด๋“  ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ด์ง€๋งŒ, ๊ฐ€์žฅ ๋‹ค๋ฅธ ์ ์€ ๋ถ€ํ•˜์˜ ํฌ๊ธฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ์—ฌ๋ถ€๋‹ค. 

์Šค๋ ˆ๋“œ๋Š” ๋ถ€ํ•˜๊ฐ€ ์ ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. -21p

 

-์ž์›์ด ์•„๊น๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ๋Š” PC์—์„œ ์ฃผ๋กœ ์ฝ”๋”ฉํ•œ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์€ ์ž‘๋™ํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“  ์‚ฌ๋žŒ์€ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์‹œ๊ฐ„์˜ ๋Œ€๋ถ€๋ถ„์ด CPU ์‹œ๊ฐ„์ด์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ปท ์˜ค๋ฒ„(cut-over) ์งํ›„๋‚˜ ๋‹ค์ค‘ ์ฒ˜๋ฆฌ๋ฅผ ๋™๋ฐ˜ํ•œ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„์—์„œ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์€ ์‚ฌํƒœ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์•„๋ฌด๋ฆฌ ์˜ค๋ผํด์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋Š˜๋ ค SQL๋ฌธ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•œ๋‹ค๊ณ  ํ•ด๋„ cpu๋Š” ํ•œ์ •๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ cpu ์†Œ๋น„๋Ÿ‰์ด ๋งŽ์€ sql๋ฌธ๊ณผ cpu ์†Œ๋น„๋Ÿ‰์ด ์ ์€ sql๋ฌธ์„ ๋น„๊ตํ•ด๋ณด๋ฉด, ์†Œ๋น„๋Ÿ‰์ด ์ ์€ sql๋ฌธ์ผ์ˆ˜๋ก ๋™์‹œ์— ๋” ๋งŽ์€ ์ˆ˜๊ฐ€ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ๋Œ€์˜ PC์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด, ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋™์‹œ์— PC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ผ์€ ์—†์œผ๋ฏ€๋กœ ์•„๊นŒ์šด ์ผ์ด ์•„๋‹ˆ๋‹ค. -์นผ๋Ÿผ 24p.

 

- ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์˜ ์ผ

์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค : ์šฐ๋ฆฌ ์˜ค๋ผํด ํด๋ผ์ด์–ธํŠธ์™€ ๋Œ€ํ™”, ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ง์ ‘ ์„œ๋น„์Šคํ•˜๋Š” ํ›Œ๋ฅญํ•œ ์˜์—… ๋‹ด๋‹น์ž. sql๋ฌธ์„ ์ฒ˜๋ฆฌ 

๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค : ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค์™€๋Š” ๋‹ฌ๋ฆฌ ์˜ค๋ผํด ํด๋ผ์ด์–ธํŠธ์™€ ์ง์ ‘์ ์ธ ์†Œํ†ต x. 

 

- ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฒ˜๋ฆฌ 

DB์˜ ์ฃผ์š” ์ฒ˜๋ฆฌ ์—…๋ฌด 

1) sql๋ฌธ ์ˆ˜์‹  

2) sql๋ฌธ parsing(ํŒŒ์‹ฑ : ์–ด๋–ค ํ…Œ์ด๋ธ”์— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผํ• ๊นŒ?)

3) ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ from.๋””์Šคํฌ

4) ๋ฐ์ดํ„ฐ ๊ธฐ๋ก to.๋””์Šคํฌ =>by DBWR(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ผ์ดํ„ฐ) 

5) sql๋ฌธ์˜ ๊ฒฐ๊ณผ ํšŒ์‹  

6) ๋กœ๊ทธ ๊ธฐ๋ก (๋ฐ์ดํ„ฐ ๊ฐฑ์‹  ๋กœ๊ทธ๋ฅผ ๋””์Šคํฌ์— ๊ธฐ๋ก)

7) ๊ฐ์ข… ์ •๋ฆฌ - ํ”„๋กœ์„ธ์Šค์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋กœ ์ธํ•œ ์•„๋ฌด๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฝ์˜ ํ•ด์ œ ๋“ฑ

8) ๋กœ๊ทธ ๋ณด๊ด€ to.์•„์นด์ด๋ธŒ 

 

-ํ˜„์žฅ ์šฉ์–ด

shadow process : ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธ. ํด๋ผ์ด์–ธํŠธ์— ๋Œ€์‘ํ•˜์—ฌ ๊ทธ๋ฆผ์ž ์ฒ˜๋Ÿผ ์ƒ์„ฑ 

foreground process : ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธ. ๋ฐฑ๊ทธ๋ผ์šด๋“œ์˜ ๋ฐ˜๋Œ€ ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉ (์ฃผ๋กœ ๋ฌธ์žฅ์—์„œ ์‚ฌ์šฉ) 

 

2์žฅ ์š”์•ฝ
DB๋Š” ๋ชจ๋‘๊ฐ€ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค
app/SQL*Plus์™€ ๊ฐ™์€ ์˜ค๋ผํด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์กด์žฌ ์—ฌ๋Ÿฌ ๊ณ ๊ฐ์˜ ์—ฌ๋Ÿฌ sql๋ฌธ์ด ์˜ค๋ผํด์— ์ „๋‹ฌ๋œ๋‹ค
์˜ค๋ผํด ์œ„์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ sql๋ฌธ์ด ๋™์‹œ์— ๋™์ž‘ํ•œ๋‹ค <-> ์—‘์…€
์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋Š” ํ›Œ๋ฅญํ•œ ์˜์—… ๋‹ด๋‹น์ž. ๊ณ ๊ฐ์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ํ•˜์ง€ ์•Š๋Š”๋‹ค. feat DBWR(ํšจ๊ณผ์ ์ธ ๋ถ„์—…)
์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋„์™€์ฃผ๋Š” ๊ฑด ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค

๋ณธ ์ฑ… 29p ๊ทธ๋ฆผ