๋งค์ผ ์๋ฐฑ๋ง ๋ช
์ ์์ฒญ์๊ฐ ์ธํฐ๋ท์์ ๋์์์ ์์ฒญํฉ๋๋ค. ํ์ง๋ง ๋น๋์ค๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ ค๋ฉด ์๋ฒ์ ์
๋ก๋ํ ๋ฟ๋ง ์๋๋ผ ์ฒ๋ฆฌ๋ ์ํํด์ผ ํฉ๋๋ค. ์ด ์์
์ด ๋น ๋ฅผ์๋ก ์๋น์ค์ ์ฌ์ฉ์์๊ฒ ๋ ์ข์ต๋๋ค.
์ ์ด๋ฆ์ Askar Kamalov์ด๊ณ , XNUMX๋ ์ ์ Yandex ๋น๋์ค ๊ธฐ์ ํ์ ํฉ๋ฅํ์ต๋๋ค. ์ค๋ ์ ๋ Habr ๋ ์๋ค์๊ฒ ์ธ์ฝ๋ฉ ํ๋ก์ธ์ค๋ฅผ ๋ณ๋ ฌํํ์ฌ ์ฌ์ฉ์์๊ฒ ๋น๋์ค๋ฅผ ์ ๋ฌํ๋ ์๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์์๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ด ๊ฒ์๋ฌผ์ ์ฃผ๋ก ๋น๋์ค ์๋น์ค ๋ด๋ถ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ์ด์ ์ ์๊ฐํด ๋ณธ ์ ์ด ์๋ ์ฌ๋๋ค์๊ฒ ํฅ๋ฏธ๋ก์ธ ๊ฒ์
๋๋ค. ๋๊ธ์์ ์ง๋ฌธ์ ํ๊ณ ํฅํ ๊ฒ์๋ฌผ์ ๋ํ ์ฃผ์ ๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
์์
์์ฒด์ ๋ํ ๋ช ๋ง๋. Yandex๋ ๋ค๋ฅธ ์ฌ์ดํธ์์ ๋์์์ ๊ฒ์ํ๋ ๋ฐ ๋์์ด ๋ ๋ฟ๋ง ์๋๋ผ ์์ฒด ์๋น์ค๋ฅผ ์ํด ๋์์์ ์ ์ฅํ๋ ๋ฐ๋ ๋์์ด ๋ฉ๋๋ค. ์ค๋ฆฌ์ง๋ ํ๋ก๊ทธ๋จ, ๋ฐฉ์ก ์ค์ธ ์คํฌ์ธ ๊ฒฝ๊ธฐ, KinoPoisk์ ์ํ, Zen ๋ฐ News์ ๋น๋์ค ๋ฑ ์ด ๋ชจ๋ ๊ฒ์ด ๋น์ฌ ์๋ฒ์ ์
๋ก๋๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋น๋์ค๋ฅผ ์์ฒญํ๋ ค๋ฉด ํ์ํ ํ์์ผ๋ก ๋ณํํ๊ฑฐ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ธฐ์ ์ ์คํํ๋ ๋ฑ์ ์ค๋น๊ฐ ํ์ํฉ๋๋ค.
์์ฐจ ์ธ์ฝ๋ฉ
๋ฐ๋ผ์ ์ฌ์ฉ์์ ํ๋ณต์ ๋์์์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์ ๊ณต๋๋์ง์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ฃผ๋ก ํธ๋์ค์ฝ๋ฉ ์๋์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค. ๋น๋์ค ์ ๋ก๋ ์๋์ ๋ํ ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ด ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ถํ ํ ์ ์๋ ๋จ์ผ ํ์ผ์ ๊ฐ์ ธ์์ ๋ณํํ๊ณ ์ ๋ก๋ํฉ๋๋ค. ์ฌ์ ์ ์์ํ ๋ ์ฐ๋ฆฌ๊ฐ ์์ ํ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํด๋ผ์ด์ธํธ๋ ๋น๋์ค๋ฅผ ์คํ ๋ฆฌ์ง์ ์
๋ก๋ํ๊ณ , ๋ถ์๊ธฐ ๊ตฌ์ฑ ์์๋ ๋ฉํ ์ ๋ณด๋ฅผ ์์งํ๊ณ ๋ณํ์ ์ํด ๋น๋์ค๋ฅผ ์์
์ ๊ตฌ์ฑ ์์๋ก ์ ์กํฉ๋๋ค. ๋ชจ๋ ๋จ๊ณ๋ ์์ฐจ์ ์ผ๋ก ์ํ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ธ์ฝ๋ฉ ์๋ฒ๋ ์ฌ๋ฌ ๊ฐ๊ฐ ์์ ์ ์์ง๋ง ํน์ ๋น๋์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์๋ฒ๋ ๋จ ํ๋๋ง ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ๋จํ๊ณ ํฌ๋ช
ํ ๋ค์ด์ด๊ทธ๋จ. ์ด๊ฒ์ด ์ฅ์ ์ด ๋๋๋ ๊ณณ์
๋๋ค. ์ด ๊ตฌ์ฑํ๋ ๋ ๊ฐ๋ ฅํ ์๋ฒ ๊ตฌ๋งค๋ก ์ธํด ์์ง์ผ๋ก๋ง ํ์ฅํ ์ ์์ต๋๋ค.
์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ ์์ฐจ์ ์ธ์ฝ๋ฉ
๊ณ ํต์ค๋ฌ์ด ๊ธฐ๋ค๋ฆผ์ ์ด๋ป๊ฒ๋ ์ํํ๊ธฐ ์ํด ์ ๊ณ์์๋ ๋น ๋ฅธ ์ฝ๋ฉ ์ต์ ์ ๊ณ ์ํ์ต๋๋ค. ์ด๋ฆ์ ์คํด์ ์์ง๊ฐ ์์ต๋๋ค. ์ค์ ๋ก ์ ์ฒด ์ฝ๋ฉ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ํ๊ณ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค. ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ ํด์๋ ๋ฒ์ ์ ๋น๋์ค๋ฅผ ์ค๋นํ๊ณ ๊ฒ์ํ ๋ค์ ๊ณ ํด์๋ ๋ฒ์ ๋ง ๊ฒ์ํ๋ ๊ฒ์ ๋๋ค.
ํํธ์ผ๋ก๋ ๋น๋์ค๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ด์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ํ ํ์ฌ์ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ๋ฉด์ ์ฌ์ง์ด ํ๋ฆฟํ๊ฒ ๋ํ๋ ๋ณด๋ ์ฌ๋์ ์ง์ฆ๋๊ฒ ํฉ๋๋ค.
๋น๋์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ํ์ง๋ ์ ์งํด์ผ ํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ฌ์ฉ์๊ฐ ํ์ฌ ๋น๋์ค ์๋น์ค์ ๊ธฐ๋ํ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฅ ์์ฐ์ ์ธ ์๋ฒ๋ฅผ ๊ตฌ์ ํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ํ ๋ฒ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํด ๋ณด์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ํ๋์จ์ด๋ผ๋ ์๋๋ฅผ ๋ฆ์ถ๋ ๋น๋์ค๊ฐ ํญ์ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ง๋ค๋ฅธ ๊ณจ๋ชฉ์ ๋๋ค.
๋ณ๋ ฌ ์ธ์ฝ๋ฉ
๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ ๋ณต์กํ ์ฌ๋ฌ ๋ฌธ์ ๋ก ๋๋๊ณ ์ฌ๋ฌ ์๋ฒ์์ ๋์์ ํด๊ฒฐํ๋ ๊ฒ์ด ํจ์ฌ ๋ ํจ์จ์ ์ ๋๋ค. ๋์์์ฉ MapReduce ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์๋ฒ ํ ๋์ ์ฑ๋ฅ์ ์ ํ์ ๋ฐ์ง ์๊ณ ์ํ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค(์ ์์คํ ์ ์ถ๊ฐํ์ฌ).
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋น๋์ค๋ฅผ ์์ ์กฐ๊ฐ์ผ๋ก ๋๋๊ณ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ๊ณ ํจ๊ป ๋ถ์ด๋ ์์ด๋์ด๋ ๋น๋ฐ์ด ์๋๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ํ ๋ง์ ์ฐธ๊ณ ์๋ฃ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Habrรฉ์์ ํ๋ก์ ํธ์ ๋ํ ๊ฒ์๋ฌผ์ ์ถ์ฒํฉ๋๋ค.
๊ทธ๋์ ์๋ก์ด ์ํคํ ์ฒ์์๋ ์์ฐจ ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ๋ชจ๋๋ฆฌ์ Worker ๋ธ๋ก์ ๋ง์ดํฌ๋ก์๋น์ค Segmenter, Tcoder, Combiner๋ก ๋๋์์ต๋๋ค.
- Segmenter๋ ๋น๋์ค๋ฅผ ์ฝ 10์ด ๋จ์์ ์กฐ๊ฐ์ผ๋ก ๋๋๋๋ค. ์กฐ๊ฐ์ ํ๋ ์ด์์ GOP(
์ฌ์ง ๊ทธ๋ฃน ). ๊ฐ GOP๋ ๋ ๋ฆฝ์ ์ด๊ณ ๋ณ๋๋ก ์ธ์ฝ๋ฉ๋๋ฏ๋ก ๋ค๋ฅธ GOP์ ํ๋ ์์ ์ฐธ์กฐํ์ง ์๊ณ ๋์ฝ๋ฉํ ์ ์์ต๋๋ค. ์ฆ, ์กฐ๊ฐ์ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ํ ์ ์์ต๋๋ค. ์ด ์ค๋ฉ์ ๋๊ธฐ ์๊ฐ์ ์ค์ฌ ์ฒ๋ฆฌ๋ฅผ ๋ ์ผ์ฐ ์์ํ ์ ์๊ฒ ํด์ค๋๋ค. - Tcoder๋ ๊ฐ ์กฐ๊ฐ์ ์ฒ๋ฆฌํฉ๋๋ค. ๋๊ธฐ์ด์์ ์์ ์ ๊ฐ์ ธ์ ์ ์ฅ์์์ ์กฐ๊ฐ์ ๋ค์ด๋ก๋ํ๊ณ ์ด๋ฅผ ๋ค๋ฅธ ํด์๋๋ก ์ธ์ฝ๋ฉํ ๋ค์(ํ๋ ์ด์ด๊ฐ ์ฐ๊ฒฐ ์๋์ ๋ฐ๋ผ ๋ฒ์ ์ ์ ํํ ์ ์์์ ๊ธฐ์ตํ์ธ์) ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅ์์ ๋ค์ ๋ฃ๊ณ ์กฐ๊ฐ์ ์ฒ๋ฆฌ๋ ๊ฒ์ผ๋ก ํ์ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์. ๋ชจ๋ ์กฐ๊ฐ์ ์ฒ๋ฆฌํ ํ Tcoder๋ ๋ค์ ๊ตฌ์ฑ ์์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ์์ ์ ๋ณด๋ ๋๋ค.
- Combiner๋ ๊ฒฐ๊ณผ๋ฅผ ํจ๊ป ์์งํฉ๋๋ค. Tcoder์์ ๋ง๋ ๋ชจ๋ ์กฐ๊ฐ์ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ํ ํด์๋์ ๋ํ ์คํธ๋ฆผ์ ์์ฑํฉ๋๋ค.
์๋ฆฌ์ ๊ดํ ๋ช ๋ง๋. ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ AAC ์ค๋์ค ์ฝ๋ฑ์๋ ๋ถํธํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์กฐ๊ฐ์ ๋ณ๋๋ก ์ธ์ฝ๋ฉํ๋ฉด ์กฐ๊ฐ์ ์๋ฒฝํ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ ํ์ด ๋์ ๋๊ฒ ๋ํ๋ฉ๋๋ค. ๋น๋์ค ์ฝ๋ฑ์๋ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ก ์ ์ผ๋ก๋ ๋ณต์กํ ๊ธฐ์ ์๋ฃจ์ ์ ์ฐพ์ ์ ์์ง๋ง ์ด ๊ฒ์์ ์์ง ๊ฐ์น๊ฐ ์์ต๋๋ค(์ค๋์ค์ ๋ฌด๊ฒ๋ ๋น๋์ค๋ณด๋ค ํจ์ฌ ์ ์ต๋๋ค). ๋ฐ๋ผ์ ๋น๋์ค๋ง ๋ณ๋ ฌ๋ก ์ธ์ฝ๋ฉ๋๊ณ ์ค๋์ค ํธ๋ ์ ์ฒด๊ฐ ์ฒ๋ฆฌ๋ฉ๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
๋ณ๋ ฌ ๋น๋์ค ์ฒ๋ฆฌ ๋๋ถ์ ๋น๋์ค๊ฐ ์ฐ๋ฆฌ์๊ฒ ์ ๋ก๋๋๊ณ ์ฌ์ฉ์์๊ฒ ์ ๊ณต๋๊ธฐ๊น์ง์ ์ง์ฐ ์๊ฐ์ด ํฌ๊ฒ ์ค์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ด์ ์๋ 15์๊ฐ XNUMX๋ถ ๋์ ์ง์๋๋ FullHD ์ํ์ ๋ํด ์๋ก ๋ค๋ฅธ ํ์ง์ ์ฌ๋ฌ ํ ๋ฒ์ ์ ๋ง๋๋ ๋ฐ XNUMX์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค. ์ด์ ์ด ๋ชจ๋ ์์ ์ XNUMX๋ถ์ด ์์๋ฉ๋๋ค. ๋ํ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ํตํด ๊ธฐ์กด ์ค๊ฐ ๊ฒฐ๊ณผ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์ ํด์๋ ๋ฒ์ ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ๊ณ ํด์๋ ๋ฒ์ ์ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ ๋. ์ด์ ์ ๊ทผ ๋ฐฉ์์์๋ ์๋ฒ๊ฐ ์ถฉ๋ถํ์ง ์์๊ฑฐ๋ ์์ ์์ด ์ ํด ์ํ์์ต๋๋ค. ๋ณ๋ ฌ ์ฝ๋ฉ์ ์ฌ์ฉํ๋ฉด ์ฒ ์ฌํ์ฉ ๋น์จ์ ๋์ผ ์ ์์ต๋๋ค. ์ด์ ์ฒ ๊ฐ๊ฐ ๋๋ ์๋ฒ๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ ํญ์ ๋ฌด์ธ๊ฐ๋ก ๋ฐ์ฉ๋๋ค.
์ฌ์ค ์์ง ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋น๋์ค ์ ์ฒด๊ฐ ๋์ฐฉํ๊ธฐ ์ ์ ๋น๋์ค ์กฐ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์์ํ๋ฉด ์๋นํ ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ด ๋งํ๋ฏ์ด, ๋ ๋ง์ ๊ฒ์ด ์ฌ ๊ฒ์ ๋๋ค.
์์ ์์ ๋ถ์ผ์์ ์ฝ๊ณ ์ถ์ ์์ ์ด ๋ฌด์์ธ์ง ๋๊ธ๋ก ์ ์ด์ฃผ์ธ์.
์ ๊ณ ๋๋ฃ์ ๊ฒฝํ์ ๋ํ ์ ์ฉํ ๋งํฌ
SVE: Facebook ๊ท๋ชจ์ ๋ถ์ฐ ๋น๋์ค ์ฒ๋ฆฌ Archer๋ฅผ ํตํด Netflix์์ ๋ฏธ๋์ด ํ์ ์ ๋จ์ํํฉ๋๋ค. ๋ทํ๋ฆญ์ค ๊ธฐ์ ๋ธ๋ก๊ทธ
์ถ์ฒ : habr.com