Skip to content

Latest commit

ย 

History

History
781 lines (452 loc) ยท 31.1 KB

README.md

File metadata and controls

781 lines (452 loc) ยท 31.1 KB

07. ๋ฐฑ์—…๊ณผ ๋ณต๊ตฌ

๊ฐœ๋… ์ •๋ฆฌ

๐Ÿ“๋ฐฑ์—…(Backup)

1. ๋ฐฑ์—…์ด๋ž€?

๋ฐฑ์—…์€ ๋ฐ์ดํ„ฐ ์†์ƒ ์‹œ, ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์› ํ•  ๋ชฉ์ ์œผ๋กœ ์›๋ณธ ํŒŒ์ผ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ œ2์˜ ๋˜๋Š” ์ œ3์˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ์ดํ„ฐ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ์˜ค๋ฅ˜, ์ธ์‚ฌ ์‚ฌ๊ณ , ๋ฐ์ดํ„ฐ ์†์ƒ, ์•…์˜์ ์ธ ๊ณต๊ฒฉ, ์‹ค์ˆ˜๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋“ฑ์œผ๋กœ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฑ์—…๋ณธ์„ ํ†ตํ•ด ์ด์ „ ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๋ฏธ๋Ÿฌ๋ง(๋ณต์ œ, HA), ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€์„ ์œ„ํ•ด ๋‹ค๋ฅธ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” โ€˜์•„์นด์ด๋ธŒโ€™์™€ ๋ฐฑ์—…์€ ๊ฐœ๋…์ ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

image

2. DB ๋ฐฑ์—…์˜ ๊ณ ๋ ค์‚ฌํ•ญ

DB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๋‹จ์ˆœํžˆ ๋ฐฑ์—…ํ•˜๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ์˜์‚ฌํ•ญ์ด ์กด์žฌํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๊ฐ€ ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•จ.
  • ์›ํ•˜๋Š” ์ˆ˜์ค€์˜ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผํ•จ. ๊ธฐ์—…๋งˆ๋‹ค ๋ชฉํ‘œ๋กœ ํ•˜๋Š” RTO, RPO๊ฐ€ ์žˆ์Œ.
    • RTO(๋ณต๊ตฌ ์‹œ๊ฐ„ ๋ชฉํ‘œ)

      ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๋ณต๊ตฌํ•˜๊ณ  ์ •์ƒ์ ์ธ ์šด์˜ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„. ๋‹ค๋ฅด๊ฒŒ ๋งํ•˜๋ฉด, RTO๋Š” ๊ธฐ์—…์ด ๊ฐ๋‚ดํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋‹ค์šดํƒ€์ž„ ์‹œ๊ฐ„์— ํ•ด๋‹นํ•จ. ๊ธฐ์—…์˜ RTO๊ฐ€ 2์‹œ๊ฐ„์ด๋ผ๋ฉด 2์‹œ๊ฐ„์ด ๋„˜๋Š” ๊ฐ€๋™ ์ค‘๋‹จ์„ ๊ฒฌ๋”œ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค.

    • RPO(๋ณต๊ตฌ ์‹œ์  ๋ชฉํ‘œ)

      ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜์—ฌ ์ •์ƒ ์šด์˜ ์ƒํƒœ๋ฅผ ์žฌ๊ฐœํ•ด์•ผ ํ•˜๋Š” ์ตœ๋Œ€ ํŒŒ์ผ ์ €์žฅ ๊ธฐ๊ฐ„. RPO์— ๋”ฐ๋ผ ์ตœ์†Œ ๋ฐฑ์—… ๋นˆ๋„๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ธฐ์—…์˜ RPO๊ฐ€ 5์‹œ๊ฐ„์ด๋ผ๋ฉด ์‹œ์Šคํ…œ์€ ์ตœ์†Œ 5์‹œ๊ฐ„๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•ด์•ผ ํ•œ๋‹ค.

๋•Œ๋ฌธ์—, ๊ฐ ์„œ๋น„์Šค์˜ ์ƒํ™ฉ์— ๋งž๊ฒŒ ๋ฐฑ์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

3. ๋ฐฑ์—… ๋ฐ์ดํ„ฐ๋Ÿ‰

์„œ๋น„์Šค ๊ด€๋ฆฌ์ž๋Š” ๋ฐฑ์—…์„ ์–ด๋””์— ์–ผ๋งˆ๋‚˜ ํ•  ์ง€ ๊ฒฐ์ •ํ•ด์•ผํ•œ๋‹ค. 3 - 2 - 1์›์น™์€ ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ ํ†ต์šฉ๋˜๋Š” ๋ฐฑ์—… ์œ„์น˜์— ๋Œ€ํ•œ ์ „๋žต์ด๋‹ค. ์ด ์›์น™์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ํ•ด๋‘๋ฉด ๋žœ์„ฌ์›จ์–ด ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณต๊ฒฉ์ด๋‚˜ ์žฌํ•ด์—์„œ ๋†’์€ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

3 : ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ1, ๋ฐฑ์—… ๋ฐ์ดํ„ฐ2, ์ด 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€

2 : 2๊ฐ€์ง€ ์ด์ƒ์˜ ๋ฏธ๋””์–ด(์ €์žฅ ๋งค์ฒด)๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅ

1 : ๋ฐฑ์—…๋ณธ ํ•˜๋‚˜๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ ๊ณณ(off-site)์— ๋ณด๊ด€

(์•ˆ์ „์„ ์œ„ํ•ด ๋ฐฑ์—… ์ข…๋ฃŒ ํ›„ ์˜คํ”„์‚ฌ์ดํŠธ ์„œ๋ฒ„ off)

image

์ด ์›์น™์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ํ•ด๋‘๋ฉด ๋žœ์„ฌ์›จ์–ด ๋“ฑ์˜ ์œ„ํ˜‘์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ๋ฐฑ์—…์˜ ์œ ํ˜•

1) ์„œ๋น„์Šค ์šด์˜๊ธฐ์ค€

์ฝœ๋“œ ๋ฐฑ์—…(offline backup)

์„œ๋น„์Šค ์šด์˜ ์ค‘๋‹จ ํ›„ ๋ฐฑ์—… ์ง„ํ–‰

  • ์žฅ์ 
    • ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ์— ์ œํ•œ์ด ์—†์Œ
    • ๋ฐฑ์—… ๋„์ค‘ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด ์•ˆ์ „ํ•จ
  • ๋‹จ์ 
    • ์„œ๋ฒ„ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•จ
    • ๋ณต๊ตฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ

ํ•ซ ๋ฐฑ์—…(online backup)

์„œ๋ฒ„ ์šด์˜ํ•˜๋ฉฐ ๋ฐฑ์—… ์ˆ˜ํ–‰, ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น„์Šค์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฑ์—… ์œ ํ˜•์ž„.

  • ์žฅ์ 
    • ์„œ๋ฒ„๊ฐ€ ๋Š๊ธฐ์ง€ ์•Š๊ณ  ๊ณ„์† ์šด์˜๋จ
  • ๋‹จ์ 
    • ์Šคํ† ๋ฆฌ์ง€ ์ฝ๊ธฐ ์„ฑ๋Šฅ ๋ถ€ํ•˜๋กœ ์„œ๋น„์Šค ์šด์˜์— ์ง€์žฅ์ด ๊ฐˆ ์ˆ˜ ์žˆ์Œ
    • ์ˆ˜์‹œ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋ฐฑ์—… ์ฃผ์˜ ํ•„์š”

์›œ๋ฐฑ์—…(warm backup)

์‹œ์Šคํ…œ์€ ์ข…๋ฃŒํ•˜์ง€ ์•Š์œผ๋‚˜, ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์˜ ๋‚ด๋ถ€ ์‹œ์Šคํ…œ ์ ‘๊ทผ์„ ๋ง‰๊ณ  ๋ฐฑ์—… ์ˆ˜ํ–‰

2) ๋ฐฑ์—…๋Ÿ‰ ๊ธฐ์ค€

์ „์ฒด๋ฐฑ์—…(Full backup)

image

์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ดˆ๊ธฐ ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฐฑ์—…์œผ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๋˜๊ณ  ๊ทธ ๋‹ค์Œ์œผ๋ก  ์ฆ๋ถ„ ๋˜๋Š” ์ฐจ๋“ฑ ๋ฐฑ์—…์ด ์‚ฌ์šฉ๋œ๋‹ค. ์—ฌ๋Ÿฌ ์ฆ๋ถ„ ๋˜๋Š” ์ฐจ๋“ฑ ๋ฐฑ์—… ํ•œ ํ›„, ๋‹ค์‹œ ์ƒˆ๋กœ์šด ์ „์ฒด ๋ฐฑ์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

  • ์žฅ์ 
    • ๋ณต์›์ด ๋น ๋ฅด๊ณ  ํŒŒ์ผ์˜ ์ „์ฒด ๋ชฉ๋ก์œผ๋กœ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์ 
    • ๊ฐ๊ฐ์˜ ํŒŒ์ผ์˜ ์ „์ฒด๋ฐฑ์—…์ด ๋งค๋ฒˆ ์ด๋ฃจ์–ด์งˆ ๋•Œ๋งˆ๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
    • ์ฆ๋ถ„๋ฐฑ์—…๊ณผ ์ฐจ๋“ฑ๋ฐฑ์—…๊ณผ ๋น„๊ตํ•ด๋ณด์•„์„œ ๊ฐ€์žฅ ๋งŽ์€ ์ €์žฅ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•œ๋‹ค.
    • ๋™์ผํ•œ ํŒŒ์ผ์„ ๋ฐ˜๋ณต์ ์œผ๋กœย ์ €์žฅํ•˜๋Š” ๋น„ํšจ์œจ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฆ๋ถ„๋ฐฑ์—…(Incremental backup)

image

์ด์ „ ๋ฐฑ์—… ์ดํ›„ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ „์ฒด ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ์ €์žฅ ๊ณต๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋„์ž…๋˜์—ˆ๋‹ค.

  • ์žฅ์ 
    • ๋ฐฑ์—…์†๋„๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๋‹ค.
    • ์ด๋ฏธ ์žˆ๋Š” ํŒŒ์ผ์„ ๋‹ค์‹œ ์ €์žฅํ•˜๋Š” ๋น„ํšจ์œจ์ด ์—†๋‹ค. ์ด์— ๋”ฐ๋ผ ์ €์žฅ ๊ณต๊ฐ„๋„ ๋‹ค๋ฅธ ๋ฐฑ์—…์— ๋น„ํ•ด ๋งค์šฐ ์ ๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋‹จ์ 
    • ์ „์ฒด๋ฐฑ์—…๋ณธ ๋ณต๊ตฌ ํ›„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฆ๋ถ„ ๋ฐฑ์—…๋“ค์„ ๋ณต๊ตฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ณต๊ตฌ ์‹œ๊ฐ„์ด ๊ธธ๋‹ค.

์ฐจ๋“ฑ๋ฐฑ์—…(Differential backups)

image

์ฐจ๋“ฑ ๋ฐฑ์—…์€ ๋งˆ์ง€๋ง‰ ์ „์ฒด ๋ฐฑ์—… ์ดํ›„ ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ๋ถ„ ๋ฐฑ์—…๊ณผ์˜ ์ฐจ์ด๋Š” ์ „์ฒด ๋ฐฑ์—… ์ดํ›„์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋ฐฑ์—…ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

  • ์žฅ์ 
    • ์ „์ฒด ๋ฐฑ์—…์— ๋น„ํ•ด ๋ฐฑ์—…์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
    • ๋งˆ์ง€๋ง‰ ์ „์ฒด ๋ฐฑ์—… ์ดํ›„์— ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๋งŒ ๊ฐ ์ฐจ๋“ฑ ๋ฐฑ์—… ์‹คํ–‰์— ๋ณต์‚ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ ํ•œ ํ›„ ๊ณต๊ฐ„ ์ „์ฒด ๋ฐฑ์—…์„ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์ „์ฒด ๋ฐฑ์—…๊ณผ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์ฐจ๋“ฑ๋ฐฑ์—…๋ณธ๋งŒ ๋ณต๊ตฌํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋ณต๊ตฌ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ๋‹จ์ 
    • ๋ฐฑ์—…์†๋„๋‚˜ ์ €์žฅ ๊ณต๊ฐ„ ํšจ์œจ์€ ์ฆ๋ถ„ ๋ฐฑ์—…๋ณด๋‹ค ์ข‹์ง€ ์•Š๋‹ค.
    • ๋ณต์› ์†๋„๊ฐ€ ์ „์ฒด ๋ฐฑ์—…๋ณด๋‹ค๋Š” ๋Š๋ฆฌ๋‹ค.

*ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ ๋ฐฑ์—…

๋กœ๊ทธ ๋ฐฑ์—…์€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—… ๋ฐ›๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ  ๊ทธ๋™์•ˆ ๋ฐœ์ƒํ–ˆ๋˜ ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ(์ง€๊ธˆ๊นŒ์ง€ ์ด๋ฃจ์–ด์กŒ๋˜ ๋ชจ๋“  ๋™์ž‘๋“ค์˜ ๋กœ๊ทธ)๋ฅผ ๋ฐฑ์—…๋ฐ›๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด์ „ ๋ฐฑ์—…์„ ๋ณต๊ตฌํ•œ ๋ฐ์ดํ„ฐ์— ๋กœ๊ทธ์˜ ์งˆ์˜๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ์–ด ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๊ทธ ๋ฐฑ์—… ์ง„ํ–‰ ํ›„ ๋กœ๊ทธ ํŒŒ์ผ์€ ์‚ญ์ œ๋˜์–ด ์ €์žฅ ๊ณต๊ฐ„์˜ ํšจ์œจ์  ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐฑ์—…์ „๋žต

๋ณดํ†ต ์ „์ฒด ๋ฐฑ์—… ์‚ฌ์ด์— ์ฐจ๋“ฑ ๋ฐฑ์—…๊ณผ ์ฆ๋ถ„ ๋ฐฑ์—…์„ ํ•˜๋Š” ์ „๋žต์„ ์‚ฌ์šฉํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์ฃผ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

ex) ์ „์ฒด ๋ฐฑ์—…(1์ฃผ 1ํšŒ 2์ฃผ๋ถ„) / ์ฐจ๋“ฑ ๋ฐฑ์—… (1์ผ 1ํšŒ 7์ผ๋ถ„) / ์ฆ๋ถ„ ๋ฐฑ์—…(1์‹œ๊ฐ„ 1ํšŒ 3์ผ๋ถ„)

๐Ÿ“๋ณต๊ตฌ(Recovery)

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

image

  1. ์›๋ณธ ๋ฐ์ดํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  2. ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์ž‘์—…ํ–ˆ๋˜ ํŠธ๋žœ์žญ์…˜์˜ ๋กœ๊ทธ๋ฅผ ๋ฐฑ์—…ํ•œ๋‹ค.
  3. ์ „์ฒด ๋ฐฑ์—…๋ณธ์„ ๋จผ์ € ๋ณต๊ตฌํ•œ๋‹ค.
  4. ๋งˆ์ง€๋ง‰ ์ฐจ๋“ฑ ๋ฐฑ์—…๋ณธ์„ ๋ณต๊ตฌํ•œ๋‹ค.
  5. ์ฆ๋ถ„ ๋ฐฑ์—…๋ณธ์„ ๋ณต๊ตฌํ•œ๋‹ค.
  6. ๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์˜ ๋ฐฑ์—…๋ณธ์œผ๋กœ ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ณผ๋ฅจ์œผ๋กœ ๋ณต์›ํ•œ๋‹ค.

๋ฌผ๋ก  DBMS๋งˆ๋‹ค ์„ธ๋ถ€์ ์ธ ์ ˆ์ฐจ๋Š” ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณต๊ตฌ๋Š” ์ด๋Ÿฐ ๊ณผ์ •์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ฐธ๊ณ ๋กœ ํ๋ธŒ๋ฆฌ๋“œ๋Š” ์ฐจ๋“ฑ๋ฐฑ์—…์€ ํ•˜์ง€ ์•Š๊ณ , ์ „์ฒด๋ฐฑ์—…๊ณผ ์ฆ๋ถ„๋ฐฑ์—…, ๋กœ๊ทธ๋ฅผ ์ด์šฉํ•œ ๋ฐฑ์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋กœ๊ทธ๋ฅผ ์ด์šฉํ•œ ๋ณต๊ตฌ ์ž‘์—…์˜ ์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋„์›€ ๋  ๊ฒƒ์ด๋‹ค. http://contents2.kocw.or.kr/KOCW/document/2016/catholic/hwangbyungyeon/15.pdf

๐Ÿ“HA(High Availability or Replication)

HA(๋ณต์ œ)๋Š” ๋ฉ”์ธ ์„œ๋ฒ„ ๋˜๋Š” DB์— ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ, ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์ด๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋น„์— ๋™์ผํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋…๋ฆฝ์ ์ธ ์˜ˆ๋น„ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋†“๊ณ , ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์ฆ‰์‹œ ์˜ˆ๋น„ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์„œ๋น„์Šค์˜ ์ค‘๋‹จ์— ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.

image ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Master ๋…ธ๋“œ๋ฅผ ๋ณต์ œ(Replication)ํ•œ Slave ๋…ธ๋“œ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋™๊ธฐํ™” ์‹œ์ผœ์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•œ๋‹ค. ์ด ๋™๊ธฐํ™”๋Š” ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์ด๋ค„์ง„๋‹ค.

๋…ธ๋“œ(Node)๋ž€?
ํ๋ธŒ๋ฆฌ๋“œ๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ(๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ)์—์„œ ๋…๋ฆฝ์ ์ธ ์—ญํ• (์„œ๋น„์Šค, ์ฝ๊ธฐ/์“ฐ๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„๋ฅผ '๋…ธ๋“œ'๋ผ๋Š” ์šฉ์–ด๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
๊ฐ ๋…ธ๋“œ๋Š” ๋…๋ฆฝ์ ์ธ DBMS์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜(Storage)์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋…ธ๋“œ๋Š” ๋ณดํ†ต Active, Standby ์ƒํƒœ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. Active๋Š” ์ฝ๊ณ  ์“ฐ๋Š” ์ž‘์—…์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ ๋ฉ”์ธ ์„œ๋ฒ„์ž„์„ ์˜๋ฏธํ•˜๊ณ , Standby๋Š” ์ฝ๋Š” ์ž‘์—…๋งŒ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ž„์„ ์˜๋ฏธํ•œ๋‹ค.

Slave ๋…ธ๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ์˜ˆ๋น„ ์ž์›์œผ๋กœ ๋‘๊ธฐ์—๋Š” ๋‚ญ๋น„์ด๋ฏ€๋กœ SELECT์งˆ์˜ ๋“ฑ์˜ Read์ž‘์—…์€ Slave ๋…ธ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ๊ณผ ๊ด€๋ จ๋œ ์งˆ์˜๋Š” Master ๋…ธ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๋˜ํ•œ, ์ฝ๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ ˆํ”Œ๋ฆฌ์นด ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๋ ˆํ”Œ๋ฆฌ์นด ๋…ธ๋“œ๋„ Standby ์ƒํƒœ๋กœ ์ฝ๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, Failover๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ Failover์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.

image

๋งŒ์•ฝ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ ์„œ๋น„์Šค ์šด์˜์— ์žฅ์• ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š”, ๊ณง๋ฐ”๋กœ Slave๋…ธ๋“œ๋ฅผ ๋ฉ”์ธ ์„œ๋ฒ„๋กœ ์ „ํ™˜ํ•˜์—ฌ ์„œ๋น„์Šค ์šด์˜์— ์ฐจ์งˆ์ด ์—†๋„๋ก ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ Slave ๋…ธ๋“œ๊ฐ€ Master๋กœ ์—ญํ• ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ Failover(ํŽ˜์ผ์˜ค๋ฒ„)๋ผ๊ณ  ํ•œ๋‹ค.


ํ๋ธŒ๋ฆฌ๋“œ ๋ฐฑ์—…


๐Ÿ“๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์ด ํ˜ธํ™˜๋˜๋Š” ๊ฒฝ์šฐ


ํ๋ธŒ๋ฆฌ๋“œ ๋ฐฑ์—… ๋ฐฉ๋ฒ•

  • ๋ฐ์ดํ„ฐ์˜ ๋ณผ๋ฅจ ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์ฝ์–ด ์ €์žฅ

  • binary image

    https://content.instructables.com/ORIG/FH8/LKK7/I71QD48H/FH8LKK7I71QD48H.jpg?auto=webp

cubrid backupdb -D$CUBRID/backup demodb
## -D ์˜ต์…˜ => ๋ฐฑ์—… ํŒŒ์ผ์ด ์ €์žฅ๋  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์ •
## ์ƒ๋žต๋œ ๊ฒฝ์šฐ => $CUBRID/database.txt ํŒŒ์ผ์— ๋ช…์‹œํ•œ ๋กœ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ




ํ๋ธŒ๋ฆฌ๋“œ ๋ฐฑ์—… ํŒŒ์ผ ์ข…๋ฅ˜


  1. ์ œ์–ด ํŒŒ์ผ

    • {๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„}_vinf

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ์กด์žฌํ•˜๋Š” ๋ณผ๋ฅจ์˜ ์ •๋ณด, ๋ฐฑ์—… ์ •๋ณด, ๋ฐ ๋กœ๊ทธ์˜ ์ •๋ณด๋ฅผ ์ €์žฅ

      • ๋ณผ๋ฅจ ์ •๋ณด

        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ๋ชจ๋“  ๋ณผ๋ฅจ์˜ ์ด๋ฆ„

        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ๋ชจ๋“  ๋ณผ๋ฅจ์˜ ์œ„์น˜

        • ๋‚ด๋ถ€ ๋ณผ๋ฅจ ์‹๋ณ„์ž๋ฅผ ํฌํ•จํ•˜๋Š” ์ •๋ณด

        • ์œ„์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋  ๋•Œ CUBRID๋Š” ๋ณผ๋ฅจ ์ •๋ณด ์ œ์–ด ํŒŒ์ผ์„ ํŒ๋…

        • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์ด ์ถ”๊ฐ€๋  ๋•Œ์— ์ƒˆ๋กœ์šด ์—”ํŠธ๋ฆฌ๋ฅผ ๋ณผ๋ฅจ ์ •๋ณด ์ œ์–ด ํŒŒ์ผ์— ๊ธฐ๋ก

      • ๋ฐฑ์—… ์ •๋ณด

        • ์ •๋ณด ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฐฑ์—…์˜ ์œ„์น˜๋Š” ๋ฐฑ์—… ์ •๋ณด ์ œ์–ด ํŒŒ์ผ์— ๊ธฐ๋ก

        • ์ œ์–ด ํŒŒ์ผ์€ ๋กœ๊ทธ ํŒŒ์ผ์ด ๊ด€๋ฆฌ๋˜๋Š” ๊ณณ์— ์œ ์ง€๋œ๋‹ค.

      • ๋กœ๊ทธ ์ •๋ณด

        • ๋ชจ๋“  ํ™œ์„ฑ ๋กœ๊ทธ์™€ ๋ณด๊ด€ ๋กœ๊ทธ์˜ ์ด๋ฆ„์„ ํฌํ•จ

        • ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ ์ •๋ณด ์ œ์–ด ํŒŒ์ผ์„ ํ†ตํ•ด ๋กค๋ฐฑ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต๊ตฌ์— ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ณด๊ด€ ๋กœ๊ทธ์˜ ์ •๋ณด๋ฅผ ํ™•์ธ

        • ์ด๋Ÿฌํ•œ ๋กœ๊ทธ ์ •๋ณด ์ œ์–ด ํŒŒ์ผ์€ ๋กœ๊ทธ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์œ„์น˜์—์„œ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ


  1. ๋ณผ๋ฅจ ํŒŒ์ผ

    • ๋ฒ”์šฉ ๋ณผ๋ฅจ

    • ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ

    • ์ธ๋ฑ์Šค ๋ณผ๋ฅจ

    • ์ž„์‹œ ๋ณผ๋ฅจ

    • ๊ตฌ์กฐ


  1. ๋ฐฑ์—… ์‹œ์ž‘ ์ดํ›„ ์ƒ์„ฑ๋œ ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ

    • ํ™œ์„ฑ ๋กœ๊ทธ ๊ณต๊ฐ„์ด ๋ชจ๋‘ ์‚ฌ์šฉ๋œ ํ›„์— ์ง€์†์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋กœ๊ทธ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ํŒŒ์ผ

    • ์„ค์ •

      • cubrid.conf โ‡’ log_max_archives ์ ์ ˆํžˆ ํฐ๊ฐ’์œผ๋กœ ์„ค์ •

      • ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ์ด ์Œ“์ด๋Š” ์†๋„๋ฅผ ๊ฐ์•ˆํ•ด 10๊ฐœ up & down ์œผ๋กœ ์„ค์ •


  1. ํ™œ์„ฑ ๋กœ๊ทธ(active log) ํŒŒ์ผ

    • ์ง„ํ–‰ ์ค‘์ธ ํŠธ๋žœ์žญ์…˜ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํŒŒ์ผ

์œ„์˜ ์ˆซ์ž์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฑ์—…์ด ์ง„ํ–‰




๐Ÿง Log๋Š” ์™œ ํ•„์š”ํ• ๊นŒ?


  • ๋ฐฑ์—…๋œ ์‹œ์ ๊นŒ์ง€๋งŒ ๋ณต์›ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ๋ฐฑ์—… ํŒŒ์ผ๊ณผ ๋ฐฑ์—… ์ •๋ณด ํŒŒ์ผ๋งŒ ์žˆ์œผ๋ฉด ๋˜์ง€๋งŒ

  • ๋ฐฑ์—… ์ดํ›„ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋ฐ˜์˜๋œ ํŠธ๋žœ์žญ์…˜๊นŒ์ง€ ๋ณต์›ํ•˜๋ ค๋ฉด ํ™œ์„ฑ ๋กœ๊ทธ ํŒŒ์ผ๊ณผ ๋ฐฑ์—… ์ดํ›„์˜ ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ์ด ํ•„์š”




Database Create ์ƒ์„ฑ ํŒŒ์ผ


cubrid createdb --db-volume-size=20M --log-volume-size=20M demodb en_US > /dev/null 2>&1

  • demodb โ‡’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ ํŒŒ์ผ

  • demodb_lgar_t โ‡’ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ. ๋ณด๊ด€ ๋กœ๊ทธ ์ƒ์„ฑ์— ์ž„์‹œ๋กœ ์‚ฌ์šฉ

  • demodb_lgat โ‡’ ํ™œ์„ฑ ๋กœ๊ทธ ๋ณผ๋ฅจ ํŒŒ์ผ

  • demodb_lginf โ‡’ ๋กœ๊ทธ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์ •๋ณด ํŒŒ์ผ

  • demodb_vinf โ‡’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์ •๋ณด ํŒŒ์ผ




ํ๋ธŒ๋ฆฌ๋“œ ๋ฐฑ์—… ์ข…๋ฅ˜


  • ์˜จ๋ผ์ธ(Hot) ๋ฐฑ์—…๊ณผ ์˜คํ”„๋ผ์ธ(Cold) ๋ฐฑ์—…

    • ์˜จ๋ผ์ธ ๋ฐฑ์—… โ‡’ ์šด์˜ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ˆ˜ํ–‰

      • ๋ช…๋ น์–ด

        cubrid backupdb -C ##์˜จ๋ผ์ธ ๋ฐฑ์—…
    • ์˜คํ”„๋ผ์ธ ๋ฐฑ์—… โ‡’ ์ •์ง€ ์ƒํƒœ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฅผ ๋ฐฑ์—…

      • ๋ช…๋ น์–ด

        cubrid backupdb -S ##์˜คํ”„๋ผ์ธ ๋ฐฑ์—…

  • ์ „์ฒด ๋ฐฑ์—…๊ณผ ์ฆ๋ถ„ ๋ฐฑ์—…
    • ์ „์ฒด ๋ฐฑ์—…

      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๋ฐฑ์—…
    • ์ฆ๋ถ„ ๋ฐฑ์—…

      • ์ „์ฒด ๋ฐฑ์—… ์ดํ›„์˜ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ๋งŒ์„ ๋ฐฑ์—…
        • ์žฅ์  โ‡’ ์‹œ๊ฐ„๊ณผ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋ฉฐ ์šด์˜ ๊ฐ€๋Šฅ

        • ๋‹จ์  โ‡’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต๊ตฌ ํ•˜๋ ค๋ฉด ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๋ฐฑ์—… ํŒŒ์ผ์ด ์˜จ์ „ํžˆ ์žˆ์–ด์•ผ ๊ฐ€๋Šฅ

      cubrid backupdb -l {๋ฐฑ์—… ์ˆ˜์ค€}

  • ์••์ถ• ๋ฐฑ์—…

    • ์žฅ์  โ‡’ ๋ฐฑ์—…๋˜๋Š” ํŒŒ์ผ์„ ์••์ถ•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ์—… ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค์–ด ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝ
    • ๋‹จ์  โ‡’ CPU ์—ฐ์‚ฐ์ด ๋Š˜์–ด๋‚จ
    cubrid backupdb -z
  • ๋ณต์ œ (Replication)

    • ๋ฐฑ์—… ์‹œ I/O ๋ถ€ํ•˜ ์กฐ์ ˆ
    • Master ์—์„œ์˜ ๋ณ€๊ฒฝ์„ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ Binary Log

    • Binary Log ๋ฅผ ์ฝ์–ด์„œ Slave ์ชฝ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ Master Thread

    • Slave ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ Relay Log ์— ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ I/O Thread

    • Relay Log ๋ฅผ ์ฝ์–ด์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ Slave ์— Apply(์ ์šฉ)ํ•˜๊ธฐ ์œ„ํ•œ SQL Thread

    • ์ˆœ์„œ

      1. ํด๋ผ์ด์–ธํŠธ(Application)์—์„œ Commit ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

      2. Connection Thead ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—๊ฒŒ ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ Prepare(Commit ์ค€๋น„)๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

      3. Commit ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋จผ์ € Binary Log ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•œ๋‹ค.

      4. ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—๊ฒŒ ํŠธ๋žœ์žญ์…˜ Commit ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

      5. Master Thread ๋Š” ์‹œ๊ฐ„์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ (๋น„๋™๊ธฐ์ ์œผ๋กœ) Binary Log ๋ฅผ ์ฝ์–ด์„œ Slave ๋กœ ์ „์†กํ•œ๋‹ค.

      6. Slave ์˜ I/O Thread ๋Š” Master ๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•œ ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ๋ฅผ Relay Log ์— ๊ธฐ๋กํ•œ๋‹ค. (๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹์€ Master ์˜ Binary Log ์™€ ๋™์ผํ•˜๋‹ค)

      7. Slave ์˜ SQL Thread ๋Š” Relay Log ์— ๊ธฐ๋ก๋œ ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ์ ์šฉํ•œ๋‹ค

    • โ€”sleep-msecs=N ์˜ต์…˜

      • ๋ฐฑ์—… ์‹œ 1MB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์€ ํ›„ ์ผ์ • ์‹œ๊ฐ„(N) ๋™์•ˆ ์ž‘์—…์„ ์‰ฌ์–ด ๋””์Šคํฌ I/O ๋ถ€ํ•˜๋ฅผ ์ค„์ž„
    • -t ์˜ต์…˜

      • ๋ฐฑ์—… ์‹œ ์Šค๋ ˆ๋“œ ๊ฐœ์ˆ˜๋„ ์กฐ์ ˆ

      • default โ‡’ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

      • ๋””์Šคํฌ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋ฉด ์Šค๋ ˆ๋“œ ํ•˜๋‚˜๋กœ ๋™์ž‘ํ•  ๋•Œ๋ณด๋‹ค ๋ฐฑ์—… ์‹œ๊ฐ„์ด ์˜คํžˆ๋ ค ๋Š๋ ค์งˆ์ˆ˜ ์žˆ์Œ




์ •ํ•ฉ์„ฑ ํ™•์ธ

  • ์ •ํ•ฉ์„ฑ์ด๋ž€?

    • ์ •ํ•ฉ์„ฑ = ็„ก๋ชจ์ˆœ์„ฑ
      • ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๋ชจ์ˆœ ์—†์ด ์ผ๊ด€๋˜๊ฒŒ ์ผ์น˜ํ•ด์•ผํ•จ์„ ์˜๋ฏธ

      • ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ผ๋ฆฌ ์ •ํ•ฉ์„ฑ์„ ๋งž์ถ”๊ธฐ ์–ด๋ ต๋‹ค (Normalization์˜ ํ•„์š”์„ฑ)

      • ์ฆ‰, ๋ฐ์ดํ„ฐ์˜ ์ •ํ•ฉ์„ฑ์ด๋ž€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“ค์˜ ๊ฐ’์ด ์„œ๋กœ ์ผ์น˜

  • default โ‡’ ์ •ํ•ฉ์„ฑ ํ™•์ธ

  • โ€”noโ€”check ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ •ํ•ฉ์„ฑ์„ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ๋ฐฑ์—… ์ˆ˜ํ–‰

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์ด ํฌ๋‹ค๋ฉด ์œ„์˜ ์˜ต์…˜์„ ๊ถŒ์žฅ



์ˆ˜ํ–‰ ๊ฒฐ๊ณผ ํ™•์ธ

  • -o ์˜ต์…˜์œผ๋กœ ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ง€์ •

  • ์Šฌ๋ ˆ์ด๋ธŒ๋‚˜ ๋ ˆํ”Œ๋ฆฌ์นด๋ฅผ ์žฌ๊ตฌ์ถ• ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ์—…ํ•  ๋•Œ๋Š” ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ €์žฅํ•ด์•ผ ์žฌ๊ตฌ์ถ• ์„ฑ๊ณต

  • page_id ์™€ required_page_id, offset ์ •๋ณด์™€ ๊ฐ™์ด ์žฌ๊ตฌ์ถ• ํ•„์š”ํ•œ ์ •๋ณด ์ €์žฅ




ํ๋ธŒ๋ฆฌ๋“œ ๋ณต๊ตฌ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ ์ด๋ฏธ์ง€๋ฅผ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ

  • ๋ฐฑ์—… ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด ๋ณต๊ตฌํ•˜๋Š” ๊ณผ์ •

    1. ์ œ์–ดํŒŒ์ผ({๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„}_vinf)๊ณผ ๋ณผ๋ฅจ ํŒŒ์ผ(๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ, ์ธ๋ฑ์Šค ๋ณผ๋ฅจ, ์ž„์‹œ ๋ณผ๋ฅจ)์„ ์ƒ์„ฑ

    2. ํ™œ์„ฑ ๋กœ๊ทธ์™€ ๋ณด๊ด€ ๋กœ๊ทธ๋ฅผ ์ฝ์–ด ๋กœ๊ทธ๋ฅผ ๋ณต๊ตฌ

  • ์ผ๋ฐ˜์ ์ธ ๋ณต๊ตฌ

    • ๋ฐฑ์—…ํ•œ ์‹œ์ ์œผ๋กœ ๋ณต๊ตฌ

    • ๋ช…๋ น์–ด

      cubrid restoredb -B /mybackup/testdb_bkv000 -u testdb ## -B ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ database.txtํŒŒ์ผ์˜ vol_path ์™€ log_path์˜ ๊ฐ’์„ ์ง€์ •
  • ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ณต๊ตฌ

    • ๋ช…๋ น์–ด

      cubrid restoredb -d 14-10-2014:14:10:00 demodb ##๋ฐฑ์—… ํŒŒ์ผ์„ ์ด์šฉํ•ด ๋ฐฑ์—… ์‹œ์ ๋ณด๋‹ค ์ด์ „์˜ ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ณต๊ตฌ



๐Ÿ“๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์ด ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

  • ์–ธ๋กœ๋“œ, ๋กœ๋“œ

    • ๋ฐ์ดํ„ฐ๋ฅผ ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋‚ด๋ ค๋ฐ›์•„ ๋ณผ๋ฅจ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ (ํ…Œ์ด๋ธ” ์ˆœ์„œ๋Œ€๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘)
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์ด ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋ณต์›ํ•˜๋Š” ๊ฒฝ์šฐ

      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์žฌ๊ตฌ์ถ• ํ•˜๋Š” ๊ฒฝ์šฐ




Unload

  • ๋ช…๋ น์–ด

    cubrid unloaddb ##๋ช…๋ น์–ด
  • ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ

    • ์Šคํ‚ค๋งˆ ํŒŒ์ผ

      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •์˜๋œ ์Šคํ‚ค๋งˆ ํŒŒ์ผ (๊ธฐ๋ณธ ํ‚ค๋Š” ํฌํ•จ๋˜๋‚˜, ์ธ๋ฑ์Šค ์ •๋ณด๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ)
    • ๊ฐ์ฒด ํŒŒ์ผ

      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ
    • ์ธ๋ฑ์Šค ํŒŒ์ผ

      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •์˜๋œ ์ธ๋ฑ์Šค ํŒŒ์ผ
    • ํŠธ๋ฆฌ๊ฑฐ ํŒŒ์ผ

      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •์˜๋œ ํŠธ๋ฆฌ๊ฑฐ ํŒŒ์ผ
  • ๋ณ„๋„์˜ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ํ…์ŠคํŠธ๋กœ ๋‚ด๋ ค๋ฐ›๋Š”๋‹ค

  • ํŠน์ • ํ…Œ์ด๋ธ”์˜ ์Šคํ‚ค๋งˆ, ์ธ๋ฑ์Šค, ๋ฐ์ดํ„ฐ๋งŒ ๋‚ด๋ ค๋ฐ›๋Š” ๊ฒฝ์šฐ

    cubrid unloaddb --input-class-file table_list.txt --input-class-only testdb
  • ๋ฐ์ดํ„ฐ ์—†์ด ์Šคํ‚ค๋งˆ, ์ธ๋ฑ์Šค๋งŒ ๋‚ด๋ ค๋ฐ›๋Š” ๊ฒฝ์šฐ

    cubrid unloaddb --input-class-file table_list.txt --input-class-only --schema-only testdb
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌ๊ธฐ๊ฐ€ ์ปค์„œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ํ•˜๋‚˜๊ฐ€ ๋„ˆ๋ฌด ํด ๊ฒฝ์šฐ

    • โ€”datafile-per-class ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ํ…Œ์ด๋ธ” ๋ณ„๋กœ ๋‚˜๋ˆ”



Load

  • ๋ช…๋ น์–ด

    cubrid loaddb ##๋ช…๋ น์–ด
  • ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— INSERT ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Œ




Commit ์ฃผ๊ธฐ ์กฐ์ ˆ

  • -c ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ปค๋ฐ‹ ์ฃผ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์ปค๋ฐ‹ ์ฃผ๊ธฐ๋ฅผ ํฐ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋กœ๊ทธ ํŽ˜์ด์ง€์— ์“ฐ๋Š” ๋ถ€๋‹ด์ด ์ปค์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฌด์กฐ๊ฑด ํฌ๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์Œ



์šด์˜ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ๋กœ๋“œ

  • cubrid loaddb ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์„ ๊ฐ€์ •

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ •์ง€๋ผ ์žˆ๋Š” ์ƒํƒœ์—์„œ๋งŒ ๋ช…๋ น์„ ์ˆ˜ํ–‰
  • ์šด์˜ ์ค‘์— ํŠน์ • ํ…Œ์ด๋ธ”์„ ๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ โ‡’ ํ๋ธŒ๋ฆฌ๋“œ ๋งค๋‹ˆ์ €์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ธฐ๋Šฅ์„ ์‹คํ–‰




ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๋กœ๋“œ

  • โ€”no-logging ์˜ต์…˜ ์‚ฌ์šฉ

  • ์žฅ์  โ‡’ ๋กœ๋“œ ์†๋„๋Š” ๋†’์•„์ง

  • ๋‹จ์  โ‡’ ํŒŒ์ผ ํ˜•์‹์ด ์ž˜๋ชป๋๊ฑฐ๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋กœ๊ทธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌ ๋ถˆ๊ฐ€ํ•จ




๋ณด๊ด€ ๋กœ๊ทธ

  • ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ์€ ํ™œ์„ฑ ๋กœ๊ทธ ํŒŒ์ผ์˜ ์—ฌ์œ  ๊ณต๊ฐ„์ด ๋ชจ๋‘ ์†Œ์ง„ ๋์„ ๋•Œ ๋ณต๊ตฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ํŒŒ์ผ

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

    • ์‹œ์Šคํ…œ์— ์˜ํ•ด ์‚ญ์ œ ๋˜๋Š” ๊ฒฝ์šฐ

      • HA๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ•œ ๋Œ€์˜ ๋…ธ๋“œ๋งŒ ์šด์˜์‹œ

        • ํ๋ธŒ๋ฆฌ๋“œ ์ดˆ๊ธฐ ์„ค์ •

          • cubrid.conf ํŒŒ์ผ โ‡’ log_max_archives=0 ์„ค์ •

            • ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ์„ ๋‚จ๊น€์—†์ด ์ง€์šฐ๋Š” ์„ค์ • โ‡’ ๋””์Šคํฌ ๋ณผ๋ฅจ์— ๋ฐ˜์˜์ด ์™„๋ฃŒ๋œ ๋ณด๊ด€ ๋กœ๊ทธ๋Š” ์‹œ์Šคํ…œ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์‚ญ์ œ
      • HA ํ™˜๊ฒฝ์—์„œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋…ธ๋“œ ์šด์˜ ์‹œ

        • ๋งˆ์Šคํ„ฐ ์Šค๋ ˆ์ด๋ธŒ ์„œ๋ฒ„ ๋ชจ๋‘ ์ƒ๋Œ€ ๋…ธ๋“œ์— ๋ณต์ œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์‚ญ์ œ ๋ณด๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•ด

          • force_remove_log_archives ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ no๋กœ ๋ณ€๊ฒฝ
        • Replication์—์„œ๋Š” ์ƒ๋Œ€๋ฐฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ๋งŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

          • force_remove_log_archives ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์„ yes๋กœ ์„ค์ •ํ•ด์•ผ๋งŒ ๋ณด๊ด€๋กœ๊ทธ ์‚ญ์ œ ๊ฐ€๋Šฅ
      • HA ํ™˜๊ฒฝ์—์„œ ๊ฐ•์ œ ์‚ญ์ œ

        force_remove_log_archives=yes
        log_max_archives=10
        • ๋ณด๊ด€ ๋กœ๊ทธ๊ฐ€ ์Œ“์ด๋ฉด์„œ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์œ„์˜ ์„ค์ •์œผ๋กœ ์Šฌ๋ ˆ์ด๋ธŒ ๋…ธ๋“œ๋กœ ๋ณต์ œํ•˜๋Š” ๊ฒƒ์„ ํฌ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋‚˜์„ ์ˆ˜ ์žˆ์Œ

          • ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ ์ง„ํ–‰ ์ค‘์ธ ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋ณด๊ด€ ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด ์ตœ์†Œ 10๊ฐœ์˜ ํŒŒ์ผ์€ ํ•ญ์ƒ ๋‚จ๊ธฐ๊ณ , ๋‚˜๋จธ์ง€ ๋ณด๊ด€ ๋กœ๊ทธ๋Š” ๋ณต์ œ ์—ฌ๋ถ€์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์‚ญ์ œ

            • ๋กœ๊ทธ ํŒŒ์ผ์ด 10๊ฐœ ์Œ“์ผ ๋•Œ๊นŒ์ง€๋Š” ๋ณต์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ถ”ํ›„ ๋ณต์ œ ๋ฐ˜์˜์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ 10๊ฐœ ์ด์ƒ ํ•„์š”ํ•œ ์ƒํ™ฉ์ด ๋˜๋ฉด ์Šฌ๋ ˆ์ด๋ธŒ ๋…ธ๋“œ๋ฅผ ์žฌ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉ
      • ์ฒดํฌํฌ์ธํŠธ ๋ฐœ์ƒ

        • ์‹œ์Šคํ…œ ์„ค์ •์— ์˜ํ•ด ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ฒดํฌํฌ์ธํŠธ ๋ฐœ์ƒ ์‹œ์  ์ด์ „์˜ ๋ณด๊ด€ ๋กœ๊ทธ ์‚ญ์ œ

        • ์ฒดํฌํฌ์ธํŠธ ๋ฐœ์ƒ ์ฃผ๊ธฐ โ‡’ cubrid.conf ํŒŒ์ผ ์„ค์ •

          • checkpoint_every_size โ‡’ ๋กœ๊ทธ ํŽ˜์ด์ง€ ๋‹จ์œ„ ์„ค์ •

            • ์„ค์ •๋œ ๊ฐ’๋งŒํผ ๋กœ๊ทธ ํŒŒ์ผ์ด ์ปค์ง€๋ฉด ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ˆ˜ํ–‰

            • ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ง€์ • โ‡’ B, K, M, G๋“ฑ์˜ ๋‹จ์œ„๋กœ ๋ช…์‹œ

            • ๊ธฐ๋ณธ๊ฐ’

              • ๋กœ๊ทธ ํŽ˜์ด์ง€ ํฌ๊ธฐ 16 KB ์ด๋ฉด 156.25MB

              • ๋กœ๊ทธ ํŽ˜์ด์ง€ ํฌ๊ธฐ 8KB ์ด๋ฉด 78.125M

          • checkpoint_interval โ‡’ ์ฒดํฌํฌ์ธํŠธ ์ˆ˜ํ–‰ ์ฃผ๊ธฐ ์„ค์ •

            • ๊ธฐ๋ณธ๊ฐ’ = 6min
          • ๋‘๊ฐœ์˜ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์ฒดํฌํฌ์ธํŠธ ๋ฐœ์ƒ

    • ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ช…๋ น์„ ํ†ตํ•ด ์‚ญ์ œ ํ•˜๋Š” ๊ฒฝ์šฐ

      • ์ฒดํฌํฌ์ธํŠธ ๋ฐœ์ƒ

        $ csql -u dba testdb --sysadm
        csql> ;checkpoint
        • ์‚ฌ์šฉ์ž๊ฐ€ CSQL์—์„œ ์œ„์™€ ๊ฐ™์ด ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๋ช…์‹œํ•ด ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

        • CSQL์— DBA ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•ด์•ผํ•˜๋ฉฐ ๊ด€๋ฆฌ์ž ๋ชจ๋“œ์ธ โ€”sysadm ์˜ต์…˜์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผํ•จ

      • ๋ฐฑ์—… ์‹œ -r ์˜ต์…˜ ์‚ฌ์šฉ

        • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฑ์—… ๋ช…๋ น ์ˆ˜ํ–‰ ์‹œ -r ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑ์—… ์‹œ์  ์ด์ „์˜ ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ œ๊ฑฐ

        • -r ์˜ต์…˜์„ ์ฆ๋ถ„ ๋ฐฑ์—…์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์ƒ์ ์œผ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ „์ฒด ๋ฐฑ์—…์„ ์‚ฌ์šฉํ•ด์•ผํ•จ

        cubrid backupdb -r testdb
        • ์ฃผ์˜ ์‚ฌํ•ญ
          • HA ํ™˜๊ฒฝ์ธ ๊ฒฝ์šฐ ์Šฌ๋ ˆ์ด๋ธŒ ๋…ธ๋“œ์—์„œ ๋ณต์ œํ•˜์ง€ ์•Š์€ ๋ณด๊ด€ ๋กœ๊ทธ๊ฐ€ ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ -r ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค



์ฒดํฌํฌ์ธํŠธ

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ์ˆ˜์ •๋œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ๋””์Šคํฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ ํŒŒ์ผ๊ณผ ๋™๊ธฐํ™” ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฒคํŠธ

  • DBMS๊ฐ€ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์–ด๋–ค ํŠธ๋žœ์žญ์…˜์˜ ๊ฐฑ์‹  ์‚ฌํ•ญ์ด ์ฃผ๊ธฐ์–ต์žฅ์น˜ ๋ฒ„ํผ๋กœ๋ถ€ํ„ฐ ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜์—ˆ๋Š” ๊ฐ€๋ฅผ ๊ตฌ๋ถ„ ๋ถˆ๊ฐ€

    • ํšŒ๋ณต ์‹œ ์žฌ์ˆ˜ํ–‰ํ•  ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ˆ˜ํ–‰
  • ์ฒดํฌํฌ์ธํŠธ ์ž‘์—…์ด ๋๋‚˜๋ฉด ๋กœ๊ทธ์— [checkpoint] ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๊ธฐ๋ก

  • ํšŒ๋ณต์„ ์œ„ํ•œ ์กฐ์น˜

    • Redo (์žฌ์ˆ˜ํ–‰) : ๊ฐ€์žฅ ์ตœ๊ทผ ๋ณต์ œ๋ณธ + ๋กœ๊ทธ โ‡’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์›

    • Undo (์ทจ์†Œ) : ๋กœ๊ทธ + ๋ชจ๋“  ๋ณ€๊ฒฝ๋“ค์„ ์ทจ์†Œ โ‡’ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ณต์›

      • Undo์™€ Rollback

        • Undo : ๋‹จ์ผ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด ์ ์šฉ

        • Rollback : ํ•œ ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด ์ ์šฉ

        • ํšŒ๋ณต์˜ ํ•„์š”์„ฑ

          • ์–ด๋–ค ํŠธ๋žœ์žญ์…˜ T๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘์— ์‹œ์Šคํ…œ์ด ๋‹ค์šด๋˜์—ˆ์„ ๋•Œ, T์˜ ์ˆ˜ํ–‰ ํšจ๊ณผ๊ฐ€ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ผ๋ถ€ ๋ฐ˜์˜๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Œ

            • ์–ด๋–ป๊ฒŒ T์˜ ์ˆ˜ํ–‰์„ ์ทจ์†Œํ•˜์—ฌ ์›์ž์„ฑ์„ ๋ณด์žฅํ•  ๊ฒƒ์ธ๊ฐ€?
          • ํŠธ๋žœ์žญ์…˜ T๊ฐ€ ์™„๋ฃŒ๋œ ์งํ›„์— ์‹œ์Šคํ…œ์ด ๋‹ค์šด๋˜๋ฉด T์˜ ๋ชจ๋“  ๊ฐฑ์‹  ํšจ๊ณผ๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Œ

            • ์–ด๋–ป๊ฒŒ T์˜ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์™„์ „ํ•˜๊ฒŒ ๋ฐ˜์˜๋˜๋„๋ก ํ•˜์—ฌ ์ง€์†์„ฑ์„ ๋ณด์žฅํ•  ๊ฒƒ์ธ๊ฐ€?
          • ๋””์Šคํฌ์˜ ํ—ค๋“œ ๋“ฑ์ด ๊ณ ์žฅ ๋‚˜์„œ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€?

        • ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ๋””์Šคํฌ์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๋ฉด ์ตœ๋Œ€ํ•œ ์ค„์ž„์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ค‘์š”

          • ex ) ๋ฒ„ํผ๊ฐ€ ๊ฝ‰ ์ฐผ์„ ๋•Œ ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ ๋ฌ์„ ๋•Œ

          • ๊ทธ๋Ÿฐ๋ฐ ํŠธ๋žœ์žญ์…˜์ด ๋ฒ„ํผ์—๋Š” ๊ฐฑ์‹  ์‚ฌํ•ญ์ด ๋ฐ˜์˜ํ–ˆ์ง€๋งŒ ๋ฒ„ํผ ๋‚ด์šฉ์ด ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜๊ธฐ ์ „์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒ

            • Commit ํ›„์— ์žฅ์• ์ผ ๋•Œ โ‡’ Redo๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ง€์†์„ฑ์„ ๊ฐ–๋„๋ก

            • Commit ์ „์— ์žฅ์• ์ผ ๋•Œ โ‡’ Undo๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์›์ž์„ฑ์„ ๋ณด์žฅ

          • ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ์ฆ‰์‹œ ๊ฐฑ์‹ 

          • ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ์ง€์—ฐ ๊ฐฑ์‹ 

  • ์ฒดํฌํฌ์ธํŠธ ์˜ˆ์‹œ

    • ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ

    • ์‚ฌ์šฉ ํ–ˆ์„ ๋•Œ




DataBase Migration

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์„ ์˜๋ฏธ

  • ํ๋ธŒ๋ฆฌ๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํˆดํ‚ท์—์„œ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

    1. ์›๋ณธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•ด ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ๋ธŒ๋ฆฌ๋“œ ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ๋กœ ์ „ํ™˜ํ•ด DDL ๊ตฌ๋ฌธ์„ ๋งŒ๋“ฌ

    2. ์›๋ณธ์˜ ์ „ํ™˜ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ์ „ํ™˜ ๋Œ€์ƒ ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•œ ํ›„ ํ๋ธŒ๋ฆฌ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ธฐ๋ก๋  ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ ๋ฐ ๊ธฐ๋ก

  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งˆ๋ฒ•์‚ฌ

    1. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์›๋ณธ ์œ ํ˜•์œผ๋กœ MySQL, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ SQL Server, ํ๋ธŒ๋ฆฌ๋“œ, SQL, CSV ๋ฐ์ดํ„ฐ ์„ ํƒ

      • ์›๊ฒฉ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ๊ฒฝ์šฐ๋Š” ์˜จ๋ผ์ธ ๋ฐฉ์‹์œผ๋กœ dump file ํŒŒ์ผ์„ ์ถ”์ถœ ํ›„ cubrid loaddb ์ˆ˜ํ–‰

    2. ์Šคํ‚ค๋งˆ ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ด๋ฏธ ๋“ฑ๋กํ•œ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ด์šฉ ๋‹ค์Œ ๋‹จ๊ณ„ ์ง„ํ–‰

      • ๋‹ค์Œ์„ ํด๋ฆญํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด๊ฐ€ ๋“ฑ๋ก๋˜๋ฉด์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งคํ•‘์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ์ž ์‹œ ๋™์•ˆ ์ˆ˜์ง‘
    3. ์˜จ๋ผ์ธ ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ 2๋‹จ๊ณ„์™€ ๋™์ผ

      • ๋กœ์ปฌ ์œ ํ˜•์ผ ๊ฒฝ์šฐ ํŒŒ์ผ์˜ ๋ฌธ์ž ์ง‘ํ•ฉ ๋ฐ ํŒŒ์ผ์ด ์ €์žฅ๋  ๊ฒฝ๋กœ ์ง€์ •
    4. ์›๋ณธ๊ณผ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„ ํ…Œ์ด๋ธ”, ๋ทฐ, ์‹œ๋ฆฌ์–ผ ๋“ฑ์„ ๋งคํ•‘ํ•˜๋Š” ๋‹จ๊ณ„

      • ํŠน์ • ํ…Œ์ด๋ธ”์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ” ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ๋ณ€๊ฒฝ, ์นผ๋Ÿผ์„ ๋ณ€ํ˜•

      • ํ…Œ์ด๋ธ”์ด ์•„๋‹Œ ์งˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ SQL ํƒญ์— ์งˆ์˜๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€๋Šฅ

      • ๋งคํ•‘ ๋‹จ๊ณ„์—์„œ ๋ฌธ์ž์—ด ์นผ๋Ÿผ์— ์ €์žฅ ๊ฐ€๋Šฅํ•œ ์‹ค์ œ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜

    5. ์„ค์ •ํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์„ค์ •์„ ํ™•์ธํ•œ ํ›„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹œ์ž‘