์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์๋ ์ ๋ณด์ ํจ๊ป ์๊ตฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ Tarantool 2.8 DBMS์ ์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. DBMS๋ NoSQL ์์คํ (์: Memcached ๋ฐ Redis)์ ๋น ๋ฅธ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ํน์ฑ๊ณผ ๊ธฐ์กด DBMS(Oracle, MySQL ๋ฐ PostgreSQL)์ ์์ ์ฑ์ ๊ฒฐํฉํฉ๋๋ค. Tarantool์ C๋ก ์์ฑ๋์์ผ๋ฉฐ Lua์์ ์ ์ฅ ํ๋ก์์ ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ฝ๋๋ BSD ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
DBMS๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถํ๊ฐ ๋์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. Tarantool์ ๊ธฐ๋ฅ ์ค์๋ Lua ์ธ์ด๋ก ํธ๋ค๋ฌ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ(LuaJIT๊ฐ ๋ด์ฅ๋์ด ์์), ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ๋ MessagePack ํ์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ, ๋ ๊ฐ์ ๋ด์ฅ ์์ง์ด ์์(์ฌ์ค์ ์ ํตํด RAM์ ์ ์ฅ) ์๊ตฌ ๋๋ผ์ด๋ธ ๋ฐ LSM ํธ๋ฆฌ ๊ธฐ๋ฐ XNUMX๋ ๋ฒจ ๋์คํฌ ์คํ ๋ฆฌ์ง), ๋ณด์กฐ ํค ์ง์, XNUMX๊ฐ์ง ์ ํ์ ์ธ๋ฑ์ค(HASH, TREE, RTREE, BITSET), ๋ง์คํฐ-๋ง์คํฐ ๋ชจ๋์ ๋๊ธฐ ๋ฐ ๋น๋๊ธฐ ๋ณต์ ๋๊ตฌ, ์ฐ๊ฒฐ ์ธ์ฆ ๋ฐ ์ก์ธ์ค ์ ์ด, SQL ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ๊ธฐ๋ฅ.
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- memtx ์ธ๋ฉ๋ชจ๋ฆฌ ์์ง์ MVCC(๋ค์ค ๋ฒ์ ๋์์ฑ ์ ์ด)๊ฐ ์์ ํ๋์์ต๋๋ค.
- IPROTO ๋ฐ์ด๋๋ฆฌ ํ๋กํ ์ฝ์ ํธ๋์ญ์ ์ง์. ์ด์ ์๋ ํธ๋์ญ์ ์ ์ํํ๋ ค๋ฉด Lua์์ ์ ์ฅ ํ๋ก์์ ๋ฅผ ์์ฑํด์ผ ํ์ต๋๋ค.
- ๊ฐ๋ณ ํ ์ด๋ธ๊ณผ ๊ด๋ จํ์ฌ ์๋ํ๋ ๋๊ธฐ ๋ณต์ ๋ฅผ ์ง์ํฉ๋๋ค.
- RAFT ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐฑ์ ๋ ธ๋(์ฅ์ ์กฐ์น)๋ก ์๋ ์ ํํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ๋น๋๊ธฐ์ WAL ๊ธฐ๋ฐ ๋ณต์ ๋ ์ค๋ซ๋์ Tarantool์์ ๊ตฌํ๋์ด ์์ผ๋ฉฐ ์ด์ ๋ ๋ง์คํฐ ๋ ธ๋๋ฅผ ์๋์ผ๋ก ๋ชจ๋ํฐ๋งํ ํ์๊ฐ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ค๋ฉ์ด ํฌํจ๋ ํ ํด๋ก์ง์ ๊ฒฝ์ฐ ์๋ ๋ง์คํฐ ๋ ธ๋ ์ ํ๋ ๊ฐ๋ฅํฉ๋๋ค(๊ฐ์ ๋ฒํท์ ์ฌ์ฉํ์ฌ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐํฌํ๋ vshard ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ์ฉ๋จ).
- ๊ฐ์ ํ๊ฒฝ์์ ์์ ํ ๋ Tarantool ์นดํธ๋ฆฌ์ง ํด๋ฌ์คํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ๊ฐ์ ํฉ๋๋ค. Tarantool ์นดํธ๋ฆฌ์ง๋ ์ด์ ๋ถํ๋ฅผ ๋ ์ ์ ์งํฉ๋๋ค.
- ํด๋ฌ์คํฐ ๋ฐฐํฌ๋ฅผ ์ํ Ansible ์ญํ ์ ์์ ์ด ์ต๋ 15~20๋ฐฐ ๊ฐ์ํ๋์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋๊ท๋ชจ ํด๋ฌ์คํฐ ์์ ์ด ๋ ์ฌ์์ง๋๋ค.
- ์ด์ ๋ฒ์ >1.6 ๋ฐ <1.10์์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋จ์ํํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ ๋ํ๋ฌ์ต๋๋ค. ์ด ๋๊ตฌ๋ ์์ ์ ์ถ๊ฐ ์ต์ ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ์๋ ์์ ๋ฒ์ 1.10 ๋ฐฐํฌ๋ฅผ ํตํด ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํํด์ผ ํ์ต๋๋ค.
- ์์ ํํ์ ์ ์ฅ์ด ์ต์ ํ๋์์ต๋๋ค.
- ์ด์ SQL์ UUID๋ฅผ ์ง์ํ๊ณ ์ ํ ๋ณํ์ ๊ฐ์ ํฉ๋๋ค.
๋ฒ์ 2.10๋ถํฐ ๋ฆด๋ฆฌ์ค ์์ฑ์ ์ํ ์๋ก์ด ์ ์ฑ
์ผ๋ก ์ ํ๋๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ด ์ค๋จ๋ ์ค์ํ ๋ฆด๋ฆฌ์ค์ ๊ฒฝ์ฐ ๋ฒ์ ์ ์ฒซ ๋ฒ์งธ ์ซ์๊ฐ ๋ณ๊ฒฝ๋๊ณ , ์ค๊ฐ ๋ฆด๋ฆฌ์ค์ ๊ฒฝ์ฐ ๋ ๋ฒ์งธ ์ซ์, ์์ ๋ฆด๋ฆฌ์ค์ ๊ฒฝ์ฐ ์ธ ๋ฒ์งธ ์ซ์(2.10 ์ดํ์๋ ๋ฆด๋ฆฌ์ค 3.0.0์ด ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค)๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru