์ด๋ค ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ ์ ์๋์ง์ ๋ํ ์์ด๋์ด์ ํ์๊ฐ ๋งค์ผ ๋ค์ํ ๊ท๋ชจ์ ๊ธฐ์ ์์ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์๋ค๋ ์ฌ์ค ์ธ์๋ ๋ชจ๋ธ์ ํ๊ฐํ๊ณ ์ป์ ๊ฒฐ๊ณผ๊ฐ ๋ฌด์์๊ฐ ์๋์ง ํ์ธํ๋ ๋ฐ ์๊ฐ์ ํฌ์ํด์ผ ํฉ๋๋ค. ๊ตฌํ ํ์๋ ๋ชจ๋ ๋ชจ๋ธ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ํ์ธํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ท๋ชจ์ ๊ด๊ณ์์ด ๋ชจ๋ ํ์ฌ์์ ์๋ฃํด์ผ ํ๋ ๋ชจ๋ ๋จ๊ณ์ ๋๋ค. Sberbank์ ๊ท๋ชจ์ ์ ์ฐ์ ๊ดํด ์ด์ผ๊ธฐํ๋ฉด ๋ฏธ์ธ ์กฐ์ ํ์๊ฐ ํฌ๊ฒ ๋์ด๋ฉ๋๋ค. 2019๋ ๋ง๊น์ง Sber๋ ์ด๋ฏธ 2000๊ฐ ์ด์์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ต๋๋ค. ๋จ์ํ ๋ชจ๋ธ์ ๊ฐ๋ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๊ณ , ์ฐ์ ์์คํ ๊ณผ ํตํฉํ๊ณ , ๋ชจ๋ธ ๊ตฌ์ถ์ ์ํ ๋ฐ์ดํฐ ๋งํธ๋ฅผ ๊ฐ๋ฐํ๊ณ , ํด๋ฌ์คํฐ์์์ ์๋์ ์ ์ดํ ์ ์์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ ํ์ Sber.DS ํ๋ซํผ์ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ๊ณ ํ์ต ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๊ฐ์ค ํ ์คํธ ํ๋ก์ธ์ค์ ์๋๋ฅผ ๋์ด๋ฉฐ ์์น์ ์ผ๋ก ๋ชจ๋ธ ๊ฐ๋ฐ ๋ฐ ๊ฒ์ฆ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ PROM์์ ๋ชจ๋ธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ดํ ์๋ ์์ต๋๋ค.
์ฌ๋ฌ๋ถ์ ๊ธฐ๋๋ฅผ ์์ด์ง ์๊ธฐ ์ํด ์ด ๊ฒ์๋ฌผ์ ์๊ฐ์ฉ ๊ฒ์๋ฌผ์ด๋ผ๋ ์ ์ ๋ฏธ๋ฆฌ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ์ฐ์ , ์์น์ ์ผ๋ก Sber.DS ํ๋ซํผ์ ๋ด๋ถ์ ๋ฌด์์ด ์๋์ง์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค. ๋ชจ๋ธ์ ์์ฑ๋ถํฐ ๊ตฌํ๊น์ง์ ๋ผ์ดํ์ฌ์ดํด์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ๋ณ๋๋ก ์ ํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
Sber.DS๋ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋๋ฉฐ, ํต์ฌ ๊ตฌ์ฑ ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ฐ๋ฐ ์์คํ ๋ฐ ๋ชจ๋ธ ์คํ ์์คํ ์ ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ชจ๋ธ ๊ฐ๋ฐ ์์ด๋์ด๊ฐ ๋ํ๋๋ ์๊ฐ๋ถํฐ PROM ๊ตฌํ, ๋ชจ๋ํฐ๋ง ๋ฐ ํ๊ธฐ๊น์ง ๋ชจ๋ธ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ ์ดํฉ๋๋ค. ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ์ ๊ต์ก ๋ฐ ๊ฒ์ฆ ์ํ์ ๋ณด๊ณ ๋ฐ ์ ์ฅ๊ณผ ๊ฐ์ ๊ท์ ๊ธฐ๊ด ๊ท์น์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ์ฌ์ค, ์ด๊ฒ์ ์ฐ๋ฆฌ์ ๋ชจ๋ ๋ชจ๋ธ์ ๋ฑ๋ก์ ๋๋ค.
๊ฐ๋ฐ ์์คํ ์ ๋ชจ๋ธ ๋ฐ ๊ฒ์ฆ ๊ธฐ์ ์ ์๊ฐ์ ๊ฐ๋ฐ์ ์ํด ์ค๊ณ๋์์ต๋๋ค. ๊ฐ๋ฐ๋ ๋ชจ๋ธ์ ์ด๊ธฐ ๊ฒ์ฆ์ ๊ฑฐ์ณ ์คํ ์์คํ ์ ๊ณต๊ธ๋์ด ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค. ๋ํ ๋ฐํ์ ์์คํ ์์๋ ๋ชจ๋ธ์ ์๋์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ๊ฒ์ฆ ๊ธฐ์ ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ๊ธฐ ์ํด ๋ชจ๋ธ์ ๋ชจ๋ํฐ์ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
์์คํ ์๋ ์ฌ๋ฌ ์ ํ์ ๋ ธ๋๊ฐ ์์ต๋๋ค. ์ผ๋ถ๋ ๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ์ฐ๊ฒฐํ๋๋ก ์ค๊ณ๋์๊ณ , ๋ค๋ฅธ ์ผ๋ถ๋ ์์ค ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ ๊ฐํ(๋งํฌ์ )ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ค์ํ ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ง์ ๋ ธ๋์ ์ด๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํ ๋ ธ๋๊ฐ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋ชจ๋ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๊ณ ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณํ, ํํฐ๋ง, ์๊ฐํํ๊ณ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
ํ๋ซํผ์๋ ์ค๊ณ ์์ญ์ผ๋ก ๋์ด๋ค ๋์ ์ ์๋ ๊ธฐ์ฑ ๋ชจ๋๋ ํฌํจ๋์ด ์์ต๋๋ค. ๋ชจ๋ ์์ ์ ์๊ฐํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ์ค์ ๋ก ํ ์ค์ ์ฝ๋ ์์ด๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ด์ฅ๋ ๊ธฐ๋ฅ์ด ์ถฉ๋ถํ์ง ์์ ๊ฒฝ์ฐ ์์คํ
์ ์์ ๋ง์ ๋ชจ๋์ ์ ์ํ๊ฒ ์์ฑํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํตํฉ ๊ฐ๋ฐ ๋ชจ๋๋ฅผ ๋ง๋ค์์ต๋๋ค.
Sber.DS์ ์ํคํ ์ฒ๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ๋ฌด์์ธ์ง์ ๋ํด์๋ ๋ง์ ์๊ฒฌ์ด ์์ต๋๋ค. ์ด๋ค ์ฌ๋๋ค์ ๋ชจ๋๋ฆฌ์ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ์ง๋ง ๋์์ ์ฌ์ ํ ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ด๋ํฉ๋๋ค. ์ฐ๋ฆฌ์ ๋ง์ดํฌ๋ก์๋น์ค๋ REST API๋ฅผ ํตํด์๋ง ๋ค๋ฅธ ๋ง์ดํฌ๋ก์๋น์ค์ ํต์ ํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ก์ธ์คํ ์ ์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์๋น์ค๊ฐ ๋๋ฌด ์ปค์ง๊ณ ์ํฌ๋ฅด๊ฒ ๋์ง ์๋๋ก ๋
ธ๋ ฅํฉ๋๋ค. ํ๋์ ์ธ์คํด์ค๋ 4~8GB ์ด์์ RAM์ ์๋นํด์๋ ์ ๋๋ฉฐ, ์ ์ธ์คํด์ค๋ฅผ ์์ํ์ฌ ์์ฒญ์ ์ํ์ ์ผ๋ก ํ์ฅํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๊ฐ ์๋น์ค๋ REST API(
์ ํ๋ฆฌ์ผ์ด์
์ ํต์ฌ์ Spring Framework๋ฅผ ์ฌ์ฉํ์ฌ Java๋ก ์์ฑ๋ฉ๋๋ค. ์๋ฃจ์
์ ์ฒ์์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ์ ์ํ๊ฒ ๋ฐฐํฌํ๋๋ก ์ค๊ณ๋์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์ปจํ
์ด๋ํ ์์คํ
์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์์ต๋๋ค.
์ฐ๋ฆฌ ํ๋ซํผ์ ๊ธฐ๋ฅ ์ค ํ๋๋ ๋ชจ๋ Sberbank ๋ชจ๋ธ ์คํ ์์คํ ์์ ์๊ฐ์ ์ธํฐํ์ด์ค๋ก ๊ฐ๋ฐ๋ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ์ด๋ฏธ ๋ ๊ฐ๊ฐ ์์ต๋๋ค. ํ๋๋ Hadoop์, ๋ค๋ฅธ ํ๋๋ OpenShift(Docker)์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฑฐ๊ธฐ์ ๋ฉ์ถ์ง ์๊ณ ์จํ๋ ๋ฏธ์ค์ ํด๋ผ์ฐ๋๋ฅผ ํฌํจํ ๋ชจ๋ ์ธํ๋ผ์์ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํ ํตํฉ ๋ชจ๋์ ๋ง๋ญ๋๋ค. Sberbank ์ํ๊ณ์ ํจ๊ณผ์ ์ผ๋ก ํตํฉํ ์ ์๋ ๊ฐ๋ฅ์ฑ๊ณผ ๊ด๋ จํ์ฌ ๊ธฐ์กด ์คํ ํ๊ฒฝ๊ณผ์ ์์ ๋ ์ง์ํ ๊ณํ์ ๋๋ค. ์์ผ๋ก ์ด ์๋ฃจ์ ์ ๋ชจ๋ ์กฐ์ง์ ๋ชจ๋ ํ๊ฒฝ์ "์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅ"ํ๊ฒ ์ ์ฐํ๊ฒ ํตํฉ๋ ์ ์์ต๋๋ค.
PROM์ Hadoop์์ Python์ ์คํํ๋ ์๋ฃจ์ ์ ์ง์ํ๋ ค๊ณ ์๋ํ ์ฌ๋๋ค์ ๊ฐ ๋ฐ์ดํฐ ๋ ธ๋์ Python ์ฌ์ฉ์ ํ๊ฒฝ์ ์ค๋นํ๊ณ ์ ๊ณตํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. Python ๋ชจ๋์ ์ฌ์ฉํ๋ ์๋ง์ ๊ธฐ๊ณ ํ์ต์ฉ C/C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ๋ฌ๋ถ์ ํธํ ์ฌ๊ฒ ํ์ง ์์ ๊ฒ์ ๋๋ค. ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ฒ๋ฅผ ์ถ๊ฐํ ๋ ์ด๋ฏธ ๊ตฌํ๋ ๋ชจ๋ธ ์ฝ๋์์ ํ์ ํธํ์ฑ์ ์ ์งํ๋ฉด์ ํจํค์ง๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋ค๋ ์ ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค.
์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์ฃผ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ์ค๋นํ์ฌ PROM์ ๊ตฌํํด ๋ณด์ธ์. Cloudera์ Hadoop ๋ฐฐํฌํ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ฌ์ฉํฉ๋๋ค.
์ํ์ ์ XNUMX์ ์ฝ๋ ์คํ์ ๋ณด์์ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํ๋ฏ๋ก ํ๋ก์ธ์ค๊ฐ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํ๋๋ Linux ์ปค๋์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํฉ๋๋ค.
์ฌํด ์ฐ๋ฆฌ๋ Hadoop์์ Python/R/Java๋ก ์์ฑ๋ ๋ชจ๋ธ ์ถ์์ MVP๋ฅผ ์๋ฃํ ๊ณํ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ซํผ ์ฌ์ฉ์๋ฅผ ์ด๋ค ์์ผ๋ก๋ ์ ํํ์ง ์๊ธฐ ์ํด Hadoop์์ ์ฌ์ฉ์ ์ ์ ํ๊ฒฝ์ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ์ผ์ฌ ์ฐฌ ์์ ์ ์ค์ค๋ก ์ค์ ํ์ต๋๋ค.
๋ํ ๋ง์ DS ์ ๋ฌธ๊ฐ๋ ์ํ๊ณผ ํต๊ณ์ ๋ฐ์ด๋๊ณ ๋ฉ์ง ๋ชจ๋ธ์ ๋ง๋ค์ง๋ง ๋น ๋ฐ์ดํฐ ๋ณํ์ ๋ํด์๋ ์ ์์ง ๋ชปํ๋ฉฐ ๊ต์ก ์ํ์ ์ค๋นํ๋ ค๋ฉด ๋ฐ์ดํฐ ์์ง๋์ด์ ๋์์ด ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋๋ฃ๋ค์ ๋์ Spark ์์ง ๋ชจ๋ธ์ ํ์ค ๋ณํ ๋ฐ ๊ธฐ๋ฅ ์ค๋น๋ฅผ ์ํ ํธ๋ฆฌํ ๋ชจ๋์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฐ์ดํฐ ์์ง๋์ด๊ฐ ์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ค๋นํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ชจ๋ธ ๊ฐ๋ฐ์ ๋ ๋ง์ ์๊ฐ์ ํฌ์ํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ Linux ๋ฐ DevOps, Hadoop ๋ฐ Spark, Java ๋ฐ Spring, Scala ๋ฐ Akka, OpenShift ๋ฐ Kubernetes ๋ฑ ๋ค์ํ ๋ถ์ผ์ ๋ํ ์ง์์ ๊ฐ์ถ ์ธ๋ ฅ์ ์ฑ์ฉํฉ๋๋ค. ๋ค์ ์๊ฐ์๋ ๋ชจ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ชจ๋ธ์ด ํ์ฌ ๋ด ๋ผ์ดํ์ฌ์ดํด์ ํต๊ณผํ๋ ๋ฐฉ๋ฒ, ๊ฒ์ฆ ๋ฐ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com