software engineering/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์„ค๊ณ„

[DB] ํŒŒํ‹ฐ์…˜, ๋ทฐ, ์‹œํ€€์Šค (Partition, View, Sequence)

jjingle 2023. 11. 6. 16:14

ํŒŒํ‹ฐ์…˜(Partition)

- ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ํฐ ํ…Œ์ด๋ธ”์ด๋‚˜ ์ธ๋ฑ์Šค๋ฅผ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•œ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ
- ๊ฐ๊ฐ์˜ ํŒŒํ‹ฐ์…˜์€ ์ž์‹ ์˜ ์ด๋ฆ„์„ ๊ฐ€์ง

 

 

* ํŒŒํ‹ฐ์…˜์˜ ์žฅ์ 

  1. ๊ฐ€์šฉ์„ฑ์˜ ์ฆ๊ฐ€
  2. ์Šคํ‚ค๋งˆ ๊ฐ์ฒด์˜ ๊ด€๋ฆฌ
  3. ๋ฐ์ดํ„ฐ์›จ์–ดํ•˜์šฐ์Šค์—์„œ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  4. ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์ž…์žฅ์—์„œ, ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์„ ๋ณด๋Š” ๊ฒƒ๊ณผ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— DML ๋ฌธ์žฅ์˜ ์ˆ˜์ •์ด ํ•„์š” ์—†์Œ

 

* ํŒŒํ‹ฐ์…˜ ํ‚ค(Partition Key)

  • ๋กœ์šฐ๊ฐ€ ํŠน์ • ํŒŒํ‹ฐ์…˜์— ์†ํ•˜๋Š” ๊ธฐ์ค€์ด๋˜๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‘˜ ์ด์ƒ์˜ ์ปฌ๋Ÿผ
  • Sales ํ…Œ์ด๋ธ”์—์„œ time_id์ปฌ๋Ÿผ์„ ๋ฒ”์œ„ํŒŒํ‹ฐ์…˜(Range partition)์œผ๋กœ ์ง€์ •ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํŒŒํ‹ฐ์…˜ํ‚ค๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ•ด๋‹น ํŒŒํ‹ฐ์…˜์œผ๋กœ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ๋ฒ  ์ž‘์—…์„ ์ˆ˜ํ–‰

 

* ํŒŒํ‹ฐ์…˜ ์ข…๋ฅ˜

  • ๋ฒ”์œ„ ํŒŒํ‹ฐ์…”๋‹(range partitioning)
    • ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ
    • ํŒŒํ‹ฐ์…˜ํ‚ค ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋กœ์šฐ๋ฅผ ๋ถ„๋ฅ˜
    • ์ฃผ๋กœ ๋‚ ์งœํƒ€์ž…์˜ ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์„ค์ •
  • ๋ฆฌ์ŠคํŠธ ํŒŒํ‹ฐ์…”๋‹(list partitioning)
    • ํŒŒํ‹ฐ์…˜ ์ปฌ๋Ÿผ์„ ๊ตฌ์„ฑํ•˜๋Š” ํŠน์ •ํ•œ ๊ฐ’์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ”
    • ์ฃผ๋กœ ํŠน์ •ํ•œ ๊ฐ’์œผ๋กœ ๊ตฌ๋ถ„์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ
  • ํ•ด์‹œ ํŒŒํ‹ฐ์…”๋‹(hash partitioning)
    • ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๊ตฌ๋ถ„
    • ํ•ด์‹œ ํ•จ์ˆ˜์— ์˜ํ•ด ์ž๋™์œผ๋กœ ํŒŒํ‹ฐ์…˜ ๊ฐœ์ˆ˜๋งŒํผ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• 
    • ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์œ„์น˜์— ๋ถ„์‚ฐ๋ฐฐ์น˜ํ•ด์„œ ๋””์Šคํฌ I/O ์„ฑ๋Šฅ์„ ๊ฐœ์„ 

 


๋ทฐ(View)

- ํ•˜๋‚˜ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์  ํ‘œํ˜„
- ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋‹จ์ผ ์งˆ์˜๋ฅผ ๋‚˜์ค‘์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋กœ ์ €์žฅํ•ด๋†“์€ ๊ฒƒ

 

 

* ๋ทฐ์˜ ์œ ํ˜•

  • ํ”„๋กœ์ ์…˜ ๋ทฐ(Projection View) : ๋ทฐ์˜ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์œ ํ˜• / ํ…Œ์ด๋ธ” ๋‚ด์˜ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ
  • ์กฐ์ธ ๋ทฐ(Join View) : ์ง€์ •๋œ ์ปฌ๋Ÿผ ๋‚ด์—์„œ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ํ•˜๋‚˜, ๋˜๋Š” ๋‹ค์ˆ˜ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ํ–‰์„ ์—ฐ๊ฒฐ
  • ์ธ๋ผ์ธ ๋ทฐ(Inline View) : SELECT๋ฌธ ์ค‘์—์„œ FROM์ ˆ ๋’ค์— ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ /  SQL์‹คํ–‰ ๋™์•ˆ๋งŒ ์ •์˜

 


์‹œํ€€์Šค(Sequence)

- ํŠน์ •ํ•œ ์ˆซ์ž ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด
- ์‹œํ€€์Šค๋Š” ์˜ค๋ผํด์—์„œ ๊ณ ์œ ํ•œ ์ˆซ์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณต
- ์ผ๋ฐ˜์ ์œผ๋กœ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค(๋˜๋Š” ์œ ๋‹ˆํฌ ํ‚ค)๋กœ ์‚ฌ์šฉ
- ์ƒ์„ฑ๋˜๋Š” ์ˆœ์„œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•จ

 

 

* ์‹œํ€€์Šค ํŠน์ง•

  1. ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  2. ๋ฉ”๋ชจ๋ฆฌ์— ๋ฏธ๋ฆฌ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๊ด€ํ•˜์—ฌ ์ ‘๊ทผ ํšจ์œจ์„ฑ์„ ์ฆ๊ฐ€
  3. ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ