Xtring's Blog

๐Ÿค˜๐Ÿป Welcome to my Tech Blog

Space-based architecture

2022-01-05

Space-based architecture

  • ์›น ๊ธฐ๋ฐ˜ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋Œ€๋ถ€๋ถ„ ์ผ๋ฐ˜์ ์ธ ์š”์ฒญ ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ
    • ๋ธŒ๋ผ์šฐ์ €์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์›น์„œ๋ฒ„ > ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ > ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋จ
    • ๊ณ  ํŠธ๋ ˆํ”ฝ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ ์  ๋ณ‘๋ชฉํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋จ
      • ์ฒ˜์Œ์—๋Š” ์›น์„œ๋ฒ„, ๊ทธ ๋‹ค์Œ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ๋ ˆ์ด์–ด์—์„œ๋„ ๋‚˜ํƒ€๋‚จ
    • ์›น ์„œ๋ฒ„์˜ ํ™•์žฅ์„ ํ†ตํ•ด ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ•ด๊ฒฐ๊ฐ€๋Šฅ
      • ๋น„๊ต์  ์‰ฝ๊ณ  ์ €๋ ด, ํšจ๊ณผ์ ์œผ๋กœ ๋ณ‘๋ชฉ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
      • ํ•˜์ง€๋งŒ, ์›น์„œ๋ฒ„ ํ™•์žฅ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ชฝ์œผ๋กœ ๋‹ค์‹œ ๋ณ‘๋ชฉ์ด ๋ฐœ์ƒํ•จ
        • ์‚ผ๊ฐํ˜• ํ† ํด๋กœ์ง€(triangle-shaped topology) ํ˜•ํƒœ๊ฐ€ ๊ทธ๋ ค์ง
  • ๋™์‹œ ์œ ์ € ๋ถ€ํ•˜๊ฐ€ ๋งŽ์€ ๋Œ€์šฉ๋Ÿ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋™์‹œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ํŠธ๋žœ์žญ์…˜ ์ˆ˜๊ฐ€ ์ตœ์ข… ์ œ์•ฝ์กฐ๊ฑด์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ
    • ๋‹ค์–‘ํ•œ ์บ์‹œ ๊ธฐ์ˆ ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์žฅ ์ œํ’ˆ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅ
      • ํ•˜์ง€๋งŒ, ๋ถ€ํ•˜๊ฐ€ ์—„์ฒญ๋‚ ๊ฒŒ ๋ฐ€๋ ค ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ์—์„œ ์—ฌ๋Š ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์žฅํ•˜๋Š” ์ž‘์—…์€ ์‰ฝ์ง€ ์•Š์Œ

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

  • ๊ทน๋‹จ์ , ๊ฐ€๋ณ€์ ์ธ ํ™•์žฅ์„ฑ ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜, ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ์•„ํ‚คํ…์ฒ˜์— ๋งž๊ฒŒ ์บ์‹œ ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์•„ํ‚คํ…์ฒ˜์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

ํ† ํด๋กœ์ง€

๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜(space-based architecture) ๋ผ๋Š” ๋ช…์นญ์€ ํŠœํ”Œ ๊ณต๊ฐ„(tuple space; ๋ณ‘๋ ฌ/๋ถ„์‚ฐ ์ปดํ“จํŒ…์„ ์œ„ํ•œ ์—ฐ๊ด€ ๋ฉ”๋ชจ๋ฆฌ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๊ตฌํ˜„, ๋™์‹œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํŠœํ”Œ์˜ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณต)

  • ํŠœํ”Œ ๊ณต๊ฐ„์€ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ํ†ต์‹ ํ•˜๋Š” ๋‹ค์ค‘ ๋ณ‘๋ ฌ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ  ์‹œ์Šคํ…œ์—์„œ ๋™๊ธฐ ์ œ์•ฝ์กฐ๊ฑด์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—†์• ๋Š” ๋Œ€์‹  ๋ณต์ œ๋œ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ(in-memory data grid)๋ฅผ ํ™œ์šฉ - ํ™•์žฅ์„ฑ, ํƒ„๋ ฅ์„ฑ, ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋‘” ์ƒํƒœ๋กœ ๋ชจ๋“  ํ™œ์„ฑ ์ฒ˜๋ฆฌ ์žฅ์น˜๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œ
  • ์ฒ˜๋ฆฌ ์žฅ์น˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ํผ์‹œ์Šคํ„ด์Šค ํ(persistent queue)์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ ์ „์†ก
    • ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ์žฅ์ 
      • ๊ฐ€๋ณ€์ ์ธ ํ™•์žฅ : ์œ ์ €๋ถ€ํ•˜์˜ ์ฆ๊ฐ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ ์žฅ์น˜๋Š” ๋™์ ์œผ๋กœ ์‹œ์ž‘/์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Œ
      • ์ค‘์•™ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ‘œ์ค€ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์— ๊ด€์—ฌํ•˜์ง€ ์•Š์Œ
        • ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ์‚ฌ๋ผ์ง
        • ๋ฌดํ•œ์— ๊ฐ€๊นŒ์šด ํ™•์žฅ์„ฑ
  • ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ๊ตฌ์„ฑ(๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋ณธ ํ† ํด๋กœ์ง€ ์ฐธ๊ณ , p.267/๊ทธ๋ฆผ 15-2)
    • ์ฒ˜๋ฆฌ ์žฅ์น˜(processing unit) : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ๊ตฌํ˜„๋จ
    • ๊ฐ€์ƒ ๋ฏธ๋“ค์›จ์–ด(virtualized middleware) : ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌ/์กฐ์ •
    • ๋ฐ์ดํ„ฐ ํŽŒํ”„(data pump) : ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋น„๋™๊ธฐ ์ „์†กํ•จ
    • ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ(data writer) : ๋ฐ์ดํ„ฐ ํŽŒํ”„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰
    • ๋ฐ์ดํ„ฐ ๋ฆฌ๋”(data reader) : ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ์‹œ์ž‘๋˜์ž๋งˆ์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด (์ฒ˜๋ฆฌ ์žฅ์น˜์—)์ „๋‹ฌ

์ฒ˜๋ฆฌ ์žฅ์น˜

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง(๋˜๋Š” ๋กœ์ง์˜ ์ผ๋ถ€๋ถ„)์„ ๊ฐ–๊ณ  ์žˆ์Œ - ๋ณดํ†ต ์›น ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ์™€ ๋ฐฑ์—”๋“œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ข…๋ฅ˜๋งˆ๋‹ค ๋‚ด์šฉ๋ฌผ์ด ๋‹ฌ๋ผ์ง

(๊ทธ๋ฆผ 15-3)

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ฅธ ๋ฐฐํฌ๋ฐฉ์‹
    • ์ž‘์€ ์›น ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ๋‹จ์ผ ์ฒ˜๋ฆฌ ์žฅ์น˜์— ๋ฐฐํฌ
    • ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ๊ธฐ๋Šฅ๋ณ„๋กœ ์—ฌ๋Ÿฌ ์ฒ˜๋ฆฌ ์žฅ์น˜์— ๋‚˜๋ˆ„์–ด ๋ฐฐํฌ
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์ฒ˜๋Ÿผ ๊ทœ๋ชจ๊ฐ€ ์ž‘์€ ๋‹จ์ผ ๋ชฉ์ ์˜ ์„œ๋น„์Šค๋„ ์ฒ˜๋ฆฌ ์žฅ์น˜์— ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง ์ด์™ธ์—๋„ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ ๋ฐ ๋ณต์ œ ์—”์ง„๋„ ์ฒ˜๋ฆฌ์žฅ์น˜์— ํฌํ•จ๋จ
    • ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ ๋ฐ ๋ณต์ œ ์—”์ง„ ์ œํ’ˆ : ํ—ค์ด์ฆ์บ์ŠคํŠธ(Hazelcast), ์•„ํŒŒ์น˜ ์ด๊ทธ๋‚˜์ดํŠธ(Apache Ignite), ์˜ค๋ผํด ์ฝ”ํžˆ์–ด๋Ÿฐ์Šค(Oracle Coherence) ๋“ฑ

๊ฐ€์ƒ ๋ฏธ๋“ค์›จ์–ด

์•„ํ‚คํ…์ฒ˜ ๋‚ด๋ถ€์—์„œ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐ ์š”์ฒญ ์ฒ˜๋ฆฌ์˜ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์„ ์ œ์–ดํ•˜๋Š” ์ธํ”„๋ผ๋ฅผ ๋‹ด๋‹น(์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌ/์กฐ์ •) ๊ตฌ์„ฑ ์ปดํฌ๋„ŒํŠธ

  • ๋ฉ”์‹œ์ง• ๊ทธ๋ฆฌ๋“œ(messaging grid)
  • ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ(data grid)
  • ์ฒ˜๋ฆฌ ๊ทธ๋ฆฌ๋“œ(processing grid)
  • ๋ฐฐํฌ ๊ด€๋ฆฌ์ž(deployment manager) ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ์ง์ ‘ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์„œ๋“œํŒŒํ‹ฐ ์ œํ’ˆ์œผ๋กœ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Œ

(1) ๋ฉ”์‹œ์ง• ๊ทธ๋ฆฌ๋“œ(messaging grid)

  • ์ž…๋ ฅ ์š”์ฒญ๊ณผ ์„ธ์…˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌ
    • ๊ฐ€์ƒ ๋ฏธ๋“ค์›จ์–ด์— ์š”์ฒญ์ด ์œ ์ž…๋˜๋ฉด ์–ด๋Š ํ™œ์„ฑ ์ฒ˜๋ฆฌ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •ํ•˜์—ฌ ํ•ด๋‹น ์ฒ˜๋ฆฌ ์žฅ์น˜๋กœ ์š”์ฒญ์„ ์ „๋‹ฌ
  • ์ฒ˜๋ฆฌ ๋ณต์žก๋„ ๋Š” ๋‹ค์–‘ํ•จ
    • ๋‹จ์ˆœ ๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ~ ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ์š”์ฒญ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ณดํ†ต ๋ถ€ํ•˜ ๋ถ„์‚ฐ์ด ๊ฐ€๋Šฅํ•œ ์ผ๋ฐ˜ ์›น ์„œ๋ฒ„๋กœ ๊ตฌํ˜„๋จ
    • HA poxy, Nginx ๋“ฑ

(2) ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ(data grid)

  • ์ฒ˜๋ฆฌ ์žฅ์น˜ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์—ญํ• 
    • ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋Š” ๋น„๋™๊ธฐ ๋ฐฉ์‹
    • ๋งค์šฐ ์‹ ์†ํ•˜๊ฒŒ, ๋Œ€๊ฐœ 100ms์ดˆ ๋ฏธ๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ง
  • ์ด ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ณ  ํ•„์ˆ˜์ ์ธ ์ปดํฌ๋„ŒํŠธ
    • ์š”์ฆ˜์€ ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„ ๋ณต์ œ ์บ์‹œ๋กœ์„œ ์ฒ˜๋ฆฌ ์žฅ์น˜์—๋งŒ ๊ตฌํ˜„
    • ์™ธ๋ถ€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•„์š”ํ•œ ๋ณต์ œ ์บ์‹œ ๊ตฌํ˜„์ฒด๋‚˜ ๋ถ„์‚ฐ ์บ์‹œ(distributed cache)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ๋Š” ๊ฐ€์ƒ ๋ฏธ๋“ค์›จ์–ด ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ ์ปดํฌ๋„ŒํŠธ์™€ ์ฒ˜๋ฆฌ ์žฅ์น˜ ๋ชจ๋‘์— ์œ„์น˜
  • ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฆ„์ด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ๊ฐ€ ํฌํ•จ๋œ ์ฒ˜๋ฆฌ ์žฅ์น˜ ๊ฐ„์— ๋™๊ธฐํ™”
    • ์บ์‹œ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด
      • ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๊ฐ€ ํฌํ•จ๋œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์žฅ์น˜์— ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์ œ๋จ
      • ์ฒ˜๋ฆฌ ์žฅ์น˜๋Š” ์ž‘์—…์„ ๋งˆ์น˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋งŒํผ์˜ ๋ณต์ œ ์บ์‹œ๋ฅผ ์†Œ์œ ํ•  ์ˆ˜ ์žˆ์Œ
      • ์บ์‹œ ๋™๊ธฐํ™” ์ปจํŠธ๋กค ๋ฐฉ์‹
        • ํ•˜๋‚˜์˜ ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ์›๊ฒฉ ํ˜ธ์ถœํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ(์ฝ”๋ ˆ์˜ค๊ทธ๋ž˜ํ”ผ)
        • ์ฒ˜๋ฆฌ ๊ทธ๋ฆฌ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์š”์ฒญ์„ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํŠธ
          • ์ฒ˜๋ฆฌ ๊ทธ๋ฆฌ๋“œ๋Š” ๋‹ค์ˆ˜์˜ ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋‹จ์ผ ๋น„์ฆˆ๋‹ˆ์Šค ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํŠธํ•จ
          • ์ข…๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์‚ฌ์ด์— ์กฐ์ •์ด ํ•„์š”ํ•œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์ฒ˜๋ฆฌ ๊ทธ๋ฆฌ๋“œ๊ฐ€ ๋‘ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ์š”์ฒญ์„ ์ค‘์žฌ/์กฐ์ •
  • ๊ฐ ์ฒ˜๋ฆฌ ์žฅ์น˜๋Š” ๋ฉค๋ฒ„ ๋ฆฌ์ŠคํŠธ(member list)๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค๋ฅธ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ธ์ง€
    • ๋ฉค๋ฒ„ ๋ฆฌ์ŠคํŠธ์—๋Š” ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ IP ์ฃผ์†Œ ๋ฐ ํฌํŠธ๊ฐ€ ๋“ค์–ด์žˆ์Œ
    • ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ ์žฅ์น˜์—์„œ ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๊ฐ€ ๊ธฐ๋™๋˜๋ฉด ๋‘ ์„œ๋น„์Šค์˜ ๋ฉค๋ฒ„ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์—…๋ฐ์ดํŠธ
      • ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ IP ์ฃผ์†Œ ๋ฐ ํฌํŠธ๊ฐ€ ๋ฐ˜์˜
    • ์„ธ ์ธ์Šคํ„ด์Šค ๋ชจ๋‘(์ž์‹ ์„ ํฌํ•จํ•ด์„œ) ์ƒ๋Œ€๋ฐฉ์˜ ์กด์žฌ๋ฅผ ์•Œ๊ณ  ์žˆ์Œ
      • Instance 1 ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธ(cache.put())ํ•˜๊ฒŒ๋˜๋ฉด ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ(ex: ํ—ค์ด์ฆ์บ์ŠคํŠธ)๋Š” ๋‹ค๋ฅธ ๋ณต์ œ ์บ์‹œ๋„ ๋˜‘๊ฐ™์ด ๋น„๋™๊ธฐ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์‹์œผ๋กœ ์„ธ ์ธ์Šคํ„ด์Šค์˜ ์บ์‹œ๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งž์ถค
Instance 1:
Memeber {size: 3, ver: 3} [
	Member [172.19.248.89]:5701 - 2f8s76fs-xc876-s87xc68f7-xd87f6s8 this
	Member [172.19.248.90]:5702 - 65kjh6lk5-56k8jh-3lsd4lkh6-k34jg5
	Member [172.19.248.91]:5703 - 1k2jh37m-l97kffj-76lkh8j-34j65hg2
]

Instance 2:
Memeber {size: 3, ver: 3} [
	Member [172.19.248.89]:5701 - 2f8s76fs-xc876-s87xc68f7-xd87f6s8
	Member [172.19.248.90]:5702 - 65kjh6lk5-56k8jh-3lsd4lkh6-k34jg5 this
	Member [172.19.248.91]:5703 - 1k2jh37m-l97kffj-76lkh8j-34j65hg2
]

Instance 3:
Memeber {size: 3, ver: 3} [
	Member [172.19.248.89]:5701 - 2f8s76fs-xc876-s87xc68f7-xd87f6s8
	Member [172.19.248.90]:5702 - 65kjh6lk5-56k8jh-3lsd4lkh6-k34jg5
	Member [172.19.248.91]:5703 - 1k2jh37m-l97kffj-76lkh8j-34j65hg2 this
]

(3)์ฒ˜๋ฆฌ ๊ทธ๋ฆฌ๋“œ

  • ๊ฐ€์ƒ ๋ฏธ๋“ค์›จ์–ด์—์„œ ํ•„์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋Š” ์•„๋‹˜
  • ๋‹ค์ˆ˜์˜ ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋‹จ์ผ ๋น„์ฆˆ๋‹ˆ์Šค ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ
    • ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํŠธ
  • ์ข…๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์‚ฌ์ด์— ์กฐ์ •์ด ํ•„์š”ํ•œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ
    • ๋‘ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ์š”์ฒญ์„ ์ค‘์žฌ/์กฐ์ •

(4) ๋ฐฐํฌ ๊ด€๋ฆฌ์ž(deployment manager)

  • ๋ถ€ํ•˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋™์ ์œผ๋กœ ์‹œ์ž‘/์ข…๋ฃŒํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋‹ค์–‘ํ•œ ํ™•์žฅ์„ฑ(ํƒ„๋ ฅ์„ฑ) ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๊ผญ ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ
    • ์‘๋‹ต ์‹œ๊ฐ„, ์œ ์ € ๋ถ€ํ•˜๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง
      • ๋ถ€ํ•˜ ์ฆ๊ฐ€ ์‹œ ์ƒˆ๋กœ์šด ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ๊ธฐ๋™
      • ๋ถ€ํ•˜ ๊ฐ์†Œ ์‹œ ๊ธฐ์กด ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ์ข…๋ฃŒ

๋ฐ์ดํ„ฐ ํŽŒํ”„

๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ์— ๋ณด๋‚ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์žฅ์น˜(; ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ๋น„๋™๊ธฐ ์ „์†ก)

  • ๋™์ž‘๋ฐฉ์‹
    • ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์•ก์„ธ์Šคํ•˜์ง€ ์•Š์Œ
      • ๋ฐ์ดํ„ฐ ํŽŒํ”„๊ฐ€ ์ด ์—ญํ• ์„ ํ•จ
    • ํ•ญ์ƒ ๋น„๋™๊ธฐ๋กœ ๋™์ž‘
    • ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ตœ์ข… ์ผ๊ด€์„ฑ์„ ์‹คํ˜„
      • ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์บ์‹œ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ๋’ค ๋ฐ์ดํ„ฐ ํŽŒํ”„๊ฐ€ ์ตœ์ข… ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—…๋ฐ์ดํŠธ ์ „์†ก
  • ๊ตฌํ˜„
    • ๋ฐ์ดํ„ฐ ํŽŒํ”„๋Š” ๋Œ€๊ฐœ ๋ฉ”์‹œ์ง• ๊ธฐ๋ฒ•์œผ๋กœ ๊ตฌํ˜„
      • ๋ฉ”์‹œ์ง•
        • ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์ง€์›ํ•˜๊ณ  ์ „๋‹ฌ์„ ๋ณด์žฅ
        • FIFO(์„ ์ž… ์„ ์ถœ) ํ๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€ ์ˆœ์„œ ์œ ์ง€
        • ์ฒ˜๋ฆฌ ์žฅ์น˜์™€ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ
          • ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ ์žฅ์น˜์—์„œ ๋ฌด์ค‘๋‹จ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅ
  • ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ํŽŒํ”„๋Š” ๋„๋ฉ”์ธ์ด๋‚˜ ๊ทธ ์„œ๋ธŒ๋„๋ฉ”์ธ ๋ณ„๋กœ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉ
    • ์บ์‹œ ์ข…๋ฅ˜ ๋ณ„๋กœ ์ „์šฉ ๋ฐ์ดํ„ฐ ํŽŒํ”„ ๋ฐฐ์ •
    • ํ›จ์”ฌ ๋” ํฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ์บ์‹œ๋ฅผ ํฌํ•จํ•œ ์ฒ˜๋ฆฌ ์žฅ์น˜ ๋„๋ฉ”์ธ ๋ณ„๋กœ ๋ฐฐ์ •
  • ๊ณ„์•ฝ ๋ฐ์ดํ„ฐ์™€ ์—ฐ๊ด€ ์•ก์…˜(์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •)์„ ํฌํ•จ
    • ๊ณ„์•ฝ ํฌ๋งท
      • JSON ์Šคํ‚ค๋งˆ, XML ์Šคํ‚ค๋งˆ, ๊ฐ์ฒด, ๊ฐ’ ๊ธฐ๋ฐ˜ ๋ฉ”์‹œ์ง€(value-driven message) ๋“ฑ ๋‹ค์–‘ํ•จ
      • ์—…๋ฐ์ดํŠธ ๋ฐ์ดํ„ฐ๋Š” ๋ณดํ†ต ๋ฐ์ดํ„ฐ ํŽŒํ”„ ์•ˆ์— ์ƒˆ ๋ฐ์ดํ„ฐ ๊ฐ’๋งŒ ๋ณด๊ด€

๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ

๋ฐ์ดํ„ฐ ํŽŒํ”„์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ๊ทธ์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

  • ์„œ๋น„์Šค, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ ํ—ˆํ”„(์•ฑ ์ด๋‹ˆ์…”; Ab Initio)๋กœ ๊ตฌํ˜„
  • ์„ธ๋ถ„๋„
    • ๋ฐ์ดํ„ฐ ํŽŒํ”„์™€ ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ ๋ฒ”์œ„๋งˆ๋‹ค ๋‹ค๋ฆ„
    • ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ
      • ๋ฐ์ดํ„ฐ ํŽŒํ”„ ์ˆ˜์™€ ๋ฌด๊ด€
      • ํŠน์ • ๋„๋ฉ”์ธ์˜ ์ „์ฒด ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ์ง์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
      • ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ ๊ด€๋ จ ์ฒ˜๋ฆฌ ์žฅ์น˜ 4๊ฐœ์™€ ๋ฐ์ดํ„ฐ ํŽŒํ”„ 4๊ฐœ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—…๋ฐ์ดํŠธ
        • ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ ํ•˜๋‚˜๊ฐ€ 4๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํŽŒํ”„๋ฅผ ๋ชจ๋‘ ๋ฆฌ์Šค๋‹
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ๊ณ ๊ฐ ๊ด€๋ จ ํ…Œ์ด๋ธ” ๋ ˆ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋กœ์ง(SQL)์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
    • ์ฒ˜๋ฆฌ ์žฅ์น˜ ํด๋ž˜์Šค๋งˆ๋‹ค ์ž์ฒด ์ „์šฉ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๋ฅผ ๋‘๋Š” ๊ฒฝ์šฐ
      • ๊ฐ ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๊ฐ€ ์ž์‹ ์˜ ์ „์šฉ ๋ฐ์ดํ„ฐ ํŽŒํ”„๋ฅผ ์†Œ์œ ํ•˜๊ณ  ํ•ด๋‹น ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌ
      • ๋‹จ์ : ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Œ
      • ์žฅ์ : ์ฒ˜๋ฆฌ ์žฅ์น˜, ๋ฐ์ดํ„ฐ ํŽŒํ”„, ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ๊ฐ€ ๋‚˜๋ž€ํžˆ ์ •๋ ฌ๋˜์–ด ํ™•์žฅ์„ฑ, ๋ฏผ์ฒฉ์„ฑ์ด ์ข‹์Œ

๋ฐ์ดํ„ฐ ๋ฆฌ๋”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋ฆฌ๋ฒ„์Šค ๋ฐ์ดํ„ฐ ํŽŒํ”„(reverse data pump)๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ ์žฅ์น˜๋กœ ์‹ค์–ด ๋‚˜๋ฅด๋Š” ์ปดํฌ๋„ŒํŠธ

  • ๋ฐ์ดํ„ฐ ๋ฆฌ๋”๋Š” ์„ธ ๊ฐ€์ง€ ๊ฒฝ์šฐ์—์„œ๋งŒ ๋™์ž‘
    • ์ฒซ์งธ, ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ
    • ๋‘˜์งธ, ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ ์•ˆ์—์„œ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ
    • ์…‹์งธ, ๋ณต์ œ ์บ์‹œ์— ๋“ค์–ด์žˆ์ง€ ์•Š์€ ์•„์นด์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ
  • ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ชจ์กฐ๋ฆฌ ๋‹ค์šด๋˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฝ์–ด์˜ฌ ์ˆ˜ ๋ฐ–์— ์—†์Œ
    • ์ธ์Šคํ„ด์Šค ๋‹ค์šด ์ผ€์ด์Šค : ์‹œ์Šคํ…œ ์ „์ฒด ์žฅ์• , ์ „์ฒด ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ
    • ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ํฌ๋ฆฌํ‹ฐ์ปฌํ•จ
    • ์ผ€์ด์Šค ์‹œ๋ฎฌ๋ ˆ์ด์…˜
      • (1) ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜ ๋‘˜ ์‚ด์•„๋‚˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๊ฐ ์ธ์Šคํ„ด์Šค๋Š” ์บ์‹œ์—์„œ ๋ฝ์„ ํš๋“ํ•˜๋ ค๊ณ  ํ•จ
      • (2) ๋ฝ์„ ์–ป์€ ์ฒซ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค๋Š” ์ž„์‹œ ์บ์‹œ ์†Œ์œ ์ž๊ฐ€ ๋˜๊ณ  ํ•œ๋ฐœ ๋Šฆ์€ ๋‚˜๋จธ์ง€ ์ธ์Šคํ„ด์Šค๋“ค์€ ๋ฝ์ด ํ•ด์ œ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ(์บ์‹œ ๊ตฌํ˜„์ฒด๋งˆ๋‹ค ๋กœ์ง์€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ์บ์‹œ ์†Œ์œ ์ž๊ฐ€ ํ•˜๋‚˜๋ผ๊ณ  ๊ฐ€์ •)
      • (3) ์ž„์‹œ ์บ์‹œ ์†Œ์œ ์ž๊ฐ€ ๋œ ์ธ์Šคํ„ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ํ์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์บ์‹œ๋ฅผ ๋กœ๋“œ
      • (4) ๋ฐ์ดํ„ฐ ๋ฆฌํ„ฐ๊ฐ€ ์ฝ๊ธฐ ์š”์ฒญ์„ ๋ฐ›์•„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ์ฒ˜๋ฆฌ ์žฅ์น˜์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰
      • (5) ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํ(๋ฆฌ๋ฒ„์Šค ๋ฐ์ดํ„ฐ ํŽŒํ”„)๋กœ ๋ณด๋ƒ„
      • (6) ์ž„์‹œ ์บ์‹œ ์†Œ์œ ์ž์ธ ์ฒ˜๋ฆฌ ์žฅ์น˜๋Š” ๋ฆฌ๋ฒ„์Šค ๋ฐ์ดํ„ฐ ํŽŒํ”„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์บ์‹œ๋ฅผ ๋กœ๋“œ
      • (7) ์บ์‹œ ๋กœ๋“œ ์™„๋ฃŒ ํ›„ ์ž„์‹œ ์†Œ์œ ์ž๋Š” ์บ์‹œ ๋ฝ์„ ํ•ด์ œํ•˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™๊ธฐํ™”๋˜๋ฉด ์ฒ˜๋ฆฌ๋ฅผ ๊ฐœ์‹œ
  • ์„ธ๋ถ„๋„
    • ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ์™€ ๊ฐ™์ด ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Œ
    • ๊ทธ๋Ÿฌ๋‚˜ ํŠน์ • ์ฒ˜๋ฆฌ ์žฅ์น˜์˜ ํด๋ž˜์Šค ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ณดํ†ต
    • ์„œ๋น„์Šค, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ ํ—ˆ๋ธŒ ๋ชจ๋‘ ๊ตฌํ˜„์ฒด๋Š” ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ์™€ ๋™์ผ
  • ๋ฐ์ดํ„ฐ ๋ผ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ ๋ฆฌ๋”๋Š” ๋ณธ์งˆ์ ์œผ๋กœ
    • ๋ฐ์ดํ„ฐ ์ถ”์ƒ ๋ ˆ์ด์–ด(data abstraction layer; ๋˜๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด)๋ฅผ ํ˜•์„ฑ
      • ๋ฐ์ดํ„ฐ ์ถ”์ƒ ๋ ˆ์ด์–ด์™€ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด์˜ ์ฐจ์ด์ 
        • ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”(๋˜๋Š” ์Šคํ‚ค๋งˆ) ๊ตฌ์กฐ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž์„ธํžˆ ์•Œ๊ณ  ์žˆ๋Š”๊ฐ€
        • ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด
          • ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ•˜๋ถ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์ปคํ”Œ๋ง
          • ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ ๋ฆฌ๋”/๋ผ์ดํ„ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ๊ฐ„์ ‘์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šค
        • ๋ฐ์ดํ„ฐ ์ถ”์ƒ ๋ ˆ์ด์–ด
          • ์ฒ˜๋ฆฌ ์žฅ์น˜๊ฐ€ ๋ณ„๋„์˜ ๊ณ„์•ฝ์— ์˜ํ•ด ํ•˜๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ๋ถ„๋ฆฌ
      • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฐ์ดํ„ฐ ์ถ”์ƒ ๋ ˆ์ด์–ด ๋ชจ๋ธ(data abstraction layer)์— ๊ธฐ๋ฐ˜
        • ์ฒ˜๋ฆฌ ์žฅ์น˜๋งˆ๋‹ค ๋ณต์ œ ์บ์‹œ ์Šคํ‚ค๋งˆ๋Š” ํ•˜๋ถ€ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ
        • ์ฒ˜๋ฆฌ ์žฅ์น˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ณ ์„œ๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฆ๋ถ„ ๋ณ€๊ฒฝ(incremental change)์ด ๊ฐ€๋Šฅ
          • ๋ฐ์ดํ„ฐ ๋ฆฌ๋”/๋ผ์ดํ„ฐ์— ์ด๋ฏธ ๋ณ€ํ™˜ ๋กœ์ง์ด ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฆ๋ถ„ ๋ณ€๊ฒฝ์ด ๋” ์šฉ์ดํ•จ
          • ๊ฐ€๋ น, ์ปฌ๋Ÿผ ํƒ€์ž…์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ปฌ๋Ÿผ/ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋  ๋•Œ์—๋„ ๋ณ€๊ฒฝ๋ถ„์ด ์ฒ˜๋ฆฌ ์žฅ์น˜ ์บ์‹œ์— ๋ฐ˜์˜๋  ๋•Œ๊นŒ์ง€ ๋ฐ์ดํ„ฐ ๋ฆฌ๋”/๋ผ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ์„ ๋ฒ„ํผ๋งํ•  ์ˆ˜ ์žˆ์Œ

๋ฐ์ดํ„ฐ ์ถฉ๋Œ

์ด๋ฆ„์ด ๋™์ผํ•œ ์บ์‹œ๊ฐ€ ํฌํ•จ๋œ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค์— ์‹œ์‹œ๊ฐ๊ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ผ์–ด๋‚˜๋Š” active/active ์ƒํƒœ์—์„œ ๋ณต์ œ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์ œ ๋ ˆ์ดํ„ด์‹œ(replication latency) ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ถฉ๋Œ(data collision)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•œ ์บ์‹œ ์ธ์Šคํ„ด์Šค(์บ์‹œ A)์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์–ด ๋‹ค๋ฅธ ์บ์‹œ ์ธ์Šคํ„ด์Šค(์บ์‹œ B)์— ๋ณต์ œํ•˜๋Š” ๋„์ค‘์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ด๋‹น ์บ์‹œ(์บ์‹œ B)์—์„œ ์—…๋ฐ์ดํŠธ๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค. ๊ฒฐ๊ตญ, ์บ์‹œ B์˜ ๋กœ์ปฌ ์—…๋ฐ์ดํŠธ๋Š” ์บ์‹œ A์—์„œ ๋ณต์ œ๋œ ์ด์ „ ๋ฐ์ดํ„ฐ ๋•Œ๋ฌธ์— ๋ฎ์–ด์”Œ์›Œ์ง€๊ณ , ๋ฐ˜๋Œ€๋กœ ์บ์‹œ A์—์„œ๋Š” ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ B์—์„œ ๋ฐœ์ƒํ•œ ์—…๋ฐ์ดํŠธ ๋•Œ๋ฌธ์— ๋ฎ์–ด์”Œ์›Œ์ง€๋Š” ๋ถˆ์ƒ์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ถฉ๋Œ ๋ฐœ์ƒ ๋นˆ๋„
    • ๋นˆ๋„์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์š”์†Œ๋“ค
      • ๋™์ผํ•œ ์บ์‹œ๋ฅผ ํฌํ•จํ•œ ์ฒ˜๋ฆฌ ์žฅ์น˜ ์ธ์Šคํ„ด์Šค ์ˆ˜
      • ์บ์‹œ ์—…๋ฐ์ดํŠธ์œจ(update rate)
      • ์บ์‹œ ํฌ๊ธฐ
      • ์บ์‹œ ์ œํ’ˆ์˜ ๋ณต์ œ ๋ ˆ์ดํ„ด์‹œ
      • ๋“ฑ ์—ฌ๋Ÿฌ ํŒฉํ„ฐ๊ฐ€ ์˜ํ–ฅ์„ ๋ฏธ์นจ
    • ๊ณต์‹
      • ์ถฉ๋Œ๋ฅ  = N _ UR^2/S _ RL
        • N: ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค ์ˆ˜
        • UR: ๋ฐ€๋ฆฌ์ดˆ ๋‹น ์—…๋ฐ์ดํŠธ
        • S: ์บ์‹œ ํฌ๊ธฐ(๋กœ์šฐ ๊ฐœ์ˆ˜)
        • RL: ์บ์‹œ ์ œํ’ˆ์˜ ๋ณต์ œ ๋Œ€๊ธฐ ์‹œ๊ฐ„
      • ๋ฐ์ดํ„ฐ ์ถฉ๋Œ๋ฅ (%)์„ ํ†ตํ•ด ๋ณต์ œ ์บ์‹œ๊ฐ€ ์“ธ ๋งŒํ•œ์ง€ ๋ฏธ๋ฆฌ ํŒŒ์•…ํ•  ๋•Œ ์œ ์šฉ
    • ๊ฐ€๋ณ€์ ์ธ ๋ณต์ œ ๋ ˆ์ดํ„ด์‹œ(RL)๋Š” ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์— ์ค‘๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นจ
      • ์ œ๋Œ€๋กœ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
        • ๋„คํŠธ์›Œํฌ ์œ ํ˜•, ์ฒ˜๋ฆฌ ์žฅ์น˜ ๊ฐ„ ๋ฌผ๋ฆฌ์  ๊ฑฐ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ํŒฉํ„ฐ์— ์ขŒ์šฐ๋˜ ๋•Œ๋ฌธ์— ๋ณต์ œ ๋ ˆ์ดํ„ด์‹œ ๊ฐ’์ด ๊ณต์‹œ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†์œผ๋‹ˆ ์ง์ ‘ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๊ฐ’์„ ์ธก์ •ํ•ด์•ผํ•จ
        • ์‹ค์ œ ๋ณต์ œ ๋ ˆ์ดํ„ด์‹œ๋ฅผ ๊ตฌํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉํ•œ 100ms ๊ฐ’์„ ๊ณต์‹์— ๋„ฃ์–ด ๋ฐ์ดํ„ฐ ์ถฉ๋Œ ํšŸ์ˆ˜๋ฅผ ๊ณ„์‚ฐ
    • ๋™์ผํ•œ ์ด๋ฆ„์˜ ์บ์‹œ๋ฅผ ํฌํ•จํ•œ ์ฒ˜๋ฆฌ ์ธ์Šคํ„ด์Šค ์žฅ์น˜ ์ˆ˜
      • ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ์ถฉ๋Œ ํšŸ์ˆ˜์— ๋น„๋ก€
    • ์บ์‹œ ํฌ๊ธฐ๋Š” ์œ ์ผํ•˜๊ฒŒ ์ถฉ๋Œ๋ฅ ๊ณผ ๋ฐ˜๋น„๋ก€ ๊ด€๊ณ„์ธ ํŒฉํ„ฐ
      • ์บ์‹œ๊ฐ€ ์ž‘์„ ์ˆ˜๋ก ์ถฉ๋™๋ฅ ์€ ์ฆ๊ฐ€
    • ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ์€ ์ •์ƒ์ ์ธ ๊ฒฝ์šฐ ์˜ค๋ž˜ ๊พธ์ค€ํžˆ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Œ
      • ์ฃผ์˜ํ• ์ : ์ถฉ๋™๋ฅ ์„ ๊ณ„์‚ฐํ•  ๋•Œ์—๋Š” ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ€์žฅ ๋งŽ์€ ์‹œ์ ์˜ ์ตœ๋Œ€ ์—…๋ฐ์ดํŠธ์œจ์— ๋”ฐ๋ผ ์ตœ์†Œ, ์ •์ƒ, ์ตœ๋Œ€ ์ถฉ๋Œ๋ฅ ์„ ์‚ฐ์ถœํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ

Cloude vs On-Promise ๊ตฌํ˜„

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

๋ณต์ œ ์บ์‹œ vs ๋ถ„์‚ฐ ์บ์‹œ

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

๋ณต์ œ ์บ์‹œ

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

๋ถ„์‚ฐ์บ์‹œ

๋‹ˆ์–ด ์บ์‹œ

๊ตฌํ˜„ ์˜ˆ์‹œ

(1) ์ฝ˜์„œํŠธ ํ‹ฐ์ผ“ ํŒ๋งค ์‹œ์Šคํ…œ

(2) ์˜จ๋ผ์ธ ๊ฒฝ๋งค์‹œ์Šคํ…œ

์•„ํ‚คํ…์ฒ˜ ํŠน์„ฑ ๋“ฑ๊ธ‰