4์žฅ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ

๊ฒฌ๊ณ ํ•˜๊ณ  ๊ณ ์†์˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜
  2. ํด๋Ÿฌ์Šคํ„ฐ๋ง
  3. ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜
  4. ์ƒค๋”ฉ

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์•„ํ‚คํ…์ฒ˜

๐Ÿ’ก ์•„ํ‚คํ…์ฒ˜๋ž€

์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฌผ๋ฆฌ ๋ ˆ๋ฒจ์˜ ์กฐํ•ฉ

โžก๏ธ ํ•˜๋“œ์›จ์–ด์™€ ๋ฏธ๋“ค์›จ์–ด์˜ ๊ตฌ์„ฑ = ์–ด๋–ค ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์„œ๋ฒ„๋ฅผ ์ค€๋น„ํ•˜๊ณ  ์–ด๋– ํ•œ ์ €์žฅ์†Œ๋‚˜ ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ์™€ ์กฐํ•ฉํ•  ๊ฒƒ์ธ์ง€?

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

1. ์—ญ์‚ฌ์™€ ๊ฐœ์š”

์•„ํ‚คํ…์ฒ˜์˜ ์—ญ์‚ฌ

'์•„ํ‚คํ…์ฒ˜'๋ผ๋Š” ๋ง์€ ์ถ”์ƒ์ ์ด์–ด์„œ ๋”ฑ ๋“ค์—ˆ์„ ๋•Œ ์ด๋ฏธ์ง€๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๋‹ค.

๊ทธ๋ž˜์„œ ๊ตฌ์ฒด์ ์ธ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ด€ํ•œ ์•„ํ‚คํ…์ฒ˜์˜ ์—ญ์‚ฌ๋Š” ๋‹ค์Œ 3๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค.

1) Stand-alone (~1980๋…„๋Œ€)

2) ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ (1990๋…„๋Œ€~2000๋…„)

3) Web 3๊ณ„์ธต (2000๋…„~ํ˜„์žฌ)


1) Stand-alone

  • ํŠน์ง•
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋จธ์‹ ์ด LAN์ด๋‚˜ ์ธํ„ฐ๋„ท ๋“ฑ์˜ ๋„คํŠธ์›Œํฌ์— ์ ‘์†ํ•˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ๋˜์–ด ๋™์ž‘ํ•˜๋Š” ๊ตฌ์„ฑ
    • DBMS์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ฐ™์€ DB ์„œ๋ฒ„์—์„œ ๋™์ž‘ → ์‚ฌ์šฉ์ž๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ DB ์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋œ ์žฅ์†Œ๊นŒ์ง€ ์ ‘๊ทผํ•ด์•ผ ํ•จ
  • ์žฅ์ 
    • ๊ตฌ์ถ•์ด ๊ฐ„๋‹จํ•ด์„œ ์†Œ๊ทœ๋ชจ ์ž‘์—…์ด๋‚˜ ํ…Œ์ŠคํŠธ์— ์ ํ•ฉ
    • ๋ณด์•ˆ์ด ๋งค์šฐ ๋†’์Œ (์•„๋ฌด๋„ ๋งŒ๋‚˜์ง€ ์•Š์œผ๋ฉด ์ „์—ผ๋ณ‘ ๊ฐ์—ผ์˜ ์œ„ํ—˜์ด ๋‚ฎ์€ ๊ฒƒ๊ณผ ๊ฐ™์Œ)
  • ๋‹จ์ 
    • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ง„ ์žฅ์†Œ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค
    • ๋ณต์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์—†๋‹ค
    • ๊ฐ€์šฉ์„ฑ์ด ๋‚ฎ๋‹ค
    • ํ™•์žฅ์„ฑ์ด ๋ถ€์กฑํ•˜๋‹ค (์„œ๋ฒ„๊ฐ€ ์„ฑ๋Šฅ์˜ ํ•œ๊ณ„์— ๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ๋จธ์‹  ์ž์ฒด ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์™ธ์— ๊ฐœ์„  ์ˆ˜๋‹จ์ด ์—†๋‹ค)

 

2) ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„

  • ํŠน์ง•
    • DB ์„œ๋ฒ„ 1๋Œ€์— ๋ณต์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•˜๋Š” ๊ตฌ์„ฑ
    • C/S, ํด๋ผ ์„œ๋ฒ„ ๋˜๋Š” 2๊ณ„์ธต ๊ตฌ์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ
  • ํ™•์žฅ
    • ๊ธฐ์—…์ด๋‚˜ ์กฐ์ง ๋‚ด ๋‹ซํžŒ ๋„คํŠธ์›Œํฌ์—์„œ ์ด์šฉ๋˜์–ด ์™ธ๋ถ€๋ฅผ ๊ฑฐ์ณ์„œ ์ ‘์†ํ•˜๋Š” ์ผ์€ ์—†์—ˆ์Œ
    • ์กฐ์ง ๋‚ด์—์„œ ์ œํ•œ๋œ ์šฉ๋„์˜ ์‹œ์Šคํ…œ์œผ๋กœ ์ด์šฉ๋จ
    • ์ธํ„ฐ๋„ท ์‹œ๋Œ€์—๋Š” ๊ฒฐ์ •์ ์œผ๋กœ ๋ถ€์ ํ•ฉํ•œ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  • ๋‹จ์ 
    • ๋ณด์•ˆ ์œ„ํ—˜ : ์ธํ„ฐ๋„ท์—์„œ ์ง์ ‘ DB์— ์ ‘์†ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
    • ๊ด€๋ฆฌ๋น„์šฉ ๋ฌธ์ œ : ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค์˜ ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ธฐ ์–ด๋ ค์›€ → Web 3๊ณ„์ธต ์ œ์‹œ๋จ

 

3) Web 3๊ณ„์ธต

  • ์›น ์„œ๋ฒ„ + ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ + ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„
  • ์›น ์„œ๋ฒ„
    • ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ HTTP ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ ๋„˜๊ธฐ๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜
    • Apache, IIS
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„
    • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘
    • ์›น ์„œ๋ฒ„์™€ ์—ฐ๊ณ„๋œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•„์š”ํ•˜๋ฉด DB ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ ๋ฐ์ดํ„ฐ ์ถ”์ถœํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์›น ์„œ๋ฒ„๋กœ ๋ฐ˜ํ™˜
    • Tomcat, WebLogic, WebSphere
  • ํŠน์ง•
    • ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ง์ ‘์ ์ธ ์ ‘์† ์š”์ฒญ → only ์›น ์„œ๋ฒ„ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ„์ธต์˜ ๋ณด์•ˆ์ด ๋†’์•„์ง
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ง‘์ค‘ → ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ ๋น„์šฉ์ด ๋‚ฎ์•„์ง
    • ํ˜„์žฌ ์›น ์‹œ์Šคํ…œ์—์„œ์˜ ํ‘œ์ค€

 

2. ๊ฐ€์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์˜ ํ™•๋ณด

๐Ÿง ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ •์ง€ํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ?

 

์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์—์„œ ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ๊ฐ€์šฉ์„ฑ ์ด๋‹ค.

 

๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๋Š” 2๊ฐ€์ง€ ์ „๋žต

  • ์‹ฌ์žฅ์ „๋žต : ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ์ปดํฌ๋„ŒํŠธ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์—ฌ ์žฅ์•  ๋ฐœ์ƒ๋ฅ ์„ ์–ต์ œํ•ด์„œ ๊ฐ€์šฉ์„ฑ์„ ๋†’์ž„ (๊ณ ํ’ˆ์งˆ-์†Œ์ˆ˜์ „๋žต)
  • ์‹ ์žฅ์ „๋žต : '์‚ฌ๋ฌผ์€ ์–ธ์  ๊ฐ€ ๋ง๊ฐ€์ง„๋‹ค'๋Š” ์ „์ œ๋กœ ์—ฌ๋ถ„์„ ์ค€๋น„ํ•ด ๋‘ , ๋ฌผ๋Ÿ‰์ž‘์ „ (์ €ํ’ˆ์งˆ-๋‹ค์ˆ˜์ „๋žต)
  • ๊ด€๊ณ„
    • ํ˜„์žฌ๋Š” ์‹ ์žฅ์ „๋žต ๋…ธ์„  ์œ„์ฃผ, FT ์„œ๋ฒ„ ๋“ฑ์—์„œ๋Š” ์‹ฌ์žฅ์ „๋žต ์ด์šฉ ์ค‘
    • ์‹ฌ์žฅ์ „๋žต๊ณผ ์‹ ์žฅ์ „๋žต์€ ์ค‘์ฒฉ๋˜๋ฉฐ, ์‹ฌ์žฅ์ „๋žต๋„ ์‚ฌ์‹ค์€ ์‹ ์žฅ์ „๋žต์— ์˜ํ•ด ์‹คํ˜„๋˜๋Š” ์ค‘

๐Ÿ’ก ํด๋Ÿฌ์Šคํ„ฐ๋ž€

  • ๋™์ผํ•œ ๊ธฐ๋Šฅ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณต์ˆ˜ ๊ฐœ ์ค€๋น„ํ•ด ํ•œ ๊ฐœ์˜ ๊ธฐ๋Šฅ์„ ์‹คํ˜„
  • ์‹ ์žฅ์ „๋žต์ฒ˜๋Ÿผ ๋™์ผํ•œ ๊ธฐ๋Šฅ์˜ ์ปดํฌ๋„ŒํŠธ ๋ณ‘๋ ฌํ™”ํ•˜๋Š” ๊ฒƒ → ํด๋Ÿฌ์Šคํ„ฐ๋ง
  • ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์œผ๋กœ ์‹œ์Šคํ…œ์˜ ๊ฐ€๋™๋ฅ ์„ ๋†’์ด๋Š” ๊ฒƒ → ์—ฌ์œ ๋„(Redundancy)๋ฅผ ํ™•๋ณดํ•œ๋‹ค, ๋‹ค์ค‘ํ™”

์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋–ค ์„œ๋ฒ„์˜ ๊ณ ์žฅ๋ฅ ์ด 10%๋ผ๊ณ  ํ•˜์ž.

์‹œ์Šคํ…œ ์ „์ฒด ์žฅ์•  ๋ฐœ์ƒ๋ฅ ์€ ์ „ ์„œ๋ฒ„๊ฐ€ ๋™์‹œ์— ๊ณ ์žฅ๋‚ฌ์„ ๋•Œ ํ•œํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์„œ๋ฒ„๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์žฅ์•  ๋ฐœ์ƒ๋ฅ ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ค„์–ด๋“ ๋‹ค.

  • ์„œ๋ฒ„ 1๋Œ€ = 10% (0.1)
  • ์„œ๋ฒ„ 2๋Œ€ = 1% (0.1 * 0.1)
  • ์„œ๋ฒ„ 3๋Œ€ = 0.1% (0.1 * 0.1 * 0.1)

๐Ÿ’ก ๊ฐ€๋™๋ฅ  = 100% - ์žฅ์•  ๋ฐœ์ƒ๋ฅ 

 

 

๐Ÿ’ก ๋‹จ์ผ ์žฅ์• ์ ์ด๋ž€

SPOF(Single Point of Failure), ๋‹ค์ค‘ํ™”๋˜์–ด ์žˆ์ง€ ์•Š์•„์„œ ์‹œ์Šคํ…œ ์ „์ฒด ์„œ๋น„์Šค์˜ ๊ณ„์†์„ฑ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ปดํฌ๋„ŒํŠธ

์‡ ์‚ฌ์Šฌ์˜ ๊ฐ•๋„๋Š” ๊ฐ€์žฅ ์•ฝํ•œ ๊ณ ๋ฆฌ์˜ ๊ฐ•๋„๋กœ ๊ฒฐ์ •๋œ๋‹ค = ๋‹จ์ผ ์žฅ์• ์ ์˜ ์‹ ๋ขฐ์„ฑ์ด ์‹œ์Šคํ…œ์˜ ์ „์ฒด์˜ ๊ฐ€์šฉ์„ฑ์„ ๊ฒฐ์ •ํ•œ๋‹ค

 

์‹ ๋ขฐ์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ

์‹ ๋ขฐ์„ฑ : ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ณ ์žฅ ๋นˆ๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋… → ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด 

๊ฐ€์šฉ์„ฑ : ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ๋ณผ ๋•Œ ์‹œ์Šคํ…œ์„ ์–ด๋Š์ •๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ → ์‹œ์Šคํ…œ ์ „์ฒด์—์„œ ์‚ฌ์šฉ์ž ๋ˆˆ๋†’์ด์— ๋งž์ถฐ ์ƒ๊ฐ

→ ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค ํ•˜๋”๋ผ๋„, ๋‹ค์ค‘ํ™”ํ•œ๋‹ค๋ฉด ์‹œ์Šคํ…œ ์ „์ฒด์˜ ๊ฐ€์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

DB ์„œ๋ฒ„์˜ ๋‹ค์ค‘ํ™” - ํด๋Ÿฌ์Šคํ„ฐ๋ง

๐Ÿ’ก ๋‹ค์ค‘ํ™”๋ž€

๊ณ ๊ฐ€์šฉ์„ฑ(HA)์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•˜๋Š”๋ฐ,

์˜ˆ๋ฅผ ๋“ค๋ฉด DB ์„œ๋ฒ„ 2๋Œ€์—์„œ 1๋Œ€๊ฐ€ ๊ณ ์žฅ์ด ๋‚˜๋„ ๋‚˜๋จธ์ง€ 1๋Œ€๊ฐ€ ๋™์ž‘ํ•˜๋„๋ก ํ•ด์„œ ์„œ๋น„์Šค์˜ ์ •์ง€๋ฅผ ๋ง‰๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

 

DB ์„œ๋ฒ„์˜ ๋‹ค์ค‘ํ™”

DB ์„œ๋ฒ„๋Š” ์˜ค๋žซ๋™์•ˆ ํด๋Ÿฌ์Šคํ„ฐ๋ง์ด ์–ด๋ ค์šด ์ปดํฌ๋„ŒํŠธ๋กœ ์ธ์‹๋จ

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๋Š” ์˜์†(Persistence) ๊ณ„์ธต์ด๊ธฐ ๋•Œ๋ฌธ์—

 

DB์™€ ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ ์ฐจ์ด

  1. ์›น ์„œ๋ฒ„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ : ์ผ์‹œ์ ์ธ ์ฒ˜๋ฆฌ
  2. DB์„œ๋ฒ„ : ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ๋ณด์กดํ•ด์•ผ ํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ๋„ ์š”๊ตฌ๋˜์–ด ํ•„์š” ์š”๊ฑด์ด ๋†’์Œ

DB์„œ๋ฒ„(๊ณ„์‚ฐ์ด๋‚˜ ์—…๋ฌด ๋กœ์ง ์ฒ˜๋ฆฌ)์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์ €์žฅ์†Œ(๋ฐ์ดํ„ฐ ๋ณด์กด)์™€ ๋ฌถ์–ด์„œ ์ƒ๊ฐ

๋ฐ์ดํ„ฐ๋Š” ํ•ญ์ƒ ๊ฐฑ์‹ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ค‘ํ™”๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ค‘์— ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ๋„ ์ค‘์š”ํ•˜๊ฒŒ ์˜์‹ํ•ด์•ผ ํ•จ

 

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‹ค์ค‘ํ™”

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋‹ค์ค‘ํ™” ๊ตฌ์„ฑ = DB ์„œ๋ฒ„ ์—ฌ๋Ÿฌ๊ฐœ + ์ €์žฅ์†Œ 1๊ฐœ

 

1) Active-Active

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋™์‹œ์— ๊ฐ€๋™

  • ์žฅ์ 
    • ์‹œ์Šคํ…œ ๋‹ค์šด ์‹œ๊ฐ„์ด ์งง์Œ : DB ์„œ๋ฒ„ ์—ฌ๋Ÿฌ ๋Œ€๊ฐ€ ๋™์‹œ์— ๋™์ž‘ํ•˜๊ณ  ์žˆ์–ด์„œ 1๋Œ€๊ฐ€ ๋‹ค์šด๋˜๋”๋ผ๋„ ๋‚จ์€ ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ๊ณ„์†ํ•ด ์‹œ์Šคํ…œ ์ „์ฒด๊ฐ€ ์ •์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€
    • ์„ฑ๋Šฅ์ด ์ข‹์Œ : DB ์„œ๋ฒ„ ๋Œ€์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๋™์‹œ์— ๊ฐ€๋™ํ•˜๋Š” CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋„ ์ฆ๊ฐ€ํ•ด์„œ ์„ฑ๋Šฅ๋„ ํ–ฅ์ƒ๋จ (์ €์žฅ์†Œ๊ฐ€ ๋ฒ„ํ‹€๋„ฅ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ฐ๋งŒํผ ํ–ฅ์ƒ๋˜์ง€ ์•Š๊ธฐ๋„..)
    • Oracle RAC(Real Application Clusters), DB2 pureScale
  • ๋‹จ์  : ๋น„์‹ธ๋‹ค

๐Ÿ’ก Heartbeat์ด๋ž€

Standby DB ์„œ๋ฒ„์—์„œ ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ Active DB์— ์ด์ƒ์ด ์—…๋Š”์ง€ ์กฐ์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹ 

 

2) Active-Standby

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ์ค‘ ์‹ค์ œ ๊ฐ€๋™ํ•˜๋Š” ๊ฒƒ์€ Active, ๋‚จ์€ ๊ฒƒ์€ ๋Œ€๊ธฐ(Standby)

  • Cold-Standby : ํ‰์†Œ์—๋Š” Standby DB๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋‹ค๊ฐ€ Active DB๊ฐ€ ๋‹ค์šด๋œ ์‹œ์ ์— ์ž‘๋™
  • Hot-Standby : ํ‰์†Œ์—๋„ Standby DB๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ตฌ์„ฑ
    • ์ „ํ™˜ ์‹œ๊ฐ„์ด ์งง์€ ๋งŒํผ ๋ผ์ด์„ ์Šค๋ฃŒ๊ฐ€ ๋†’์Œ (Active-Active๋ณด๋‹ค๋Š” ์ €๋ ด)

๊ฐ€์šฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์ด ์ข‹์€ ์ˆœ์„œ

  1. Active-Actvie
  2. Active-Standby (Hot-Standby)
  3. Active-Standby (Cold-Standby)

 

DB ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ์˜ ๋‹ค์ค‘ํ™” - ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜

๐Ÿ’ก ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ž€

DB ์„œ๋ฒ„์™€ ์ €์žฅ์†Œ ์„ธํŠธ๋ฅผ ๋ณต์ˆ˜๋กœ ์ค€๋น„ํ•˜๋Š” ๊ฒƒ

  • Active-Active, Active-Standby ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์„œ๋ฒ„๋Š” ๋‹ค์ค‘ํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ €์žฅ์†Œ๋Š” ๋‹ค์ค‘ํ™”ํ•˜์ง€ ์•Š๋Š” ๋‹จ์ ์„ ๋ณด์™„
  • ์ €์žฅ์†Œ๋„ ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์ค‘ํ™”๋˜์–ด ์žˆ์ง€๋งŒ(RAID), ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์žฌ๋‚œ ์ƒํ™ฉ์„ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์ž„
    • DB์„œ๋ฒ„์™€ ์ €์žฅ์†Œ๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉ ๋ถˆ๋Šฅ์ผ ๋•Œ, ์„œ๋น„์Šค๋ฅผ ์ง€์†ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ ๊ฐ€์šฉ์„ฑ์ด ๋†’์€ ์•„ํ‚คํ…์ฒ˜
  • Oracle Data Guard, DB2 HADR, MySQL(๋ถ€ํ•˜ ๋ถ„์‚ฐ์šฉ์— ๊ฐ€๊นŒ์›€)

 

๐Ÿ’ก RAID๋ž€

Redundant Array of Independent Disks, ์ €์žฅ์†Œ ๋‚ด๋ถ€์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค์ค‘ํ™”ํ•˜๋Š” ๊ธฐ์ˆ 

๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง๊ณผ ๋™์ผํ•˜๊ฒŒ ๋‹จ์ผ ์žฅ์• ์ ์„ ์ œ๊ฑฐํ•˜์—ฌ, ๋””์Šคํฌ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๋‚˜์—ดํ•ด ํ•œ๊ฐœ๊ฐ€ ๋ง๊ฐ€์ ธ๋„ ๋ฐ์ดํ„ฐ ์†Œ์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•จ

 

๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฃผ์˜ํ•  ์ 

  • Active์™€ Standby ์ €์žฅ์†Œ์˜ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์œ ์ง€ํ•  ๊ฒƒ
    • Active ์ธก ์ €์žฅ์†Œ์˜ ๋ฐ์ดํ„ฐ - ํ•ญ์ƒ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ฐฑ์‹ ๋จ → Standby ์ธก ๋ฐ์ดํ„ฐ๋ฅผ ๋Š˜ ์ตœ์‹ ํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด ์ •ํ•ฉ์„ฑ์ด ๊นจ์ง
    • ์ตœ์‹ ํ™”๋ฅผ ์œ„ํ•œ ๋™๊ธฐํ™”๋ฅผ ์ผ์ • ์ฃผ๊ธฐ๋กœ ํ•  ๋•Œ, ๊ฐฑ์‹  ์ฃผ๊ธฐ๋ฅผ ์–ผ๋งˆ๋กœ ํ•  ๊ฒƒ์ธ๊ฐ€์™€ ์„ฑ๋Šฅ ์‚ฌ์ด์— ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„ ๋ฐœ์ƒ
  • ๊ตฌ์„ฑ์„ ํ”ผ๋ผ๋ฏธ๋“œํ˜•์œผ๋กœ (= ์†์ž๋‚˜ ์ฆ์†์ž ์„ธํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ)
    • ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๋ž˜ ๋˜์–ด๋„ ์ฐธ์กฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๋Š” ์ฒ˜๋ฆฌ๋ฅผ ์†์ž๋‚˜ ์ฆ์†์ž ์„ธํŠธ์—์„œ ํ•˜์—ฌ ๋ถ€๋ชจ์— ๊ฑธ๋ฆฌ๋Š” ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•จ

 

์„ฑ๋Šฅ์„ ์ถ”๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์ค‘ํ™” - Shared Nothing

๐Ÿ’ก Share Disk๋ž€

  • Active-Active ๊ตฌ์„ฑ DB = ์—ฌ๋Ÿฌ๋Œ€์˜ DB์„œ๋ฒ„๊ฐ€ 1๋Œ€์˜ ๋””์Šคํฌ ์ €์žฅ์†Œ๋ฅผ ๊ณต์œ  → ์ €์žฅ์†Œ ๋ถ€๋ถ„์—์„œ ๋ณ‘๋ชฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.
  • DB์„œ๋ฒ„๋ฅผ ๋Š˜๋ ค๋„ ์ฒ˜๋ฆฌ์œจ์ด ์–ธ์  ๊ฐ€ ํ•œ๊ณ„์ ์— ๋„๋‹ฌํ•œ๋‹ค.
    • ์ €์žฅ์†Œ๋Š” ๊ณต์œ  ์ž์›์ด๋ผ์„œ ์‰ฝ๊ฒŒ ๋Š˜๋ฆฌ๊ธฐ ์–ด๋ ต๊ณ , DB์„œ๋ฒ„ ๋Œ€์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก DB ์„œ๋ฒ„ ๊ฐ„์˜ ์ •๋ณด๊ณต์œ ๋ฅผ ์œ„ํ•œ ๋™๊ธฐํ™” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ

 

๐Ÿ’ก Share Nothing์ด๋ž€

'์•„๋ฌด๊ฒƒ๋„ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค'๋ผ๋Š” ์˜๋ฏธ๋กœ ๋„คํŠธ์›Œํฌ ์ด์™ธ์˜ ์ž์›์„ ๋ชจ๋‘ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

  • ์žฅ์  : ์„œ๋ฒ„์™€ ์ €์žฅ์†Œ ์„ธํŠธ๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ์„ ํ˜•์ ์œผ๋กœ ํ–ฅ์ƒ
  • ๋‹จ์  : ๊ฐ๊ฐ์˜ DB ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ 1๊ฐœ์˜ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Œ → ์ปค๋ฒ„๋ง ๊ตฌ์„ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ
  • Google์ด ๊ฐœ๋ฐœํ•œ Shared Nothing ๊ตฌ์กฐ = ์ƒค๋”ฉ(Sharding)

 

์ •๋ฆฌ

๊ฐ€์šฉ์„ฑ, ์‹ ๋ขฐ์„ฑ, ์žฌํ•ด๋Œ€์ฑ…, ์„ฑ๋Šฅ, ๋ณด์•ˆ ๊ฐ™์€ ๋น„๊ธฐ๋Šฅ์ ์ธ ์š”๊ฑด์— ๋Œ€ํ•ด์„œ๋„ ๊ณ ๋ ค

์•„ํ‚คํ…์ฒ˜๋Š” ๋ณ€๊ฒฝ์ด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์‹ ์ค‘ํžˆ ๊ฒฐ์ •

๊ณ ๊ธฐ๋Šฅ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ฑ„์šฉํ•œ๋‹ค๋ฉด ์˜ˆ์‚ฐ, ์‹œ๊ฐ„๊ณผ ์ธ์  ์ž์› ๊ฐ™์€ ์ œ์•ฝ ์š”๊ฑด๋„ ์ƒ๊ฐ

 

 

+ Recent posts