์ํ '์ฐ๋ฆฌ์ ๋น๋ฐ์ฐ์ฃผ: ์ธํฌ์ ์จ๊ฒจ์ง ์ถ' ์คํธ์ปท
ํฌ์์ฌ์ ์ ์ํ๊ณ์์ ๊ฐ์ฅ ๋ณต์กํ ๋ถ์ผ ์ค ํ๋์ ๋๋ค. ๋์ถ, ์ฐจ์ ๊ธ, ์๊ธ๋ฟ๋ง ์๋๋ผ ์ฆ๊ถ, ํตํ, ์ํ, ํ์์ํ ๋ฐ ๊ตฌ์กฐํ์ํ ํํ์ ์จ๊ฐ ์ข ๋ฅ์ ๋ณต์ก์ฑ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ต๊ทผ ์ฐ๋ฆฌ๋ ์ธ๊ตฌ์ ๊ธ์ต ์ดํด๋ ฅ์ด ์ฆ๊ฐํ๋ ๊ฒ์ ๋ชฉ๊ฒฉํ์ต๋๋ค. ์ ์ ๋ ๋ง์ ์ฌ๋๋ค์ด ์ฆ๊ถ ์์ฅ ๊ฑฐ๋์ ์ฐธ์ฌํ๊ณ ์์ต๋๋ค. ๊ฐ์ธ ํฌ์ ๊ณ์ข๊ฐ ๋ฑ์ฅํ ๊ฒ์ ๊ทธ๋ฆฌ ์ค๋๋์ง ์์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฆ๊ถ ์์ฅ์ ๊ฑฐ๋ํ๊ณ ์ธ๊ธ ๊ณต์ ๋ฅผ ๋ฐ๊ฑฐ๋ ์ธ๊ธ ๋ฉ๋ถ๋ฅผ ํผํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ฅผ ์ฐพ์์ค๋ ๋ชจ๋ ๊ณ ๊ฐ์ ์์ ์ ํฌํธํด๋ฆฌ์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ณด๊ณ ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๋ํ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ด ํฌํธํด๋ฆฌ์ค๋ ๋ค์ค ์ ํ์ ๋๋ค. ์ฆ, ์ฌ๋๋ค์ ๋ค์ํ ๋น์ฆ๋์ค ๋ผ์ธ์ ๊ณ ๊ฐ์ ๋๋ค.
๋ํ ๋ฌ์์์ ์ธ๊ตญ ๋ชจ๋ ๊ท์ ๊ธฐ๊ด์ ์๊ตฌ๊ฐ ์ฆ๊ฐํ๊ณ ์์ต๋๋ค.
ํ์ฌ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ณ ํฅํ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํ ๊ธฐ๋ฐ์ ๋ง๋ จํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ Tarantool์ ๊ธฐ๋ฐ์ผ๋ก ํฌ์ ๋น์ฆ๋์ค ํต์ฌ์ ๊ฐ๋ฐํ์ต๋๋ค.
์ผ๋ถ ํต๊ณ. Alfa-Bank์ ํฌ์ ์ฌ์
์ ๊ฐ์ธ ๋ฐ ๋ฒ์ธ์๊ฒ ๋ค์ํ ์ฆ๊ถ ์์ฅ์์ ๊ฑฐ๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๋ ์ค๊ฐ ์๋น์ค, ์ฆ๊ถ ๋ณด๊ด์ ์ํ ์ํ ์๋น์ค, ๊ฐ์ธ ๋ฐ ๋๊ท๋ชจ ์๋ณธ์ ๊ฐ์ง ๊ฐ์ธ์ ์ํ ์ ํ ๊ด๋ฆฌ ์๋น์ค, ๋ค๋ฅธ ํ์ฌ๋ฅผ ์ํ ์ฆ๊ถ ๋ฐํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. . Alfa-Bank์ ํฌ์ ์ฌ์
์๋ ๋ค์ํ ๊ฑฐ๋ ํ๋ซํผ์์ ๋ค์ด๋ก๋๋๋ ์ด๋น 3๊ฐ ์ด์์ ๊ฒฌ์ ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์์
์ผ ๋์ ์ํ์ด๋ ๊ณ ๊ฐ์ ๋์ ํ์ฌ ์์ฅ์์ 300๋ง ๊ฑด ์ด์์ ๊ฑฐ๋๊ฐ ์ฒด๊ฒฐ๋ฉ๋๋ค. ์ธ๋ถ ๋ฐ ๋ด๋ถ ํ๋ซํผ์์ ์ด๋น ์ต๋ 5๊ฑด์ ์ฃผ๋ฌธ ์คํ์ด ๋ฐ์ํฉ๋๋ค. ๋์์ ๋ด๋ถ ๋ฐ ์ธ๋ถ์ ๋ชจ๋ ๊ณ ๊ฐ์ ์์ ์ ์์น๋ฅผ โโ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
์ ์ฌ ์๋
2000๋ ๋ ์ด๋ฐ๋ถํฐ ๋น์ฌ์ ํฌ์ ์ฌ์ ๋ถ์ผ๋ ์ธํ ๊ฑฐ๋, ์ค๊ฐ ์๋น์ค, ํตํ ๊ฑฐ๋, ์ฆ๊ถ ์ฅ์ธ ๊ฑฐ๋ ๋ฐ ๋ค์ํ ํ์ ์ํ ๋ฑ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ์ ํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ฐ๋ฆฌ๋ ๊ธฐ๋ฅ์ฑ ์ฐ๋ฌผ์ ํจ์ ์ ๋น ์ก์ต๋๋ค. ๊ทธ๊ฒ์ ๋ฌด์์ ๋๊น? ๊ฐ ์ฌ์ ๋ถ๋ฌธ์๋ ์๋ก์ ๊ธฐ๋ฅ์ ๋ณต์ ํ๋ ์์ฒด ์์คํ ์ด ์์ต๋๋ค. ๊ฐ ์์คํ ์๋ ๊ฑฐ๋, ์ํ, ์๋๋ฐฉ, ๊ฒฌ์ ๋ฑ ๋์ผํ ๊ฐ๋ ์ผ๋ก ์๋ํ์ง๋ง ์์ฒด ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์คํ ์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ์ ํ๋ฉด์ ๋ค์ํ ๊ธฐ์ ์ด ๋ฑ์ฅํ์ต๋๋ค.
๋ํ ์ผ๋ถ ์ ํ์ 1990๋ ๋ ์ค๋ฐ์ ์ถ์๋์๊ธฐ ๋๋ฌธ์ ์์คํ ์ ์ฝ๋ ๊ธฐ๋ฐ์ ์ด๋ฏธ ์๋นํ ๊ตฌ์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ถ ์์ญ์์๋ ์ด๋ก ์ธํด ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ๋๋ ค์ง๊ณ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๋ก์ด ์๋ฃจ์ ์ ๋ํ ์๊ตฌ ์ฌํญ
๊ธฐ์ ์ ๊ธฐ์ ํ์ ์ด ์ถ๊ฐ ๊ฐ๋ฐ์ ํ์์ ์ด๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ฐ๋ฆฌ์๊ฒ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฌด๊ฐ ์ฃผ์ด์ก์ต๋๋ค.
- ๋ชจ๋ ๋น์ฆ๋์ค ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅธ ๋จ์ผ ์คํ ๋ฆฌ์ง์ ๋จ์ผ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์์งํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ ์ด ์ ๋ณด๋ฅผ ๋ถ์คํ๊ฑฐ๋ ๋ณ๊ฒฝํด์๋ ์ ๋ฉ๋๋ค.
- ๊ท์ ๋น๊ตญ์ด ์ธ์ ๋ ์ง ์ด์ ์ฐ๋์ ๋ํ ํต๊ณ๋ฅผ ์์ฒญํ ์ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ ๋จ์ง ์๋กญ๊ณ ์ธ๋ จ๋ DBMS๋ฅผ ๋์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋น์ฆ๋์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ซํผ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
๋ํ ์ฐ๋ฆฌ ๊ฑด์ถ๊ฐ๋ ์์ฒด ์กฐ๊ฑด์ ์ค์ ํ์ต๋๋ค.
- ์๋ก์ด ์๋ฃจ์ ์ ์ํฐํ๋ผ์ด์ฆ๊ธ์ด์ด์ผ ํฉ๋๋ค. ์ฆ, ์ผ๋ถ ๋๊ธฐ์ ์์ ์ด๋ฏธ ํ ์คํธ๋ฅผ ๊ฑฐ์ณค์ด์ผ ํฉ๋๋ค.
- ์๋ฃจ์ ์ ์๋ ๋ชจ๋๋ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌํด์ผ ํฉ๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ๋์์ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ์ ์์ด์ผ ํ๋ฉฐ ํ๋์ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์ค๋จ๋ ๋ ์นจ์ฐฉํ๊ฒ ์ด์๋จ์์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
- ์์คํ ์ ์ํ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์ฌ์ค ์ฐ๋ฆฌ์ ๋ชจ๋ ํ์ฌ ์์คํ ์ ์์ง์ ์ผ๋ก๋ง ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํ๋์จ์ด ์ฑ๋ฅ์ ๋ฎ์ ์ฑ์ฅ์ผ๋ก ์ธํด ์ด๋ฏธ ํ๊ณ์ ์ ๋๋ฌํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์กด์ ์ํด์๋ ์ํ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ ์์คํ ์ด ํ์ํ ์๊ฐ์ด ์์ต๋๋ค.
- ๋ฌด์๋ณด๋ค๋ ์ฐ๋ฆฌ๋ ์๋ฃจ์ ์ด ์ ๋ ดํด์ผ ํ๋ค๋ ๋ง์ ๋ค์์ต๋๋ค.
์ฐ๋ฆฌ๋ ํ์ค ๊ฒฝ๋ก๋ฅผ ๋ฐ๋์ต๋๋ค. ์๊ตฌ ์ฌํญ์ ๊ณต์ํํ๊ณ ๊ตฌ๋งค ๋ถ์์ ์ฐ๋ฝํ์ต๋๋ค. ๊ฑฐ๊ธฐ์์ ์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ฅผ ์ํด ์ด ์์ ์ ์ํํ ์ค๋น๊ฐ ๋์ด ์๋ ํ์ฌ ๋ชฉ๋ก์ ๋ฐ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋์๊ฒ ๋ฌธ์ ์ ๋ํด ์ค๋ช ํ๊ณ , ๊ทธ ์ค XNUMX๋ช ์ผ๋ก๋ถํฐ ํด๊ฒฐ์ฑ ์ ๋ํ ํ๊ฐ๋ฅผ ๋ฐ์์ต๋๋ค.
์ํ์์๋ ๋ค๋ฅธ ์ฌ๋์ ๋ง์ ๋ฐ์๋ค์ด์ง ์๊ณ ๋ชจ๋ ๊ฒ์ ์ง์ ํ ์คํธํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฐฐ ๊ฒฝ์์ ํ์ ์กฐ๊ฑด์ ๋ถํ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๊ฒ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ถํ ํ ์คํธ ์์ ์ ๊ณต์ํํ์ผ๋ฉฐ, XNUMX๊ฐ ํ์ฌ ์ค XNUMX๊ฐ ํ์ฌ๋ ์ด๋ฅผ ํ ์คํธํ๊ธฐ ์ํด ์์ฒด ๋น์ฉ์ผ๋ก ์ธ๋ฉ๋ชจ๋ฆฌ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋กํ ํ์ ์๋ฃจ์ ์ ๊ตฌํํ๋ ๋ฐ ์ด๋ฏธ ๋์ํ์ต๋๋ค.
๋ชจ๋ ๊ฒ์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ๊ณผ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ ธ๋์ง๋ ๋ง์๋๋ฆฌ์ง ์๊ฒ ์ต๋๋ค. ๊ฐ๋จํ ์์ฝํ๊ฒ ์ต๋๋ค. ๋ก๋ ํ ์คํธ์์ ์ต๊ณ ์ ์ฑ๋ฅ์ Mail.ru Group ๊ฐ๋ฐ ํ์ Tarantool ๊ธฐ๋ฐ ํ๋กํ ํ์ ์๋ฃจ์ ์์ ๋ํ๋ฌ์ต๋๋ค. ํ์ฝ์ ์ฒด๊ฒฐํ๊ณ ๊ฐ๋ฐ์ ์์ํ์ต๋๋ค. Mail.ru ๊ทธ๋ฃน์๋ XNUMX๋ช ์ด ์์๊ณ Alfa-Bank์๋ ๊ฐ๋ฐ์ XNUMX๋ช , ์์คํ ๋ถ์๊ฐ XNUMX๋ช , ์๋ฃจ์ ์ค๊ณ์, ์ ํ ์์ ์ ๋ฐ ์คํฌ๋ผ ๋ง์คํฐ๊ฐ ์์์ต๋๋ค.
๋ค์์ผ๋ก ์ฐ๋ฆฌ ์์คํ ์ด ์ด๋ป๊ฒ ์ฑ์ฅํ๋์ง, ์ด๋ป๊ฒ ์งํํ๋์ง, ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ํ๋์ง, ์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋์ง์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
ะ ะฐะทัะฐะฑะพัะบะฐ
์ฐ๋ฆฌ๊ฐ ์ค์ค๋ก์๊ฒ ๋์ง ์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ ํ์ฌ ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ด์์ต๋๋ค. ํ์ฌ์ ๋ชจ๋ ์์คํ ์ HTTP๋ฅผ ํตํด XML ๋๋ JSON์ ์ ์กํ์ฌ ์๋ก ํต์ ํ๊ธฐ ๋๋ฌธ์ HTTP๊ฐ ์ฐ๋ฆฌ์๊ฒ ๋งค์ฐ ์ ํฉํ๋ค๊ณ ๊ฒฐ์ ํ์ต๋๋ค.
SSL ์ธ์ ์ ์ข ๋ฃํ ํ์๊ฐ ์๊ณ ์ฑ๋ฅ๋ ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์ Tarantool์ ๋ด์ฅ๋ HTTP ์๋ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ฏธ ๋งํ๋ฏ์ด ์ฐ๋ฆฌ์ ๋ชจ๋ ์์คํ ์ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์กด์ฌํ๋ฉฐ, ์ ๋ ฅ ์ ์ฐ๋ฆฌ๊ฐ ์ค๋ช ํ๋ ๋ชจ๋ธ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ณํํ ์ ์๋ ์ธ์ด๊ฐ ํ์ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ช ๋ นํ Lua๋ฅผ ์ ํํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฐ์ดํฐ ๋ณํ ์ฝ๋๋ฅผ ์๋๋ฐ์ค์์ ์คํํฉ๋๋ค. ์ด๋ ์คํ ์ฝ๋๊ฐ ๋ ์ด์ ์ด๋ํ์ง ์๋ ์์ ํ ์ฅ์์ ๋๋ค. ์ด๋ฅผ ์ํด ํ์ํ ์ฝ๋๋ฅผ ๋ก๋์คํธ๋งํ์ฌ ์๋ฌด๊ฒ๋ ์ฐจ๋จํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด ํฌํจ๋ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค.
๋ณํ ํ์๋ ๋ฐ์ดํฐ๊ฐ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๊ณ ์๋ ๋ชจ๋ธ๊ณผ ์ผ์นํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ธ์ด ๋ฌด์์ด์ด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํด ์ด๋ค ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ์ค๋ซ๋์ ๋
ผ์ํ์ต๋๋ค. ์ธ์ด๊ฐ ๊ฐ๋จํ๊ณ Tarantool์ ์ง์์ ๋ฐ๊ธฐ ๋๋ฌธ์ Apache Avro๋ฅผ ์ ํํ์ต๋๋ค. ์๋ก์ด ๋ฒ์ ์ ๋ชจ๋ธ๊ณผ ์ฌ์ฉ์ ์ ์ ์ฝ๋๋ ๋ถํ๊ฐ ์๋ ์๋ ํ๋ฃจ ์ค ์ธ์ ๋ ์ง ์ฌ๋ฌ ๋ฒ ์๋ํ ์ ์์ผ๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์์ต๋๋ค.
ํ์ธ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ vshard๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์
์ ์ํํฉ๋๋ค(์ง์ญ์ ์ผ๋ก ๋ถ์ฐ๋ ์ค๋ ๋ณต์ ๋ณธ์ด ์์).
๋์ฑ์ด, ์ฐ๋ฆฌ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋๋ถ๋ถ์ ์์คํ
์ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋์ง ์ฌ๋ถ๋ฅผ ์ ๊ฒฝ ์ฐ์ง ์์ ์ ๋๋ก ํน์ด์ฑ์ด ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ์ฒ์๋ถํฐ ์๋ฆฌ ๋๊ธฐ์ด์ ๊ตฌํํ ์ด์ ์
๋๋ค. ๊ทธ๊ฒ์ ๋ฌด์์
๋๊น? ์ด๋ค ์ด์ ๋ก ๊ฐ์ฒด๊ฐ ๋ฐ์ดํฐ ๋ณํ ๋๋ ๊ฒ์ฆ์ ๊ฑฐ์น์ง ์๋ ๊ฒฝ์ฐ์๋ ์์ ์ ํ์ธํ์ง๋ง ๋์์ ์๋ฆฌ ๋๊ธฐ์ด์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด๋ ์ผ๊ด์ฑ์ ์ ์งํ๋ฉฐ ๊ธฐ๋ณธ ๋น์ฆ๋์ค ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์์นํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ๋ํ ๊ด๋ฆฌ์ ์ธํฐํ์ด์ค, ๋ค์ํ ์ธก์ ํญ๋ชฉ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ์ฆ์ ์์ฑํ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์์ต๋๋ค. ์์ค๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ฆ์ ์ด๋ฅผ ๊ฐ์งํ๊ณ ์ ์ํ ์ ์์ต๋๋ค.
์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์์คํ
์ ์ฃผ์ ๊น๊ฒ ๋ถ์ํ ๊ฒฐ๊ณผ Java ๋ฐ Oracle์ ํด๋์ ์คํ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๊ณํ์์ ๊ฐ์ฒด๋ก ๋ณํํ๋ ์ผ์ข
์ ORM์ด ๋ฐ๋์ ํฌํจ๋์ด ์๋ค๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฆ์ ๊ทธ๋ํ ํํ๋ก ์์คํ
์ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์ด๋จ๊น์? ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ GraphQL์ ๊ธฐ์๊ฒ ์ฑํํ์ต๋๋ค. ๊ทธ๋ํ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ง๊ธ ๋น์ฅ ํ์ํ ๊ฒ๋ง ๋ฝ์๋ผ ์ ์์ต๋๋ค. ์๋นํ ์ ์ฐํ๊ฒ API ๋ฒ์ ์ ์ง์ ํ ์๋ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๊ฑฐ์ ์ฆ์ ์ฐ๋ฆฌ๊ฐ ์ถ์ถํ๋ ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ธ์ ๊ฐ์ฒด(๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ์ฐ๋ ํ๋)์ ์ฐ๊ฒฐํ ์ ์๋ ํจ์๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ฆ, ์๋ฅผ ๋ค์ด ํ๊ท ๊ฒฌ์ ๊ฐ๊ฒฉ์ ๊ณ์ฐํ๋ ํน์ ๊ธฐ๋ฅ์ ํ๋์ ์ฐ๊ฒฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ์ธ๋ถ ์๋น์๋ ์ด๊ฒ์ด ๊ณ์ฐ๋ ํ๋์ธ์ง์กฐ์ฐจ ๋ชจ๋ฆ
๋๋ค.
์ธ์ฆ ์์คํ
์ ๊ตฌํํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฐ๋ฆฌ๋ ๊ฒฐ์ ์ ๋ช ๊ฐ์ง ์ญํ ์ด ๊ตฌ์ฒดํ๋์ด ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ญํ ์ ์ผ์ข
์ ๊ธฐ๋ฅ ์งํฉ์ฒด์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ญํ ๋ง๋ค ์ฅ๋น ์ฌ์ฉ ํ๋กํ์ด ๋ค๋ฆ
๋๋ค.
- T-Connect: ๋ค์ด์ค๋ ์ฐ๊ฒฐ ์ฒ๋ฆฌ, CPU ์ ํ, ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์๋น, ์ํ ๋น์ ์ฅ.
- IB-Core: Tarantool ํ๋กํ ์ฝ์ ํตํด ์์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ณํํฉ๋๋ค. ์ฆ, ํ ์ด๋ธ๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. ๋ํ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ผ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
- ์ ์ฅ์: ๋ฐ์ดํฐ๋ง ์ ์ฅํ๊ณ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ด ์ญํ ์ ๊ฐ์ฅ ๊ฐ๋จํ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํฉ๋๋ค. vshard ๋๋ถ์ ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
์ฆ, ์ญํ ์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ์ ์๋ก ๋ถ๋ฆฌํ์ฌ ์๋ก ๋
๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ํธ๋์ญ์ ๋ฐ์ดํฐ ํ๋ฆ ๊ธฐ๋ก๊ณผ ๋ณต๊ตฌ ๋๊ธฐ์ด์ ๋ง๋ค์์ต๋๋ค. ๊ธฐ๋ก์ ๋น์ฆ๋์ค ๊ด์ ์์ ๋น๋๊ธฐ์์ ๋๋ค. ์ด๋์ ์๋ ์ฐ๋ฆฌ ์์ ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์๋ค๋ ๊ฒ์ด ๋ณด์ฅ๋๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฅผ ํ์ธํ ๊ฒ์ ๋๋ค. ํ์ธ๋์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ๋น๋๊ธฐ ๋ น์์ ๋๋ค.
ํ ์คํธ
ํ๋ก์ ํธ ์ด๊ธฐ๋ถํฐ ์ฐ๋ฆฌ๋ ํ ์คํธ ์ค์ฌ ๊ฐ๋ฐ์ ๊ตฌํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. tarantool/tap ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ Lua์์ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๊ณ , pytest ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ Python์์ ํตํฉ ํ ์คํธ๋ฅผ ์์ฑํฉ๋๋ค. ๋์์ ํตํฉ ํ ์คํธ ์์ฑ์ ๊ฐ๋ฐ์์ ๋ถ์๊ฐ ๋ชจ๋๋ฅผ ์ฐธ์ฌ์ํต๋๋ค.
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?
์๋ก์ด ๊ธฐ๋ฅ์ ์ํ๋ฉด ๋จผ์ ์ด์ ๋ํ ํ ์คํธ๋ฅผ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค. ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋จผ์ ํ ์คํธ๋ฅผ ์์ฑํ ๋ค์ ์์ ํฉ๋๋ค. ์ฒ์์๋ ์ด๋ ๊ฒ ์ผํ๊ธฐ ํ๋ค๊ณ , ์ง์๋ค ์ฌ์ด์์๋ โ์ด์ ๋นจ๋ฆฌ ๊ณ ์น๊ณ , ์๋ก์ด ์ผ์ ํ๊ณ , ํ ์คํธ๋ก ๋ฎ์โ๋ผ๋ ์คํด๊ฐ ์๊ธฐ๊ณ , ๋ฐฉํด ํ์๊น์ง ํ๊ธฐ๋ ํ๋ค. ์ด "๋์ค"๋ง์ด ๊ฑฐ์ ์ค์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ๋จผ์ ์ค์ค๋ก ํ ์คํธ๋ฅผ ์์ฑํ๋๋ก ๊ฐ์ํ๊ณ ๋ค๋ฅธ ์ฌ๋์๊ฒ ํ ์คํธ๋ฅผ ์์ฒญํด์ผ ํฉ๋๋ค. ์ ๋ฅผ ๋ฏฟ์ผ์ญ์์ค. ํ ์คํธ ์ค์ฌ ๊ฐ๋ฐ์ ๋จ๊ธฐ์ ์ผ๋ก๋ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋น์ ์ ๋น์ ์ ์ถ์ด ๋ ์ฌ์ ์ก๋ค๊ณ ๋๋ ๊ฒ์ ๋๋ค. ์ด์ ์ฝ๋์ 99%๊ฐ ํ ์คํธ์ ํฌํจ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ๋ง์ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ชจ๋ ์ปค๋ฐ์์ ํ ์คํธ๊ฐ ์คํ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๊ฒ์ ๋ถํ ํ ์คํธ์ด๋ฉฐ, ์ด๋ฅผ ๊ฐ์ฅ ์ค์ํ๊ฒ ์ฌ๊ธฐ๊ณ ์ ๊ธฐ์ ์ผ๋ก ์ํํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฒ์ ์ค ํ๋์ ๋ํ ๋ก๋ ํ ์คํธ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ฅผ ์ด๋ป๊ฒ ์ํํ๋์ง์ ๋ํ ๊ฐ๋จํ ์ด์ผ๊ธฐ๋ฅผ ๋ค๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์์ ๋ ธํธ๋ถ์ ์์คํ ์ ์ค์นํ๊ณ ๋ก๋๋ฅผ ์ผฐ์ผ๋ฉฐ ์ด๋น 4๊ฑด์ ํธ๋์ญ์ ์ ์์ ํ์ต๋๋ค. ๋ ธํธ๋ถ์ ๋ํ ์ข์ ๊ฒฐ๊ณผ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก๋์ ๋ณด๋ค ์ฝํ XNUMX๊ฐ์ ์๋ฒ๋ก ๊ตฌ์ฑ๋ ๊ฐ์ ๋ก๋ ๋ฒค์น์ ์ค์นํ์ต๋๋ค. ์ต์ํ์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์คํํ๊ณ ํ๋์ ์ค๋ ๋์์ ๋ฉํฑ๋ณด๋ค ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ต๋๋ค. ์ถฉ๊ฒฉ์ ์ธ ๋ด์ฉ.
์ฐ๋ฆฌ๋ ๋งค์ฐ ์ฌํ์ต๋๋ค. ์๋ฒ ๋ก๋๋ฅผ ์ดํด๋ณด์์ง๋ง ์ ํด ์ํ์ธ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ํ๋ฅผ ๊ฑธ์ด Java ์ธ๊ณ์์ ์จ ์ฌ๋๋ค์๊ฒ Tarantool์ด ๋จ์ผ ์ค๋ ๋๋ผ๊ณ ์ค๋ช
ํฉ๋๋ค. ๋ก๋ ์ค์ธ ํ๋์ ํ๋ก์ธ์ ์ฝ์ด์์๋ง ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ ์๋ฒ์ ๊ฐ๋ฅํ ์ต๋ ๊ฐ์์ Tarantool ์ธ์คํด์ค๋ฅผ ๋ฐฐํฌํ๊ณ ๋ก๋๋ฅผ ์ผฐ์ผ๋ฉฐ ์ด๋ฏธ ์ด๋น 14,5๊ฐ์ ํธ๋์ญ์
์ ๋ฐ์์ต๋๋ค.
๋ค์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค. ๋ฆฌ์์ค๋ฅผ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๋ ์ญํ ๋ก ๋ถํ ๋จ์ ๋ฐ๋ผ ์ฐ๊ฒฐ ์ฒ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ๋ณํ์ ๋ด๋นํ๋ ์ญํ ์ ํ๋ก์ธ์์๋ง ๋ก๋๋์์ผ๋ฉฐ ๋ก๋์ ์๊ฒฉํ๊ฒ ๋น๋กํ์ต๋๋ค.
์ด ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ๋ ๋ค์ด์ค๋ ์ฐ๊ฒฐ๊ณผ ์์ ๊ฐ์ฒด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ์๋ง ์ฌ์ฉ๋์์ต๋๋ค.
๋ฐ๋๋ก ์คํ ๋ฆฌ์ง ์๋ฒ์์๋ ํ๋ก์ธ์ ๋ก๋๊ฐ ์ฆ๊ฐํ์ง๋ง ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ๋ ์๋ฒ๋ณด๋ค ์๋๊ฐ ํจ์ฌ ๋๋ ธ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ ๋ก๋๋ ๋ฐ์ดํฐ ์์ ์ ๋น๋กํ์ฌ ์ฆ๊ฐํ์ต๋๋ค.
์๋น์ค
ํนํ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ผ๋ก ์ ์ ํ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ์๋น์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์๋ฅผ ๋ง๋ค์์ต๋๋ค.
์๋น์ค๋ ์ผ๋ถ ๋ถ์ผ์์ ์๋ํ๋ ๋จ์ํ ์ฝ๋ ์กฐ๊ฐ์ด ์๋๋๋ค. ํด๋ฌ์คํฐ์ ์ผ๋ถ์ด๊ณ , ์ฐธ์กฐ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ , ๋น์ฆ๋์ค ๋ก์ง์ ์คํํ๊ณ , ์๋ต์ ๋ฐํํ๋ ๋งค์ฐ ํฌ๊ณ ๋ณต์กํ ๊ตฌ์กฐ์ผ ์ ์์ต๋๋ค. ๋ํ ์๋น์ค ์คํค๋ง๋ฅผ GraphQL๋ก ๋ด๋ณด๋ด๋ฉด ์๋น์๋ ์ ์ฒด ๋ชจ๋ธ์ ๋ํ ์์ฒด ๊ฒ์ฌ๋ฅผ ํตํด ๋ฐ์ดํฐ์ ๋ํ ๋ฒ์ฉ ์ก์ธ์ค ์ง์ ์ ๋ฐ์ต๋๋ค. ๋งค์ฐ ํธ์ํฉ๋๋ค.
์๋น์ค์๋ ๋ ๋ง์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์์ฃผ ์ฌ์ฉ๋๋ ์ฝ๋๋ฅผ ์ด๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ด์ผ ํ๋ค๊ณ ๊ฒฐ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์ ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ์๋ฌด ๊ฒ๋ ์์์ํค์ง ์๋๋ค๋ ๊ฒ์ ํ์ธํ ํ ์์ ํ ํ๊ฒฝ์ ์ถ๊ฐํ์ต๋๋ค. ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐ ํ๊ฒฝ์ ํ ๋นํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์คํ ๋ฆฌ์ง๋ฟ๋ง ์๋๋ผ ์ปดํจํ ์ ์ํ ํ๋ซํผ์ ๊ฐ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ๋ง์ ๋ณต์ ๋ณธ๊ณผ ์ค๋๊ฐ ์์๊ธฐ ๋๋ฌธ์ ์ผ์ข ์ ๋ถ์ฐ ์ปดํจํ ์ ๊ตฌํํ๊ณ ์ด๋ฅผ ๋งต ์ถ์๋ผ๊ณ ๋ถ๋ ์ต๋๋ค. ์๋์ ๋งต ์ถ์์ ์ ์ฌํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ค๋๋ ์์คํ
ํ๋กํ ์ฝ์ ์ง์ํ์ง๋ง ๋ชจ๋ ๋ ๊ฑฐ์ ์์คํ ์ด HTTP๋ฅผ ํตํด ์ฐ๋ฆฌ๋ฅผ ํธ์ถํ๊ณ GraphQL์ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์๋๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฌํ ์์คํ ์ ๋ณต์ ํ ์ ์๋ ๋ฉ์ปค๋์ฆ์ ๋ง๋ค์์ต๋๋ค.
๋ฌด์ธ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ์ฅ์ ์ญํ ์์ ๊ณ ์ ํ ํธ๋ฆฌ๊ฑฐ๊ฐ ํธ๋ฆฌ๊ฑฐ๋๊ณ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋ ๋ฉ์์ง๊ฐ ์ฒ๋ฆฌ ๋๊ธฐ์ด์ ๋ค์ด๊ฐ๋๋ค. ๋ณ๋์ ๋ณต์ ์ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ธ๋ถ ์์คํ
์ผ๋ก ์ ์ก๋ฉ๋๋ค. ์ด ์ญํ ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ต๋๋ค.
์๋ก์ด ๊ฐ์ ์ฌํญ
๊ธฐ์ตํ์๊ฒ ์ง๋ง, ๋น์ฆ๋์ค์ ์ธ ๊ด์ ์์ ์ฐ๋ฆฌ๋ ๋น๋๊ธฐ ๋ น์์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์์ ์ํ์ ๋ํ ์๋ต์ ์ฆ์ ๋ฐ์์ผ ํ๋ ์์คํ ํด๋์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ GraphQL์ ํ์ฅํ๊ณ ๋์ฐ๋ณ์ด๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์์ ์ ๊ธฐ์กด ํจ๋ฌ๋ค์์ ์ ๊ธฐ์ ์ผ๋ก ์ ํฉํฉ๋๋ค. ์ฐ๋ฆฌ์๊ฒ ์ด๊ฒ์ ๋ค๋ฅธ ํด๋์ค์ ์์คํ ์ ๋ํ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ์ ๋จ์ผ ์ง์ ์ ๋๋ค.
๋ํ ํ๋ฃจ, ์ผ์ฃผ์ผ, ํ ๋ฌ์ ํ ๋ฒ์ฉ ์์ฑํด์ผ ํ๋ ๋ณด๊ณ ์๊ฐ ์๋นํ ๋ง๊ธฐ ๋๋ฌธ์ ์๋น์ค๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด ์์
์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ผ๋ฉฐ ๋ณด๊ณ ์์์ Tarantool์ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ์ฐจ๋จํ ์๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ค์ผ์ค๋ฌ์ ์คํ์๋ผ๋ ๋ณ๋์ ์ญํ ์ ๋ง๋ค์์ต๋๋ค. ๋ฌ๋๋ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ต๋๋ค. ๊ทธ๋ค์ ์ฆ์์์ ๊ณ์ฐํ ์ ์๋ ๋ฌด๊ฑฐ์ด ์์
์ ์คํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ผ์ค๋ฌ ์ญํ ์ ๊ตฌ์ฑ์ ์ค๋ช
๋ ์ด๋ฌํ ์์
์ ์์ ์ผ์ ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค. ์์
์์ฒด๋ ๋น์ฆ๋์ค ๋ฐ์ดํฐ์ ๋์ผํ ์์น์ ์ ์ฅ๋ฉ๋๋ค. ์ ์ ํ ์๊ฐ์ด ์ค๋ฉด ์ค์ผ์ค๋ฌ๋ ์์
์ ์ํํ๊ณ ์ผ๋ถ ์คํ์์๊ฒ ์ด๋ฅผ ์ ๋ฌํ๋ฉฐ ์คํ์๋ ์ด๋ฅผ ๊ณ์ฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ชจ๋ ์์
์ ์ผ์ ์ ๋ฐ๋ผ ์คํํ ํ์๋ ์์ต๋๋ค. ์ผ๋ถ ๋ณด๊ณ ์๋ ์์ฒญ ์ ์ฝ์ด์ผ ํฉ๋๋ค. ์ด ์๊ตฌ ์ฌํญ์ด ๋์ฐฉํ์๋ง์ ์๋๋ฐ์ค์ ์์
์ด ์์ฑ๋์ด ์คํ์ ์ํด ์คํ๊ธฐ๋ก ์ ์ก๋ฉ๋๋ค. ์ ์ ํ ์ฌ์ฉ์๋ ๋ชจ๋ ๊ฒ์ด ๊ณ์ฐ๋์์ผ๋ฉฐ ๋ณด๊ณ ์๊ฐ ์ค๋น๋์๋ค๋ ๋น๋๊ธฐ ์๋ต์ ๋ฐ์ต๋๋ค.
์ฒ์์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ฉฐ ์ญ์ ํ์ง ์๋๋ค๋ ํจ๋ฌ๋ค์์ ๊ณ ์ํ์ต๋๋ค. ํ์ง๋ง ์ธ์์์ ๋๋๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์ญ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋๋ถ๋ถ ์์ ๋๋ ์ค๊ฐ ์ ๋ณด์
๋๋ค. ๋ง๋ฃ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๋ฆฌ๋ ์ค๋๋ ๋ฐ์ดํฐ๋ก๋ถํฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ ๋ฆฌํ๋ ๋ฉ์ปค๋์ฆ์ ๋ง๋ค์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ํ ์กฐ๋ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ด ์ถฉ๋ถํ์ง ์์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํ๋ ์ํฉ์ด ์ฌ ๊ฒ์์ ์ดํดํฉ๋๋ค. ์ด๋ฌํ ๋ชฉ์ ์ ์ํด ์ฐ๋ฆฌ๋ ๊ณง ๋์คํฌ ์คํ ๋ฆฌ์ง๋ฅผ ๋ง๋ค ์์ ์
๋๋ค.
๊ฒฐ๋ก
์ฐ๋ฆฌ๋ ๋จ์ผ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ์์ ๋ถํฐ ์์ํ์ฌ ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ 30๊ฐ์์ ๋ณด๋์ต๋๋ค. ์ฐ๋ฆฌ๋ XNUMX๊ฐ์ ๋ฐ์ดํฐ ๊ณต๊ธ ์์คํ ์ ๊ฐ๊ณ ์์์ต๋๋ค. ๋จ์ผ ๋ชจ๋ธ๋ก์ ์ ์ฒด ๋ณํ ์ฝ๋๋ ๋ฃจ์์์ ์ฝ XNUMX๋ง ๋ผ์ธ ์ ๋์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ถ๋ถ์ ์์ ์ ์์ง ์งํ ์ค์ ๋๋ค. ๋๋ก๋ ์ฃผ๋ณ ํ์ ์์์ด ๋ถ์กฑํ๊ธฐ๋ ํ๊ณ , ์ ๋ฌด๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋๋ ์ํฉ๋ ๋ง์ต๋๋ค. ์ ์ฌํ ์์ ์ ์ง๋ฉดํ ๊ฒฝ์ฐ ํด๋น ๊ตฌํ์ ์ผ๋ฐ์ ์ผ๋ก ๊ฑธ๋ฆฌ๋ ์๊ฐ์ XNUMX๋ฐฐ ๋๋ XNUMX๋ฐฐ๋ก ๋๋ฆฌ์ญ์์ค.
๋ํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค์ ๊ธฐ์กด ๋ฌธ์ ๋ ์๋ก์ด DBMS, ์ฌ์ง์ด ๋งค์ฐ ์์ฐ์ ์ธ DBMS๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์๋ค๋ ์ ์ ๊ธฐ์ตํ์ญ์์ค. ๋ด ๋ง์? ํ๋ก์ ํธ๊ฐ ์์๋ ๋ ์ฐ๋ฆฌ๋ ๊ณ ๊ฐ๋ค ์ฌ์ด์์ ์ด์ ์๋ก์ด ๋น ๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ ธ์ ์ด์๊ฐ ๊ฒ์ด๋ผ๋ ์ธ์์ ๋ฐ์์ต๋๋ค! ํ๋ก์ธ์ค๊ฐ ๋ ๋นจ๋ผ์ง๊ณ ๋ชจ๋ ๊ฒ์ด ์ ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก ๊ธฐ์ ์ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๊ฐ ์๊ณ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํฉ๋๋ค. ์๋ํ๋ฉด ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ ์ฌ๋์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์ ์ด ์๋ ์ฌ๋๊ณผ ํ๋ ฅํด์ผ ํฉ๋๋ค.
ํ ์คํธ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ ์ด๊ธฐ ๋จ๊ณ์์ ๊ณ ํต์ค๋ฝ๊ณ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๊ท ํ ์คํธ๋ฅผ ์ํํ๊ธฐ ์ํด ์๋ฌด๊ฒ๋ ํ ํ์๊ฐ ์๋ ๋จ๊ธฐ์ ์ธ ๊ฒฝ์ฐ์๋ ๊ธ์ ์ ์ธ ํจ๊ณผ๊ฐ ๋์ ๋๊ฒ ๋ํ๋ฉ๋๋ค.
๊ฐ๋ฐ์ ๋ชจ๋ ๋จ๊ณ์์ ๋ถํ ํ ์คํธ๋ฅผ ์ํํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ํคํ ์ฒ์ ๊ฒฐํจ์ ๋นจ๋ฆฌ ๋ฐ๊ฒฌํ ์๋ก ์์ ํ๊ธฐ๊ฐ ๋ ์ฌ์์ง๋ฉฐ, ์ด๋ ์์ผ๋ก ๋ง์ ์๊ฐ์ ์ ์ฝํด ์ค ๊ฒ์ ๋๋ค.
๋ฃจ์์๋ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Java ๊ฐ๋ฐ์, JavaScript ๊ฐ๋ฐ์, Python ๊ฐ๋ฐ์, ํ๋ฐํธ์๋ ๋๋ ๋ฐฑ์๋ ๋ฑ ๋๊ตฌ๋ ๊ธ์ฐ๊ธฐ๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค. ์ฌ์ง์ด ์ฐ๋ฆฌ ๋ถ์๊ฐ๋ค๋ ์ด์ ๋ํด ๊ธ์ ์๋๋ค.
SQL์ด ์๋ค๋ ์ฌ์ค์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด ์ฌ๋๋ค์ด ๊ฒ์ ๋จน์ต๋๋ค. โSQL ์์ด ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ป๋์? ๊ทธ๊ฒ ๊ฐ๋ฅํฉ๋๊น? ํ๋ฆผ์์ด. OLTP ํด๋์ค ์์คํ ์์๋ SQL์ด ํ์ํ์ง ์์ต๋๋ค. ๋ฌธ์ ์งํฅ ๋ณด๊ธฐ๋ก ์ฆ์ ๋์๊ฐ๋ ์ผ์ข ์ ์ธ์ด ํํ์ ๋์์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด GraphQL์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ์ฐ ์ปดํจํ ํํ์ ๋์์ด ์์ต๋๋ค.
ํ์ฅ์ด ํ์ํ๋ค๋ ๊ฒ์ ์ดํดํ๋ค๋ฉด ์์ญ ๊ฐ์ Tarantool ์ธ์คํด์ค์์ ๋ณ๋ ฌ๋ก ์คํ๋ ์ ์๋๋ก Tarantool์์ ์๋ฃจ์
์ ์ค๊ณํ์ญ์์ค. ์ด๋ ๊ฒ ํ์ง ์์ผ๋ฉด Tarantool์ด ํ๋์ ํ๋ก์ธ์ ์ฝ์ด๋ง ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋์ค์ ์ด๋ ต๊ณ ๊ณ ํต์ค๋ฌ์ธ ๊ฒ์
๋๋ค.
์ถ์ฒ : habr.com