ํ™•์žฅ์„ฑ์„ ์œ„ํ•œ ๋ฉค์บ์‹œ๋“œ ๊ต์ฒด

๋ฉค์บ์‹œ๋“œ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ฝœ๋“œ ์บ์‹œ, RDBMS ๋ฆฌ์†Œ์Šค์˜ ๊ณผ๋„ํ•œ ๊ฒฝํ•ฉ, ์Šค์ผ€์ผ์•„์›ƒ ์œ ์—ฐ์„ฑ ๋ถ€์กฑ๊ณผ ๊ฐ™์€ ๋ฉค์บ์‹œ๋“œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ๊ณ„์‹ ๊ฐ€์š”? NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ Couchbase Server๋ฅผ ๋ฉค์บ์‹œ๋“œ ๊ณ„์ธต์„ ๋Œ€์ฒดํ•˜๋Š” ๋“œ๋กญ์ธ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์„œ ์ฝ๊ธฐ

๋ฉค์บ์‹œ์™€ ๋ฉค์บ์‹œ์˜ ์ฐจ์ด์ 

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

memcached๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐœ์Œํ•ฉ๋‹ˆ๊นŒ?

๋ฉค์บ์‹œ๋“œ('๋ฐฉ๊ธˆ ์บ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค'์—์„œ์ฒ˜๋Ÿผ)์ธ๊ฐ€์š”, ์•„๋‹ˆ๋ฉด ๋ฉค์บ์‹œ-๋””์ธ๊ฐ€์š”? ๋‘˜ ๋‹ค ๊ธฐ์ˆ ๊ณ„์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์ง€๋งŒ, UNIX์— ๋ฟŒ๋ฆฌ๋ฅผ ๋‘๊ณ  ์žˆ๋‹ค๋ฉด "memcache-dee"๋ผ๊ณ  ๋ฐœ์Œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฉค์บ์‹œ๋“œ ๋„์ „ ๊ณผ์ œ

๊ณผ์ œ 1: ์ฝœ๋“œ ์บ์‹œ

์ฆ์ƒ

๋ฉค์บ์‹œ๋“œ ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋  ๋•Œ(์žฅ์•  ๋˜๋Š” ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•ด) ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฐ RDBMS๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค ๊ณ„์ธต์ด ๋Š๋ ค์ง€๊ฑฐ๋‚˜ ๋ถ•๊ดด๋˜๋Š” ํ˜„์ƒ

์†”๋ฃจ์…˜

๋ฐ์ดํ„ฐ๋Š” Couchbase ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์— ์ž๋™์œผ๋กœ ๋ณต์ œ๋˜๋ฏ€๋กœ ์žฅ์•  ๋ฐœ์ƒ ์‹œ์—๋„ ๋ฐ์ดํ„ฐ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฑŒ๋ฆฐ์ง€ 2: ์‹ฌํ•œ RDMBS ๊ฒฝํ•ฉ

์ฆ์ƒ

์บ์‹œ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์š”์ฒญ์œผ๋กœ ์ธํ•ด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ฐ‘์ž๊ธฐ ๋ถ€ํ•˜๊ฐ€ ์ด๋™ํ•˜์—ฌ ๊ฒฝํ•ฉ์ด ์‹ฌํ•ด์ง‘๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•จ์œผ๋กœ์จ Couchbase Server๋Š” RDBMS ๊ณ„์ธต์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ์ด๋™์‹œํ‚ค์ง€ ์•Š๊ณ ๋„ ์ผ๊ด€๋œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณผ์ œ 3: ํ™•์žฅ์„ฑ ๋ถ€์กฑ

์ฆ์ƒ

๋ฉค์บ์‹œ๋“œ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ์ž‘์—…์€ ๋ณต์žกํ•˜๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

์นด์šฐ์น˜๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ์ž๋™ ์ƒค๋”ฉ ๋ฐ ์˜จ๋ผ์ธ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค‘๋‹จ ์—†์ด ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณผ์ œ 4: ๋ณต์žกํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง

์ฆ์ƒ

๊ฐœ๋ณ„ ๋ฉค์บ์‹œ๋“œ ๋…ธ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด ์ž‘์—…์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์บ์‹ฑ ๊ณ„์ธต์— ๋Œ€ํ•œ ์ผ๊ด€๋œ ๋‹จ์ผ ๋ทฐ๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

Couchbase Server๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ๋‚ด์žฅํ˜• ๊ด€๋ฆฌ ์ฝ˜์†”๊ณผ ์†์‰ฌ์šด ์ž๋™ํ™” ๋ฐ ํƒ€์‚ฌ ํ†ตํ•ฉ์„ ์œ„ํ•œ RESTful API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ ์•„ํ‚คํ…์ฒ˜

์•„๋ž˜ ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์บ์‹ฑ ๊ณ„์ธต์ด Couchbase Server๋กœ ๋Œ€์ฒด๋˜๊ธฐ ์ „๊ณผ ํ›„์˜ ๋ฉค์บ์‹œ๋“œ ํ™˜๊ฒฝ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

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

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

๋˜ํ•œ ์นด์šฐ์น˜๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ๊ด€๋ฆฌ์ž ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉค์บ์‹œ์™€ ๊ฐ™์ด ์„œ๋ฒ„ ์ˆ˜์ค€์ด ์•„๋‹Œ ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜์ค€์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ๋ฐ ์šด์˜์ด ๊ฐ„์†Œํ™”๋˜๊ณ  ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ๋ฆฌ์†Œ์Šค

์‚ฌ๋ก€ ์—ฐ๊ตฌ

์นด์šฐ์น˜๋ฒ ์ด์Šค ์†”๋ฃจ์…˜ ์—”์ง€๋‹ˆ์–ด์™€ ์ƒ๋‹ดํ•˜๊ธฐ