CodeGym/ํ–‰๋™/SQL & Hibernate/Apache Cassandra: ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐ์ดํ„ฐ ์ €์žฅ

Apache Cassandra: ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐ์ดํ„ฐ ์ €์žฅ

์‚ฌ์šฉ ๊ฐ€๋Šฅ

5.1 ๋ฐ์ดํ„ฐ ๋ฐฐํฌ

ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ๋“ค ์‚ฌ์ด์—์„œ ํ‚ค์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ถ„๋ฐฐ๋˜๋Š”์ง€ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. Cassandra๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ฐฐํฌ ์ „๋žต์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ „๋žต์€ md5 ํ‚ค ๊ฐ’(์ž„์˜ ํŒŒํ‹ฐ์…”๋„ˆ)์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” ํ‚ค ์ž์ฒด์˜ ๋น„ํŠธ ํ‘œํ˜„์ธ ์„œ์ˆ˜ ๋งˆํฌ์—…(๋ฐ”์ดํŠธ ์ˆœ์„œ ํŒŒํ‹ฐ์…”๋„ˆ)์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

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

Cassandra๋Š” ์ผ๊ด€๋œ ํ•ด์‹ฑ์ด๋ผ๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋…ธ๋“œ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ•˜๊ณ  ์ƒˆ ๋…ธ๋“œ๊ฐ€ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ๋•Œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ์ ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ฐ ๋…ธ๋“œ์—๋Š” ๋ชจ๋“  md5 ํ‚ค ๊ฐ’ ์„ธํŠธ๋ฅผ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๋ ˆ์ด๋ธ”(ํ† ํฐ)์ด ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ RandomPartitioner๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๊ณ ๋ คํ•ด๋ณด์ž.

๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด RandomPartitioner๋Š” ๊ฐ ํ‚ค์— ๋Œ€ํ•ด 128๋น„ํŠธ md5๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ๊ฐ€์žฅ ํฐ ๊ฒƒ๊นŒ์ง€ ๋…ธ๋“œ์˜ ๋ชจ๋“  ๋ ˆ์ด๋ธ”์„ ์‚ดํŽด๋ณด๊ณ  ๋ ˆ์ด๋ธ”์˜ ๊ฐ’์ด md5 ํ‚ค์˜ ๊ฐ’๋ณด๋‹ค ์ปค์ง€๋ฉด ์ด ๋…ธ๋“œ์™€ ํ›„์† ๋…ธ๋“œ ์ˆ˜(๋ ˆ์ด๋ธ” ์ˆœ์„œ๋Œ€๋กœ)๊ฐ€ ์ €์žฅ์„ ์œ„ํ•ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๋…ธ๋“œ์˜ ์ด ์ˆ˜๋Š” ๋ณต์ œ ๊ณ„์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ์ˆ˜์ค€์€ ๊ฐ ํ‚ค์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์„ค์ •๋˜๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ฑ(๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ฑ)์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‹ค์Œ์€ ๋‚ด์žฅ๋œ nodetool ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ท ์ผํ•œ ๊ฐ„๊ฒฉ์˜ ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” 6๊ฐœ ๋…ธ๋“œ์˜ ํด๋Ÿฌ์Šคํ„ฐ ๋ง์„ ํ‘œ์‹œํ•˜๋Š” ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.

5.2 ์“ฐ๊ธฐ ์‹œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ

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

์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ์— ๋Œ€ํ•œ ๊ฐ ์š”์ฒญ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์ˆ˜์ค€์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์“ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ์ด ์ˆ˜์ค€์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ์ž‘์—…(๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ)์˜ ์„ฑ๊ณต์ ์ธ ์™„๋ฃŒ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ณต์ œ๋ณธ ๋…ธ๋“œ ์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ๊ด€์„ฑ ์ˆ˜์ค€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ONE - ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๋ชจ๋“  ๋ณต์ œ๋ณธ ๋…ธ๋“œ์— ์š”์ฒญ์„ ๋ณด๋‚ด์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์˜ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • TWO - ๋™์ผํ•˜์ง€๋งŒ ์กฐ์ •์ž๋Š” ์ œ์–ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ์ฒ˜์Œ ๋‘ ๋…ธ๋“œ์˜ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  • THREE - ๋น„์Šทํ•˜์ง€๋งŒ ์กฐ์ •์ž๋Š” ์ œ์–ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ์ฒ˜์Œ ์„ธ ๋…ธ๋“œ์˜ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  • QUORUM - ์ฟผ๋Ÿผ์ด ์ˆ˜์ง‘๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ณต์ œ ๋…ธ๋“œ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ, ์ฆ‰ ๋ผ์šด๋“œ(N / 2) + 1์—์„œ ๋ ˆ์ฝ”๋“œ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ N์€ ๋ณต์ œ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.
  • LOCAL_QUORUM - ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์žˆ๋Š” ๋ณต์ œ๋ณธ ๋…ธ๋“œ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์—์„œ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(์š”์ฒญ๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ). ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์ง€์—ฐ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์ด ๋ฌธ์„œ์—์„œ ํ†ต๊ณผ์ ์œผ๋กœ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.
  • EACH_QUORUM - ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ๋ณต์ œ ๋…ธ๋“œ ์ ˆ๋ฐ˜ ์ด์ƒ์—์„œ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ALL - ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ชจ๋“  ๋ณต์ œ๋ณธ ๋…ธ๋“œ์˜ ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  • ANY - ๋ชจ๋“  ๋ณต์ œ๋ณธ ๋…ธ๋“œ๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ณต์ œ ๋…ธ๋“œ ์ค‘ ํ•˜๋‚˜์˜ ์ฒซ ๋ฒˆ์งธ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜ ์ฝ”๋””๋„ค์ดํ„ฐ์—์„œ ์•”์‹œ๋œ ํ•ธ๋“œ์˜คํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

5.3 ์ฝ์„ ๋•Œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ

์ฝ๊ธฐ์˜ ๊ฒฝ์šฐ ์ผ๊ด€์„ฑ ์ˆ˜์ค€์€ ์ฝ์„ ๋ณต์ œ๋ณธ ๋…ธ๋“œ ์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ๊ด€์„ฑ ์ˆ˜์ค€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ONE - ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ณต์ œ๋ณธ ๋…ธ๋“œ์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ณต์ œ๋ณธ๋„ cassandra ๊ตฌ์„ฑ์— ์ง€์ •๋œ ํ™•๋ฅ ๋กœ ์ฝ๊ธฐ ๋ณต๊ตฌ๋ฅผ ์œ„ํ•ด ์ฝ์Šต๋‹ˆ๋‹ค.
  • TWO ๋Š” ๊ฐ™์ง€๋งŒ ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‘ ๋…ธ๋“œ์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.
  • THREE - ์ด์ „ ์˜ต์…˜๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ์„ธ ๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • QUORUM - ์ฟผ๋Ÿผ์ด ์ˆ˜์ง‘๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๋ณต์ œ ๋…ธ๋“œ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ, ์ฆ‰ ๋ผ์šด๋“œ(N / 2) + 1์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ N์€ ๋ณต์ œ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.
  • LOCAL_QUORUM - ์กฐ์ •์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์ฟผ๋Ÿผ์ด ์ˆ˜์ง‘๋˜๊ณ  ์ตœ์‹  ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • EACH_QUORUM - ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๊ฐ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์ •์กฑ์ˆ˜ ํšŒ์˜ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ALL - ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ชจ๋“  ๋ณต์ œ๋ณธ ๋…ธ๋“œ์—์„œ ์ฝ์€ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์‹œ๊ฐ„ ์ง€์—ฐ์„ ์กฐ์ •ํ•˜๊ณ  ๊ฐ ์ž‘์—… ์œ ํ˜•์˜ ๊ฐ€์šฉ์„ฑ(availability)๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๊ด€์„ฑ(tune consistency)์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ฐ€์šฉ์„ฑ์€ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ์˜ ์ผ๊ด€์„ฑ ์ˆ˜์ค€๊ณผ ์ง์ ‘์ ์ธ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ณต์ œ๋ณธ ๋…ธ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๊ณ  ์—ฌ์ „ํžˆ ํ™•์ธ๋  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

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

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

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

์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค