PayPal์ ํค-๊ฐ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ด๊ฒฐํจ์ฑ DBMS์ธ JunoDB์ ์์ค ์ฝ๋๋ฅผ ๊ณต๊ฐํ์ต๋๋ค. ์ด ์์คํ ์ ์๋ ๋์ ๋ณด์, ์ํ ํ์ฅ์ฑ, ๋ด๊ฒฐํจ์ฑ ๋ฐ ์์ธก ๊ฐ๋ฅํ ์ง์ฐ์ ์ผ๋์ ๋๊ณ ์์ญ๋ง ๊ฐ์ ๋์ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ ์ผ๋์ ๋๊ณ ์ค๊ณ๋์์ต๋๋ค. PayPal์์๋ ์ฌ์ฉ์ ๋ก๊ทธ์ธ๋ถํฐ ๊ธ์ต ๊ฑฐ๋ ์ฒ๋ฆฌ๊น์ง ๊ฑฐ์ ๋ชจ๋ ์๋น์ค๊ฐ JunoDB์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Go(Java ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ก ์์ฑ๋์์ผ๋ฉฐ Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์ถ๊ฐ ๊ฐ๋ฐ์์๋ ์ปค๋ฎค๋ํฐ์ ์์ , ๊ฐ์ ๋ฐ ๋ณ๊ฒฝ์ด ํ์ฉ๋ฉ๋๋ค.
JunoDB ์ํคํ ์ฒ๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ์ ์๋ฝํ๊ณ ์์ฒญ์ด ์์ ๋ ์คํ ๋ฆฌ์ง ์๋ฒ ๊ทธ๋ฃน์ ๋์์ ์ก์ธ์คํ๋ ํ๋ก์ ์๋ฒ ๊ฐ์ ์ด๋ฅผ ๋ฐฐํฌํ๋ ๋ก๋ ๋ฐธ๋ฐ์์ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๊ฐ ํ๋ก์๋ ๋ชจ๋ ์คํ ๋ฆฌ์ง ์๋ฒ์ ๋ํ ์ฐ๊ฒฐ์ ํ ๋ฒ์ ์ค์ ํ๊ณ etcd ๊ตฌ์ฑ์ ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ ์ ์ ์ฅ๋ ํํฐ์ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฒญ์ ์คํ ๋ฆฌ์ง ์๋ฒ ๊ทธ๋ฃน์ผ๋ก ๋ฆฌ๋๋ ์ ํฉ๋๋ค.
ํด๋ฌ์คํฐ์์ ๋ ธ๋๊ฐ ๋์ด๋๊ฑฐ๋ ์ค์ด๋ค ๋ ๋ฐ์ดํฐ ์ด๋์ ์ค์ด๊ธฐ ์ํด ํด์ฑ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๊ณ ์คํ ๋ฆฌ์ง ๋ ธ๋์ ๋ฐ์ธ๋ฉํฉ๋๋ค. ๋ด๊ฒฐํจ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ฐ์ดํฐ์ ๊ฐ ๋ถ๋ถ์ด ์ฌ๋ฌ ์คํ ๋ฆฌ์ง ๋ ธ๋์ ๋ณต์ ๋๋ฏ๋ก ๊ฐ๋ณ ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. ๋ ธ๋ ๊ทธ๋ฃน์ด ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์ ์์นํ๋ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์คํ ๋ฆฌ์ง ์์ฑ์ด ์ง์๋ฉ๋๋ค.
์คํ ๋ฆฌ์ง ๋ ธ๋์์ ๋ฐ์ดํฐ๋ RocksDB ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ RAM ๋๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ฐฐ์น๋ฉ๋๋ค. ์๊ตฌ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ํธํ๋ ํ์์ผ๋ก ์ ์ฅ๋ฉ๋๋ค(์ํธํ ํค๋ ํด๋ผ์ด์ธํธ์์ ๊ฒฐ์ ํ๊ณ ํ๋ก์ ์์ค์์ ์ค์ ํ ์ ์์).
์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๊ธฐ ์ํด Java, Go ๋ฐ C++ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ API๋ฅผ ์ ๊ณตํ๋ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ ๋ถ๋ถ์ ์ต๋ํ ๋จ์ํํ๊ณ , ๋ณต์กํ ๋ก์ง๊ณผ ์ค์ ์ ๊ฐ๋ฅํ๋ฉด DBMS ์ชฝ์ผ๋ก ์ฎ๊ฒผ์ต๋๋ค. ํด๋ผ์ด์ธํธ์ ๋ฐธ๋ฐ์ ๋๋ ํ๋ก์ ๊ฐ์ ์ํธ ์์ฉ์ ์ํธํ๋ ํต์ ์ฑ๋์ ํตํด ์ํ๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ API์ ์ ์ฒด ๊ธฐ๋ฅ์ ๋ชจ๋ฐฉํ๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ์ ๊ด๋ฆฌํ๊ณ ๋ณด๋ผ ์ ์์ต๋๋ค.
์ด ์์คํ ์ n1-highmem-32 ํ๊ฒฝ(Intel Xeon 32GHz CPU 2.30๊ฐ, 214G RAM ๋ฐ 450G SSD ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง)์์ ํ์ฑ๋ 2.5๊ฐ์ ์คํ ๋ฆฌ์ง ๋ ธ๋์ 95๊ฐ์ ํ๋ก์๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ์ ๊ฐ์ด ์์ธก ๊ฐ๋ฅํ๊ณ ์งง์ ๋๊ธฐ ์๊ฐ์ผ๋ก ์์ฒญ์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. , 16๋ง ๊ฐ์ ๋์ TLS ์ฐ๊ฒฐ ๋ฐ ์ด๋น 99๊ฐ์ ์์ฒญ ํ๋ฆ(200๊ฐ์ ๋์ ์ฐ๊ฒฐ ๋ฐ 15๊ฐ์ ์์ฒญ ํ๋ฆ)์ ์ฒ๋ฆฌํ ๋ 3000%์ ๊ฒฝ์ฐ 80ms, 6%์ ๊ฒฝ์ฐ 95ms๋ฅผ ์ด๊ณผํ์ง ์๋ ๊ณ ์ ์ง์ฐ์ ์ ๊ณตํ ์ ์์์ต๋๋ค. ์ด๋น ์ง์ฐ์ 15%์ ๊ฒฝ์ฐ 99ms๋ฅผ ์ด๊ณผํ์ง ์์๊ณ 350%์ ๊ฒฝ์ฐ XNUMXms๋ฅผ ์ด๊ณผํ์ง ์์์ต๋๋ค). PayPal์ JunoDB ๊ธฐ๋ฐ ์๋น์ค๋ ํ๋ฃจ์ ์ฝ XNUMX์ต ๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค.
์ถ์ฒ : opennet.ru