๊ทธ๋ค์ ์ธ์์ ๋ชจ๋ ๊ฒ์ด ์ ์ด๋ ํ ๋ฒ์ ์๋ํด ๋ณผ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ด๊ณํ DBMS ์์
์ ์ต์ํ๋ค๋ฉด ์ฐ์ ์ ์ด๋ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ์ ๊ฒฝ์ฐ ์ค์ ๋ก NoSQL์ ์ต์ํด์ง๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์ฌ ์ด ๊ธฐ์ ์ ๊ธ์ํ ๋ฐ์ ์ผ๋ก ์ธํด ์ด ์ฃผ์ ์ ๋ํด ๋ง์ ์์ถฉ๋๋ ์๊ฒฌ๊ณผ ์ด๋ค ๋
ผ์์ด ๋ฒ์ด์ง๊ณ ์์ผ๋ฉฐ, ํนํ ๊ด์ฌ์ ๋ถ๋ฌ์ผ์ผํค๊ณ ์์ต๋๋ค.
์ด ๋ชจ๋ ๋ถ์์ ๋ณธ์ง์ ์ดํด๋ณด๋ฉด ์๋ชป๋ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ธํด ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ํ์ํ ๊ณณ์ ์ ํํ๊ฒ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ด ์๋ฃจ์
์ ๋ชจ๋ ์ด์ ์ ๋ง์กฑํ๊ณ ํํ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ธฐ์ ์ ์ ํ ์ ์ฉํ ์ ์๋ ๋ง๋ณํต์น์ฝ์ผ๋ก ์์กดํ๋ ์คํ์๋ค์ ์๋นํ ์ด์ ์ ์ป์ง ๋ชปํ ์ฑ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฅ์ ์ ์์ด ์ค๋งํ์ต๋๋ค.
Cassandra DBMS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ฃจ์
์ ๊ตฌํํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ๋ ์ผ, ์ด๋ ค์ด ์ํฉ์ ์ด๋ป๊ฒ ๊ทน๋ณตํ๋์ง, NoSQL์ ์ฌ์ฉํ์ฌ ์ด์ต์ ์ป์ ์ ์์๋์ง, ์ถ๊ฐ ๋
ธ๋ ฅ/์๊ธ์ ํฌ์ํด์ผ ํ๋ ๋ถ๋ถ์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. .
์ด๊ธฐ ์์
์ ์ผ์ข
์ ์ ์ฅ์์ ํตํ๋ฅผ ๊ธฐ๋กํ๋ ์์คํ
์ ๊ตฌ์ถํ๋ ๊ฒ์
๋๋ค.
์์คํ ์ ์๋ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ๋ ฅ์๋ ํธ์ถ ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํ๋ ํน์ ๊ตฌ์กฐ์ ํ์ผ์ด ํฌํจ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด ๊ตฌ์กฐ๊ฐ ์ ์ ํ ์ด์ ์ ์ฅ๋์๋์ง ํ์ธํฉ๋๋ค. ํฅํ ์ ์ฅ๋ ํตํ๋ ๊ฐ์ ์์ ํธ๋ํฝ ์๋น์ ๋ํ ์ ๋ณด(์๊ธ, ํตํ, ์์ก ๋ด์ญ)๋ฅผ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋ค์ด Cassandra๋ฅผ ์ ํํ ์ด์ ๋ ๋งค์ฐ ๋ถ๋ช ํฉ๋๋ค. ๊ทธ๋ ๋ ๊ธฐ๊ด์ด์ฒ๋ผ ๊ธ์ ์ฐ๊ณ , ์ฝ๊ฒ ํ์ฅํ ์ ์์ผ๋ฉฐ, ๋ด๊ฒฐํจ์ฑ์ด ์์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ๊ฒฝํ์ด ์ฐ๋ฆฌ์๊ฒ ์ค ๊ฒ์ ๋๋ค.
์, ์คํจํ ๋ ธ๋๋ ๋น๊ทน์ด ์๋๋๋ค. ์ด๊ฒ์ด ์นด์ฐ๋๋ผ ๋ด๊ฒฐํจ์ฑ์ ํต์ฌ์ ๋๋ค. ํ์ง๋ง ๋ ธ๋๋ ์ด์ ์์ผ๋ฉด์๋ ๋์์ ์ฑ๋ฅ์ด ์ ํ๋๊ธฐ ์์ํ ์ ์์ต๋๋ค.. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ ์ ์ฒด ํด๋ฌ์คํฐ์ ์ฑ๋ฅ์ ์ฆ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
Cassandra๋ Oracle์ด ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ์ ์ฅํ ๊ณณ์์๋ ๋ณดํธํ์ง ์์ต๋๋ค.. ๊ทธ๋ฆฌ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ ์์ฑ์๊ฐ ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ดํดํ์ง ๋ชปํ๋ค๋ฉด Cassandra์ ๋์ฐฉํ ์ด์ค์ ์๋ณธ๋ณด๋ค ๋์์ง ์์ต๋๋ค. ๋์ฐฉํ๋ฉด ๋ฃ์ด๋๋ฆฌ๊ฒ ์ต๋๋ค.
IB๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ๋ฌด๋ฃ Cassandra๋ฅผ ๋งค์ฐ ์ซ์ดํ์ต๋๋ค. ์ฌ์ฉ์ ์์ ์ด ๊ธฐ๋ก๋์ง ์์ผ๋ฉฐ ๊ถํ์ด ์ฐจ๋ณํ๋์ง ์์ต๋๋ค.. ํตํ์ ๊ดํ ์ ๋ณด๋ ๊ฐ์ธ ๋ฐ์ดํฐ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ฆ, ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ด๋ฅผ ์์ฒญ/๋ณ๊ฒฝํ๋ ค๋ ๋ชจ๋ ์๋๋ ํ์ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ๊ณผ ํจ๊ป ๊ธฐ๋ก๋์ด์ผ ํฉ๋๋ค. ๋ํ ๋ค์ํ ์ฌ์ฉ์์ ๋ํด ๋ค์ํ ์์ค์์ ๊ถํ์ ๋ถ๋ฆฌํด์ผ ํ ํ์์ฑ์ ์ธ์ํด์ผ ํฉ๋๋ค. ๋จ์ ์ด์ ์์ง๋์ด์ ์ ์ฒด ํค์คํ์ด์ค๋ฅผ ์์ ๋กญ๊ฒ ์ญ์ ํ ์ ์๋ ์ํผ ๊ด๋ฆฌ์๋ ์ญํ ์ด ๋ค๋ฅด๊ณ , ์ฑ ์์ด ๋ค๋ฅด๋ฉฐ, ์ญ๋๋ ๋ค๋ฆ ๋๋ค. ์ด๋ฌํ ์ก์ธ์ค ๊ถํ์ ์ฐจ๋ณํ๊ฐ ์์ผ๋ฉด ๋ฐ์ดํฐ์ ๊ฐ์น์ ๋ฌด๊ฒฐ์ฑ์ ANY ์ผ๊ด์ฑ ์์ค๋ณด๋ค ๋ ๋นจ๋ฆฌ ์ฆ์ ์๋ฌธ์ด ์ ๊ธฐ๋ฉ๋๋ค.
ํตํ์๋ ๋ค์ํ ์กฐ๊ฑด์ ๋ํ ์ง์งํ ๋ถ์๊ณผ ์ฃผ๊ธฐ์ ์ธ ์ํ๋ง์ด ๋ชจ๋ ํ์ํ๋ค๋ ์ ์ ๊ณ ๋ คํ์ง ์์์ต๋๋ค. ์ ํํ ๋ ์ฝ๋๋ ์ญ์ ๋๊ณ ๋ค์ ์์ฑ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์(์์ ์ ์ผ๋ถ๋ก ๋ฐ์ดํฐ๊ฐ ์ฒ์์ ๋ฃจํ์ ์๋ชป ์ ๋ ฅ๋์์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ํ๋ก์ธ์ค๋ฅผ ์ง์ํด์ผ ํจ) ์ฌ๊ธฐ์ Cassandra๋ ์ฐ๋ฆฌ ์น๊ตฌ๊ฐ ์๋๋๋ค. Cassandra๋ ๋ผ์ง ์ ๊ธํต๊ณผ ๊ฐ์ต๋๋ค. ๋ฌผ๊ฑด์ ๋ฃ๊ธฐ์๋ ํธ๋ฆฌํ์ง๋ง ์ ์๋ ์์ต๋๋ค.
ํ ์คํธ ์์ญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. (ํ ์คํธ์์๋ ๋ ธ๋ 5๊ฐ, ๋ฌด๋ํ์์๋ ๋ ธ๋ 20๊ฐ) ์ด ๊ฒฝ์ฐ ๋คํ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Cassandra์ ์ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋กค๋ฐฑํ๋ฉด ์๋ง์ ์ญ์ ํ์๊ฐ ์์ฑ๋์ด ์์ธกํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์์ฐ์ฑ ์์ค์ ์ด๋ํ ์ ์์ต๋๋ค.. Cassandra๋ ๋ น์์ ์ต์ ํ๋์ด ์์ด ์ฐ๊ธฐ ์ ์ ๋ง์ ์๊ฐ์ ํ์ง ์์ผ๋ฉฐ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์์ ๋ ๋ น์์ ๋๋ค. ์ฆ, ๋ถํ์ํ ๊ฒ์ ์ญ์ ํจ์ผ๋ก์จ ๋ ๋ง์ ๊ธฐ๋ก์ ์์ฐํ๊ฒ ๋๊ณ ๊ทธ ์ค ์ผ๋ถ์๋ง ๋ฌ๋น๊ฐ ๋จ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
์ฝ์ ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ น์ ์ ์นด์ฐ๋๋ผ๋ ์๋ฆ๋ต์ง๋ง ๋๋๋ก ๋ค์ด์ค๋ ํ๋ฆ์ด ๊ทธ๋ ๋ฅผ ํฌ๊ฒ ๋นํฉํ๊ฒ ํ ์ ์์ต๋๋ค.. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ค ์ด์ ๋ก ์ฝ์ ํ ์ ์๋ ์ฌ๋ฌ ๋ ์ฝ๋๋ฅผ ์ํํ๊ธฐ ์์ํ ๋ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ gc.log, ๋๋ฆฐ ์ฟผ๋ฆฌ์ ๋ํ ์์คํ ๋ฐ ๋๋ฒ๊ทธ ๋ก๊ทธ, ๋ณด๋ฅ ์ค์ธ ์์ถ์ ๋ํ ์ธก์ ํญ๋ชฉ์ ๋ชจ๋ํฐ๋งํ ์ค์ DBA๊ฐ ํ์ํฉ๋๋ค.
ํด๋ฌ์คํฐ์ ์๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ. ์ด๋์ ์ฝ๊ณ ์ด๋์ ์จ์ผ ํ ๊น์?
์๋ง๋ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ก ๋๋์ด์ง ์๋ ์๊ฒ ์ฃ ? ๊ทธ๋ ๋ค๋ฉด ์ฐ๊ธฐ ๋๋ ์ฝ๊ธฐ ์ ์ฒญ์ ๋ ๊ฐ๊น์ด DC๊ฐ ์์ด์ผ ํฉ๋๊น? ๊ทธ๋ฆฌ๊ณ ์ผ๊ด์ฑ ์์ค์ ์๋ชป ์ ํํ๋ฉด ์ง์ง ๋ถ์ด์ด ๋ฐ์ํ์ง ์์๊น์? ์ง๋ฌธ๋ ๋ง๊ณ , ์ ์ ์๋ ์ค์ ๋ ๋ง๊ณ , ์ค์ ๋ก ๋ง์ ธ๋ณด๊ณ ์ถ์ ๊ฐ๋ฅ์ฑ๋ ๋ง์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ฒฐ์ ํ ๋ฐฉ๋ฒ
๋ ธ๋๊ฐ ๊ฐ๋ผ์๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด SWAP์ด ๋นํ์ฑํ๋์์ต๋๋ค.. ์ด์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด ๋ ธ๋๊ฐ ๋ค์ด๋๊ณ ๋๊ท๋ชจ gc ์ผ์ ์ค์ง๊ฐ ์์ฑ๋์ง ์์์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์์กดํ์ง ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์ค์ค๋ก ์ฌ๊ต์ก์ ๋ฐ๊ณ ์์ผ๋ฉฐ ์์ ์ ์ฝ๋์ ์ ๊ทน์ ์ผ๋ก ์๋ฐฉ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์์ํ์ต๋๋ค. ๋ฐ์ดํฐ ์ ์ฅ๊ณผ ์ฒ๋ฆฌ๋ฅผ ์ด์์ ์ผ๋ก ๋ช ํํ๊ฒ ๋ถ๋ฆฌํฉ๋๋ค.
DataStax์์ ์ง์์ ๊ตฌ์ ํ์ต๋๋ค. ๋ฐ์คํ Cassandra์ ๊ฐ๋ฐ์ ์ด๋ฏธ ์ค๋จ๋์์ต๋๋ค(๋ง์ง๋ง ์ปค๋ฐ์ 2018๋ XNUMX์์ด์์ต๋๋ค). ๋์์ Datastax๋ ์ฐ์ํ ์๋น์ค์ ๊ธฐ์กด IP ์๋ฃจ์ ์ ๋ง๊ฒ ์์ ๋๊ณ ์ ์ฉ๋ ๋ค์ํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
๋ํ Cassandra๋ ์ ํ ์ฟผ๋ฆฌ์ ๊ทธ๋ค์ง ํธ๋ฆฌํ์ง ์๋ค๋ ์ ๋ ์ง์ ํ๊ณ ์ถ์ต๋๋ค. ๋ฌผ๋ก CQL์ Trift์ ๋นํด ์ฌ์ฉ์์๊ฒ ์์ด์ ํฐ ๋ฐ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ํธ๋ฆฌํ ์กฐ์ธ, ๋ชจ๋ ํ๋๋ณ ๋ฌด๋ฃ ํํฐ๋ง ๋ฐ ์ฟผ๋ฆฌ ์ต์ ํ ๊ธฐ๋ฅ์ ์ต์ํ ์ ์ฒด ๋ถ์๊ฐ ์๊ณ ์ด๋ฌํ ๋ถ์๊ฐ ๋ถ๋ง ๋ฐ ์ฌ๊ณ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์๋ค๋ฉด Cassandra์ ์๋ฃจ์ ์ ๊ทธ๋ค์๊ฒ ์ ๋์ ์ด๊ณ ์ด๋ฆฌ์์ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋๋ฃ๋ค์ด ์ด๋ป๊ฒ ์ํ์ ๋ง๋ค์ด์ผ ํ ์ง ๊ฒฐ์ ํ๊ธฐ ์์ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ ๊ฐ์ง ์ต์ ์ ๊ณ ๋ คํ๋๋ฐ ์ฒซ ๋ฒ์งธ ์ต์ ์์๋ C*๋ฟ๋ง ์๋๋ผ ์์นด์ด๋ธ๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํธ์ถ์ ์์ฑํ์ต๋๋ค. ๋จ, C*์ ๋ฌ๋ฆฌ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฒ ๋ฌ์ ํตํ๋ง ์ ์ฅํฉ๋๋ค(์ถฉ์ ์ผ์ด์ค์ ์ถฉ๋ถํ ํตํ ์ ์ฅ ๊น์ด). ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์ฆ์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค: ๋๊ธฐ์์ผ๋ก ์์ฑํ๋ฉด ๋น ๋ฅธ ์ฝ์ ๊ณผ ๊ด๋ จ๋ C*์ ๋ชจ๋ ์ด์ ์ ์๊ฒ ๋๋ฉฐ, ๋น๋๊ธฐ์์ผ๋ก ์์ฑํ๋ฉด ํ์ํ ๋ชจ๋ ํธ์ถ์ด Oracle์ ์ ํ ์ ๋ฌ๋๋ค๋ ๋ณด์ฅ์ด ์์ต๋๋ค. ํ ๊ฐ์ง ์ฅ์ ์ด ์์ง๋ง ํฐ ์ฅ์ ์ ์๋์ ์ํด ๋์ผํ ์น์ํ PL/SQL ๊ฐ๋ฐ์๊ฐ ๋จ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ์ค์ ๋ก "Facade" ํจํด์ ๊ตฌํํ๋ค๋ ๊ฒ์ ๋๋ค. ๋์ฒด ์ต์ ์ ๋๋ค. ์ฐ๋ฆฌ๋ C*์์ ํธ์ถ์ ์ธ๋ก๋ํ๊ณ , Oracle์ ํด๋น ํ ์ด๋ธ์์ ๊ฐํ๋ฅผ ์ํด ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ๊ฒฐ๊ณผ ์ํ์ ์กฐ์ธํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฅผ ์ด๋ป๊ฒ๋ ์ฌ์ฉํฉ๋๋ค(๋กค๋ฐฑ, ๋ฐ๋ณต, ๋ถ์, ๊ฐํ). ๋จ์ : ํ๋ก์ธ์ค๊ฐ ์๋นํ ๋ค๋จ๊ณ์ด๊ณ , ๊ฒ๋ค๊ฐ ์ด์ ์ง์์ ์ํ ์ธํฐํ์ด์ค๋ ์์ต๋๋ค.
๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๋ ๋ฒ์งธ ์ต์ ์ ์ ํํ์ต๋๋ค. Apache Spark๋ ๋ค์ํ jar์์ ์ํ๋งํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. ๋ฉ์ปค๋์ฆ์ ๋ณธ์ง์ ์ง์ ๋ ํค(๊ตฌ๋ ์, ํธ์ถ ์๊ฐ - ์น์ ํค)๋ฅผ ์ฌ์ฉํ์ฌ C*์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐํํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ Java ์ฝ๋๋ก ์ถ์๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฒฐํฉํ๊ณ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์คํํฌ ์์ ์น ํ์ด์ค๋ฅผ ๊ทธ๋ ธ๊ณ ๊ฝค ์ ์ฉํ๊ฒ ๋ํ๋ฌ์ต๋๋ค.
์ฐ์ ํ ์คํธ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด์ ์ฐ๋ฆฌ๋ ๋ช ๊ฐ์ง ์๋ฃจ์ ์ ๋ค์ ๊ณ ๋ คํ์ต๋๋ค. ๋ ๋ค Sstloader๋ฅผ ํตํด ์ ์ก๋๋ฉฐ ํ ์คํธ ์์ญ์ ํด๋ฌ์คํฐ๋ฅผ ๋ ๋ถ๋ถ์ผ๋ก ๋ถํ ํ๋ ์ต์ ์ด ์์ต๋๋ค. ๊ฐ ๋ถ๋ถ์ ํ๋ก๋ชจ์ ํด๋ฌ์คํฐ์ ๋์ผํ ํด๋ฌ์คํฐ์ ๊ต๋๋ก ์ํ๋ฏ๋ก Sstloader๋ฅผ ํตํด ๊ตฌ๋๋ฉ๋๋ค. ํ ์คํธ๋ฅผ ์ ๋ฐ์ดํธํ ๋ ์ด๋ฅผ ๊ต์ฒดํ ๊ณํ์ด์์ต๋๋ค. ํ ์คํธ์์ ์๋ํ ๋ถ๋ถ์ ์ง์์ง๊ณ ํ๋ก๋์ ์ ๋ค์ด๊ฐ๊ณ ๋ค๋ฅธ ๋ถ๋ถ์ ๋ณ๋๋ก ๋ฐ์ดํฐ ์์ ์ ์์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ ์๊ฐํด ๋ณธ ๊ฒฐ๊ณผ ์ ์กํ ๊ฐ์น๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ค ํฉ๋ฆฌ์ ์ผ๋ก ํ๊ฐํ์ผ๋ฉฐ ํธ์ถ ์์ฒด๊ฐ ํ ์คํธ์ ์ผ๊ด์ฑ์ด ์๋ ๊ฐ์ฒด์ด๊ณ ํ์ํ ๊ฒฝ์ฐ ๋น ๋ฅด๊ฒ ์์ฑ๋๋ฉฐ ํ๋ณด์ฉ ๋ฐ์ดํฐ ์ธํธ์ด๋ฏ๋ก ์ ์ก ๊ฐ์น๊ฐ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ํ. ์ด๋ํ ๊ฐ์น๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ์ ์ฅ ๊ฐ์ฒด๊ฐ ์์ง๋ง ์ด๋ ๋ฌธ์ ๊ทธ๋๋ก ๋ ๊ฐ์ ํ ์ด๋ธ์ด๋ฉฐ ๊ทธ๋ฆฌ ๋ฌด๊ฒ์ง๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ํด๊ฒฐ์ฑ ์ผ๋ก Spark๊ฐ ๋ค์ ๊ตฌ์กฐ์ ๋์ฐ๊ณ , ๊ทธ ๋์์ผ๋ก ์ฐ๋ฆฌ๋ ํ ์ด๋ธ ๊ฐ ๋ฐ์ดํฐ ์ ์ก, ๋ฌด๋ํ ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
ํ์ฌ ๋ฐฐํฌ ์ ์ฑ ์ ํตํด ๋กค๋ฐฑ ์์ด ์์ ํ ์ ์์ต๋๋ค. ํ๋ก๋ชจ์ ์ ์๋ ์ค์๋ก ์ธํด ๋น์ฉ์ด ๋ง์ด ๋ค์ง ์๋ ํ์ ํ ์คํธ ์คํ์ด ์์ต๋๋ค. ์คํจํ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ์ผ์ด์ค ๊ณต๊ฐ์ ์ญ์ ํ๊ณ ์ฒ์๋ถํฐ ์ ์ฒด ๊ตฌ์ฑํ๋ฅผ ๋กค๋งํ ์ ์์ต๋๋ค.
Cassandra์ ์ง์์ ์ธ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ๋ ค๋ฉด ๊ทธ๋ฟ๋ง ์๋๋ผ DBA๋ ํ์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ๋์ ํ์ฌ ์ํฉ์ ์ด๋์, ์ด๋ป๊ฒ ์ดํด๋ณด๊ณ ์ ์์ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ DataStax OpsCenter(์ํฌ๋ก๋ ๊ด๋ฆฌ ๋ฐ ๋ชจ๋ํฐ๋ง), Cassandra ๋๋ผ์ด๋ฒ ์์คํ ์งํ(C* ์ฐ๊ธฐ ์ ํ ์๊ฐ ์, C* ์ฝ๊ธฐ ์ ํ ์๊ฐ ์, ์ต๋ ๋๊ธฐ ์๊ฐ ๋ฑ)๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค. Cassandra์ ํจ๊ป ์์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ฒด์ ๋ชจ์ต์ ๋๋ค.
์ด์ ์ง๋ฌธ์ ๋ํด ์๊ฐํ์ ๋ ์ฐ๋ฆฌ๋ ์ฃผ์ ์ํ์ด ์ด๋์ ์๋์ง ๊นจ๋ฌ์์ต๋๋ค. ์ด๋ ์ฌ๋ฌ ๋ ๋ฆฝ์ ์ธ ์ฟผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์์ ํ์ํ๋ ๋ฐ์ดํฐ ํ์ ํ์์ ๋๋ค. ์ด๋ฐ ์์ผ๋ก ์ฐ๋ฆฌ๋ ๋งค์ฐ ์ผ๊ด์ฑ ์๋ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ํ์ง๋ง ์ด ๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ๋จ ํ๋์ ๋ฐ์ดํฐ ์ผํฐ์์๋ง ์์ ํ๋ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ๊ธฐ์ ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ธ ๊ฒ์ ๋ฌผ๋ก ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ํ ์ผ๊ด ๊ธฐ๋ฅ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋จ์ผ ๊ธฐ๊ฐ ๋ด์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๋๋ก ํ ์ ์์ต๋๋ค. ์ฑ๋ฅ ์ธก๋ฉด์์ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒฝ์ฐ DC ๊ฐ์ ์ฐ๊ฒฐ์ด ์ผ๋ถ ๋์ด์ง๋ฉด ์๋ก ์์ ํ ์ผ์นํ์ง ์๋ ๋ ํด๋ฌ์คํฐ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ์ํ์ผ๋ก ์ธํด ์ค๋จ๋์์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ ์ง๊ธ์ผ๋ก์๋ EACH_QUORUM ์ฐ๊ธฐ, ์ฝ๊ธฐ - LOCAL_QUORUM ์ผ๊ด์ฑ ์์ค์์ ์ค์ง๋์์ต๋๋ค.
๊ฐ๋ตํ ์ธ์๊ณผ ๊ฒฐ๋ก
์ด์ ์ง์ ๋ฐ ์ถ๊ฐ ๊ฐ๋ฐ ์ ๋ง์ ๊ด์ ์์ ๊ฒฐ๊ณผ ์๋ฃจ์ ์ ํ๊ฐํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ฐ๋ฐ์ด ๋ค๋ฅธ ๊ณณ์ ์ ์ฉ๋ ์ ์๋์ง ์๊ฐํด ๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ฆ์, "ํธ๋ฆฌํ ๋ ์ง๋ถ"(C*์ ์ ๋ณด ๋ก๋, Spark ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ)๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ํ ๋ฐ์ดํฐ ์ ์ ๋งค๊ธฐ๊ธฐ, ์์ญ๋ณ ์ง๊ณ๋ฅผ ํตํ ์ฒญ๊ตฌ ๊ณ์ฐ, ์ญํ ์ ์ฅ ๋ฐ ์ญํ ์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ก์ธ์ค ๊ถํ ๊ณ์ฐ ํ๋ ฌ.
๋ณด์๋ค์ํผ ๋ ํผํ ๋ฆฌ๋ ๋๊ณ ๋ค์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ NoSQL์ ์ง์ง์/๋ฐ๋์ ์ง์์ ์ ํํ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์ด์ ์ ์ป์๊ณ ์ ํํ ๊ธฐ๋ํ๋ ๊ณณ์์ ์ง์ง์์ ํฉ๋ฅํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ Cassandra ์ต์ ๋ ์ค์๊ฐ ์ํ ํ์ฅ์ด ๊ฐ๋ฅํ๋ฏ๋ก ์์คํ ์ ๋ฐ์ดํฐ ์ฆ๊ฐ ๋ฌธ์ ๋ฅผ ์ ํ ๊ณ ํต ์์ด ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํธ์ถ ์ง๊ณ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ๋ก๋๊ฐ ๋งค์ฐ ๋์ ๋ฉ์ปค๋์ฆ์ ๋ณ๋์ ํ๋ก๋ก ์ด๋ํ ์ ์์๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์คํค๋ง์ ๋ก์ง๋ ๋ถ๋ฆฌํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด์ ์ฌ์ฉ์ ์ ์ ์์ ๊ณผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋์ ๊ดํ์ ์ ๊ฑฐํ ์ ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ณ์ฐ์ ์ํํ DC์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ DC๋ฅผ ์ ํํ๊ณ ๊ตฌ์ฑํ๊ณ ์๋๋ฅผ ๋์ผ ์ ์๋ ๊ธฐํ๋ฅผ ์ป์์ผ๋ฉฐ ๊ฐ๋ณ ๋ ธ๋์ DC ์ ์ฒด์ ์ถฉ๋๋ก๋ถํฐ ์ค์ค๋ก๋ฅผ ๋ณดํธํ์ต๋๋ค.
์ฐ๋ฆฌ ์ํคํ ์ฒ๋ฅผ ์๋ก์ด ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์ด๋ฏธ ๊ฒฝํ์ ์์๊ธฐ ๋๋ฌธ์ ์์์ ์ค๋ช ํ ๋์์ค๋ฅผ ์ฆ์ ๊ณ ๋ คํ์ฌ ์ค์๋ฅผ ๋ฐฉ์งํ๊ณ ์ฒ์์๋ ํผํ ์ ์์๋ ๋ ์นด๋ก์ด ๋ชจ์๋ฆฌ๋ฅผ ๋ถ๋๋ฝ๊ฒ ๋ง๋ค๊ณ ์ถ์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ ์์ Cassandra์ ์ ๋ฐ์ดํธ๋ฅผ ์ถ์ ํฉ๋๋ค.์๋ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ๊ฒช์ ๋ฌธ์ ์ค ์๋น์๊ฐ ์ด๋ฏธ ์๋ ค์ ธ ์๊ณ ํด๊ฒฐ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด์ Spark๋ฅผ ๋์ผํ ๋ ธ๋์ ๋ฐฐ์นํ์ง ๋ง์ญ์์ค. (๋๋ ํ์ฉ๋๋ ๋ฆฌ์์ค ์ฌ์ฉ๋์ผ๋ก ์๊ฒฉํ๊ฒ ๋๋๊ธฐ) Spark๋ ์์๋ณด๋ค ๋ง์ OP๋ฅผ ์๋ชจํ ์ ์์ผ๋ฏ๋ก ๋ชฉ๋ก์์ ๋ฌธ์ ๋ฒํธ 1์ ๋น ๋ฅด๊ฒ ์ป์ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ํ ์คํธ ๋จ๊ณ์์ ๋ชจ๋ํฐ๋ง ๋ฐ ์ด์ ์ญ๋์ ํฅ์์ํต๋๋ค. ์ฒ์์๋ ์ฐ๋ฆฌ ์๋ฃจ์ ์ ๋ชจ๋ ์ ์ฌ์ ์๋น์๋ฅผ ์ต๋ํ ๊ณ ๋ คํ์ญ์์ค., ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๊ฐ ๊ถ๊ทน์ ์ผ๋ก ์์กดํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฐ๋ฅํ ์ต์ ํ๋ฅผ ์ํด ๊ฒฐ๊ณผ ํ๋ก๋ฅผ ์ฌ๋ฌ ๋ฒ ํ์ ํฉ๋๋ค. ์ง๋ ฌํํ ์ ์๋ ํ๋๋ฅผ ์ ํํฉ๋๋ค. ๊ฐ์ฅ ์ ํํ๊ณ ์ต์ ์ผ๋ก ๊ณ ๋ คํ๊ธฐ ์ํด ์ด๋ค ์ถ๊ฐ ํ ์ด๋ธ์ ๋ง๋ค์ด์ผ ํ๋์ง ์ดํดํ ๋ค์ ์์ฒญ ์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค(์: ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ ์ฅํ ์ ์๋ค๊ณ ๊ฐ์ ํ์ฌ ๋ค๋ฅธ ๊ธฐ์ค์ ๋ฐ๋ผ ์ฝ๊ธฐ ์์ฒญ์ ๋ํ CPU ์๊ฐ์ ํฌ๊ฒ ์ ์ฝํ ์ ์์ต๋๋ค.
๋์์ง ์๋ค. ์ฆ์ TTL ์ฒจ๋ถ ๋ฐ ์ค๋๋ ๋ฐ์ดํฐ ์ ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Cassandra์์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ๋ FETCH ์์น์ ๋ฐ๋ผ ์๋ํด์ผ ํ๋ฏ๋ก ๋ชจ๋ ํ์ด ํ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋์ง ์๊ณ ์ผ๊ด์ ์ผ๋ก ์ ํ๋ฉ๋๋ค.
์ค๋ช ๋ ์๋ฃจ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ๊ถ์ฅ๋ฉ๋๋ค. ์ผ๋ จ์ ์ถฉ๋ ํ ์คํธ๋ฅผ ์ํํ์ฌ ์์คํ ์ ๋ด๊ฒฐํจ์ฑ์ ํ์ธํฉ๋๋ค.ํ ๋ฐ์ดํฐ์ผํฐ ๋ด ๋ฐ์ดํฐ ์์ค, ์ผ์ ๊ธฐ๊ฐ ๋์ ์์๋ ๋ฐ์ดํฐ ๋ณต๊ตฌ, ๋ฐ์ดํฐ์ผํฐ ๊ฐ ๋คํธ์ํฌ ๋จ์ ๋ฑ์ด ๋ํ์ ์ด๋ค. ์ด๋ฌํ ํ ์คํธ๋ฅผ ํตํด ์ ์๋ ์ํคํ ์ฒ์ ์ฅ๋จ์ ์ ํ๊ฐํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ด๋ฅผ ์ํํ๋ ์์ง๋์ด์๊ฒ ์ข์ ์ค๋น ์ฐ์ต์ ์ ๊ณตํ ์ ์์ผ๋ฉฐ ์์คํ ์ค๋ฅ๊ฐ ํ๋ก๋์ ์์ ์ฌํ๋๋ ๊ฒฝ์ฐ ์ต๋ํ ๊ธฐ์ ์ ๊ฒฐ์ฝ ๋ถํ์ํ ๊ฒ์ด ์๋๋๋ค.
์ค์ํ ์ ๋ณด(์ฒญ๊ตฌ์ฉ ๋ฐ์ดํฐ, ๊ฐ์ ์ ๋ถ์ฑ ๊ณ์ฐ ๋ฑ)๋ก ์์ ํ๋ ๊ฒฝ์ฐ DBMS์ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ํ์ ์ค์ด๋ ๋๊ตฌ์๋ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด nodesync ์ ํธ๋ฆฌํฐ(Datastax)๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ์ ์ฌ์ฉ ์ ๋ต์ ๊ฐ๋ฐํ์ต๋๋ค. ์ผ๊ด์ฑ์ ์ํด Cassandra์ ๊ณผ๋ํ ๋ถํ๋ฅผ ์์ฑํ์ง ๋ง์ญ์์ค. ํน์ ๊ธฐ๊ฐ ๋์ ํน์ ํ ์ด๋ธ์๋ง ์ฌ์ฉํ์ธ์.
XNUMX๊ฐ์์ด ์ง๋ ํ ์นด์ฐ๋๋ผ๋ ์ด๋ป๊ฒ ๋๋์? ์ผ๋ฐ์ ์ผ๋ก ํด๊ฒฐ๋์ง ์์ ๋ฌธ์ ๋ ์์ต๋๋ค. ๋ํ ์ฌ๊ฐํ ์ฌ๊ณ ๋ ๋ฐ์ดํฐ ์์ค๋ ํ์ฉํ์ง ์์์ต๋๋ค. ์, ์ฐ๋ฆฌ๋ ์ด์ ์ ๋ฐ์ํ์ง ์์๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋ณด์ํ๋ ๊ฒ์ ๋ํด ์๊ฐํด์ผ ํ์ง๋ง ๊ฒฐ๊ตญ ์ด๋ก ์ธํด ์ฐ๋ฆฌ์ ์ํคํ ์ฒ ์๋ฃจ์ ์ด ํฌ๊ฒ ํ๋ ค์ง์ง๋ ์์์ต๋๋ค. ์๋ก์ด ๊ฒ์ ์๋ํ๋ ๊ฒ์ ์ํ๊ณ ๋๋ ค์ํ์ง ์์ผ๋ฉฐ ๋์์ ๋๋ฌด ์ค๋งํ๊ณ ์ถ์ง ์๋ค๋ฉด ๋ฌด๋ฃ๋ ์๋ฌด๊ฒ๋ ์๋ค๋ ์ฌ์ค์ ๋๋นํ์ญ์์ค. ์ด์ ๋ ๊ฑฐ์ ์๋ฃจ์ ๋ณด๋ค ๋ ๋ง์ ๊ฒ์ ์ดํดํ๊ณ ๋ฌธ์๋ฅผ ์กฐ์ฌํ๊ณ ์์ ๋ง์ ๊ฐ๋ณ ๊ฐํด๋ฅผ ์กฐ๋ฆฝํด์ผ ํ๋ฉฐ ์ด๋ค ์ด๋ก ๋ ์ด๋ค ๊ฐํด๊ฐ ๋น์ ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋์ง ๋ฏธ๋ฆฌ ์๋ ค์ฃผ์ง ์์ต๋๋ค.
์ถ์ฒ : habr.com