๐ ์ด ๊ธ์ ์ ์ฐ๋๊ฐ
์๋ฒ์ ๋คํธ์ํฌ. ์น์ ๋์์๋ฆฌ๋ฅผ ์๊ณ ๋๋ ๊ถ๊ธํ ๊ฒ ํ๋๋์ฉ ๋ ์๊ฒจ๋ฌ๋ค. ๋๊ท๋ชจ ํธ๋ํฝ์ ๋ํด ๋์ํ๋ ค๋ฉด ๋ถ์ฐ ์๋ฒ ์ํคํ ์ฒ ์ค๊ณ๋ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง, DB๋ ์ด๋ป๊ฒ ์ฎ์ด์ผ ํ๋์ง, ๊ฒ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ฐ๋ฐ์ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง, ๋๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์ด๋ป๊ฒ ๋ง๋ค์ด์ผ ํ๋์ง ์ฃผ๋ก ๋ณด๋ฉด DB์ ์๋ฒ์ ๊ดํ ๊ถ๊ธ์ฆ์ด ์ฃผ์ธ ๊ฑธ ๋ด์ ๋ฐ์ดํฐ ๋ถ์ผ์ ๋์์ ๋ฐฑ์๋๋ฅผ ํ๋๋ผ๋ ์ด์ชฝ ๋ถ์ผ์ ์ ๋ ํ๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ์ฝ๊ฐ ๋ค์ฃฝ๋ฐ์ฃฝ ์์ธ ์ฑ๋ก ์ ๋ฆฌํ ๊ฒ ๊ฐ์๋ฐ ์ด์ ์ง์ง ์ ๋๋ก ํ๊ณ ์ถ์ ๊ฒ๋ค์ด ์ ํด์ง ๋๋์ด๋ค ๐
๐ฉ ์น ๊ฐ๋ฐ์๋ฅผ ์ํ ๋๊ท๋ชจ ์๋น์ค๋ฅผ ์งํฑํ๋ ๊ธฐ์ - ์ดํ ๋์ค์ผ, ๋ค๋์นด ์ ์ง ๊ณต์
๋๋์ ์ก์ธ์ค๊ฐ ์๋ ์๋น์ค์์๋ ์๋ฒ 1๋๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋ถํ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง๊ฐ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ค. ์ต๊ทผ 10๋ ๋์์ ํธ๋ ๋๋ก๋ ์ด๋ฅธ๋ฐ '์ค์ผ์ผ์์'์ด ์ด ๋ฌธ์ ์ ๋ํ ์ ๋ต์ ๊ธฐ์ด๊ฐ ๋๋ค. ์ค์ผ์ผ์์์ ์๋ฒ๋ฅผ ํก์ผ๋ก ์ ๊ฐ, ์ฆ ์๋ฒ์ ์ญํ ์ ๋ถ๋ดํ๊ฑฐ๋ ๋์๋ฅผ ๋๋ฆผ์ผ๋ก์จ ์์คํ ์ ์ ์ฒด์ ์ธ ์ฒ๋ฆฌ๋ฅ๋ ฅ์ ๋์ฌ์ ๋ถํ๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ๋ฉด ์ค์ผ์ผ์ ์ ํ๋์จ์ด์ ์ฑ๋ฅ์ ๋์ฌ ์ฒ๋ฆฌ๋ฅ๋ ฅ์ ๋์ด์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋ฅผ ๋ค๋ฉด ์ฌ์ฉ์๋ก๋ถํฐ์ ์์ฒญ์ ์ด๋ป๊ฒ ๋ถ๋ฐฐํ ๊ฒ์ธ๊ฐ? ํด๋ต์ผ๋ก๋ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ธ๋ฐ, ์๋ฒ 1๋์ผ ๋์๋ ์ ์ด์ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ๋์ ํ๋ ๊ฒ ์์ฒด๋ฅผ ์๊ฐํ ํ์๋ ์์ ๊ฒ์ด๋ค. ๋ฐ์ดํฐ ๋๊ธฐํ๋ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ? DB๋ฅผ ๋ถ์ฐ์์ผฐ์ ๋ ํ์ชพ์ ์ ์ฅ๋ ๊ฐฑ์ ๋ด์ฉ์ ๋ค๋ฅธ ํ์ชฝ DB๊ฐ ์์ง ๋ชปํ๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น์ ์ ์ฌํ๊ฐ ๋ฐ์ํ๋ค. ๋คํธ์ํฌ ํต์ ์ ์ง์ฐ์๊ฐ(latency)์ ์ด๋ป๊ฒ ์๊ฐํด ๋ณผ ์ ์์๊น? ์์ ๋ฐ์ดํฐ๋ผ๋ ์ด๋๋ท์ ๊ฒฝ์ ํด์ ํต์ ํ ๊ฒฝ์ฐ๋ ๋ฐ๋ฆฌ์ด ๋จ์์ ์ง์ฐ์๊ฐ์ด ์๋ค. ํต์ ์ ์ค๋ฒํค๋๋ฅผ ์ค์ฌ๊ฐ๋ฉด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํด๊ฐ ํ์๊ฐ ์๋ค. ๊ทธ๋ฐ์ ์ค์ผ์ผ์์์ ๋๋ฐํ๋ ๋ฌธ์ ๋ ๋ค๋ฐฉ๋ฉด์ ๊ฑธ์ณ ์๋ค.
์ค์ผ์ผ์์์ ํด์ ์๋ฒ ๋์๊ฐ ๋์ด๋๋ฉด ์๋ฒ์ ๊ณ ์ฅ๋ฅ ๋ ํ์ฐ์ ์ผ๋ก ์ฌ๋ผ๊ฐ๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด๋๊ฐ ์๋ชป๋๋ฉด ์๋น์ค๊ฐ ์ ๋ถ ์ ์งํด๋ฒ๋ฆฌ๋ ์ค๊ณ๋ 24์๊ฐ 365์ผ ๊ณ์ ๊ฐ๋๋์ด์ผ ํ๋ ์น ์๋น์ค์์๋ ๋์ ํ ์ฉ๋ฉํ ์ ์๋ค. ์๋น์ค๊ฐ ๋๊ท๋ชจํ๋๋ฉด ๋ ์๋ก ์์คํ ์ ์ง์ ์ฌํ์ ์ถฉ๊ฒฉ๋ ๋์ด๋๋ฏ๋ก ๋์ฑ ๋ ๋ค์ค์ฑ ํ๋ณด๊ฐ ์ค์ํด์ง๋ค. ์์คํ ์ด ๊ณ ์ฅ ๋๋ฉด ๊ทธ๊ฑฐ๋ก ๋์ด์ด๋ ๊ด์ฐฎ์ ์์คํ ๊ตฌ์ถ๊ณผ ๊ณ ์ฅ ๋๋๋ผ๋ ๋ค๋ฅธ ์์คํ ์ด ์๋์ ์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ์ธ๊ณ๋ฐ๋ ์์คํ ๊ตฌ์ถ ๊ฐ์๋ ๊ธฐ์ ์ ์ผ๋ก๋ ๋น์ฉ๋ฉด์์ ์๋นํ ํฐ ์ฐจ์ด๊ฐ ์๋ค.
์ปดํจํฐ๋ ๋์คํฌ(ํ๋๋์คํฌ)์์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํด์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ, ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ CPU๊ฐ ํจ์น(fetch)ํด์ ํน์ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค. ๋ํ ๋ฉ๋ชจ๋ฆฌ์์ ํจ์น๋ ๋ช ๋ น์ ๋ณด๋ค ๋น ๋ฅธ ์บ์(cache)๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑ๋๋ค. ์ด์ฒ๋ผ ๋ฐ์ดํฐ๋ ๋์คํฌ -> ๋ฉ๋ชจ๋ฆฌ -> ์บ์๋ฉ๋ชจ๋ฆฌ -> CPU์ ๊ฐ์ด ๋ช ๋จ๊ณ๋ฅผ ๊ฒจ์ ํด์ ์ฒ๋ฆฌ๋์ด ๊ฐ๋ค. ๋์คํฌ๋ก๋ถํฐ ์ฝ์ด๋ค์ธ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑํด๋ ์ผ๋ก์จ ์ ๋ฐ์ ์ผ๋ก ๋๋ฐ์ด์ค๊ฐ ์๋์ฐจ๊ฐ ์ฒด๊ฐ ์๋์ ์ํฅ์ ์ฃผ์ง ์๋๋ก ํ๊ณ ์๋ค. DB๋ฅผ ๋น๋กฏํ ๋ฏธ๋ค์จ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ์๋์ฐจ๋ฅผ ์์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ, ๊ตฌํ์ ์ฑ์ฉํ๊ณ ์๋ค. ํ์ง๋ง ๊ทธ๋๋ ํ๊ณ๋ ์๋ค. ๋ฐ์ดํฐ๋์ด ๋ง์์ง๋ฉด ์ฒ์๋ถํฐ ์บ์ ๋ฏธ์ค(cache miss)๊ฐ ๋ง์ด ๋ฐ์ํ๊ฒ ๋๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ก ์ ์์ ๋์คํฌ๋ก์ I/O๊ฐ ๋ง์ด ๋ฐ์ํ๊ฒ ๋๋ค. ์ด์ฒ๋ผ ๋๊ท๋ชจ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ฉํ ๋ ๋๋ถ๋ถ์ ์ด๋ ค์์ ์ด๋ฌํ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ง์ค๋๋ค. ์ด๋ป๊ฒ ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ๊ฒ ๊ฐ์ ธ๊ฐ ์ ์์๊น, ์ฌ๋ฌ ์๋ฒ๋ก ๋ถ์ฐ์ํฌ ์ ์์ ๊น, ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ต์ํ์ ํ์๋ก ์ฝ์ด๋ค์ผ ์ ์์๊น ๋ฑ๋ฑ ์ด๊ฒ์ด ๋ณธ์ง์ ์ธ ๊ณผ์ ๊ฐ ๋๋ค.
์ 1 ํฌ์ธํธ '๋ฉ๋ชจ๋ฆฌ ๋ด์์ ๊ณ์ฐํ ์ ์๋ค' ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ๊ณ์ฐํ ์ ์๊ฒ ๋๋ฉด ๋์คํฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ํ์๊ฐ ์๋ค. ํ์ง๋ง ๋์คํฌ๋ ๋๋ฆฌ๋ฏ๋ก I/O์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ ๊ธฐ์ ์ธ ๋ถํ์ด๋ฏ๋ก ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ์ ํ์์๋์ ๊ทธ๋ค์ง ๊ด๊ณ์๋ค. ํ์ง๋ง ๋ฐ์คํฌ๋ ๋ฉ๋ชจ๋ฆฌ์๋ ๋ฌ๋ฆฌ ํ์ ๋ฑ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์์ ์๋ฐํ๊ณ ์๋ค. ์ด๋ฐ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๊ฐ ํ์ ์๋์ ์ํฅ์ ์ค๋ค. ๋ฐ์ดํฐ๊ฐ ๋ง์์ง๋ฉด ๋ง์์ง์๋ก ๋์คํฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฐจ์ด๋ ๋ํ๋๊ฒ ๋๋ฏ๋ก ์ ์ก์๋์์๋ ๋์คํฌ๋ ๋ฆ์ด์ง๋ค. os๋ ๋ฒจ์์์ ์ฐ๊ตฌ์ ์ ์ก์๋, ๋ฒ์ค์ ์๋์ฐจ ๊ณต๋ถ๋ ํ์.
์ผ๋ฐ์ ์ผ๋ก ๋ถํ๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋ถ๋ฅ๋๋ค. CPU๋ถํ/ I/O๋ถํ.
DBํ์ฅ์ฑ์ ํ๋ณดํ๋ ๊ฒ์ ์๋นํ ์ด๋ ต๋ค. ๋๊ท๋ชจ ํ๊ฒฝ์์๋ I/O๋ถํ๋ฅผ ๋ถ๋ดํ๊ณ ์๋ ์๋ฒ๋ ์ ์ด์ ๋ถ์ฐ์ํค๊ธฐ ์ด๋ ค์ด๋ฐ๋ค๊ฐ ๋์คํฌ I/O๊ฐ ๋ง์ด ๋ฐ์ํ๋ฉด ์๋ฒ๊ฐ ๊ธ์ ๋๋ ค์ง๋ ๋ณธ์ง์ ์ธ ๋ฌธ์ ๊ฐ ์๋ค. ์ด๋๊ฐ์ ์์คํ ์ ์ด์ฉํ๋ฉด์ ๋ฌด๊ฒ๊ฒ ๋๊ปด์ง๋ค๊ณ ํด์ '์๋ฒ๋ฅผ ๋๋ฆฌ์ง'๋ผ๊ณ ์๊ฐํ๋ ๊ฒ์ ์ํํ๋ค(claire ์กฐ์ฌํด๋ผ...)
๐ฉhttps://www.youtube.com/watch?v=rCbzilpjsdY ํ๋ฃจ 400์ต ๊ฑด์ ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ | ๋ผ์ธ๊ฐ๋ฐ์ค๋ก
๊ธฐ์กด์ฒ๋ผ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ๋ฉด ํธ๋ํฝ์ด ๋ง์์ง๋ฉด ์๋ฒ๋ฅผ ์ค์ผ์ผ์์ํ๋ฉด ๋์ง ์๋? ๋ฐ์ดํฐ๊ฐ ๋ง์์ง๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋๋ฆฌ๋ฉด ๋์ง ์๋? ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฌ๋งํด์ ๊ฑฐ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ์๋ฒ๋ฅผ ๋ ์ฐ๋ฉด ๋์ง ์๋? ์ ๊ทธ๋ฌ๋ฉด, ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ๋ง์์ DB๊ฐ ์ค์ผ์ผ์์์ด ์๋๋ฉด? ๋จ์ํ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋ ๊น?
NO, ์ฃผ์๋ฌธ์ ๋ ์ฌ์ด์ฆ์์ ์จ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ํด๊ฒฐํ ์ ์๋ค.
over 10PB/ Aggregation Latency 10s/ SQL - SIZE DOES MATTER ์ฌ๋ก ํ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ธฐ ์ต์ ํ๋ ๊ฑธ ์ฐ์! Apache Druid! but also cannot meet the requirements! ์ฑ๋ฅ์ด ๋จ์ด์ง! - Apache Kylin meets all requirement!
Kylin?
LINE ๊ด๊ณ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์ํคํ
์ฒ
1) ๋ชจ๋ฐ์ผ์์ ๊ด๊ณ ๋ฅผ ๋ณด๋ฉด SDk์์ ๊ด๊ณ ๋ฅผ ๋ณด๋ด๊ณ event receiver๊ฐ ๋ฐ๊ณ event validator๋ ์ด ๋ฐ์ดํฐ๊ฐ ์ค๋ณต์ ์๋์ง ๋ฐธ๋ฆฌ๋ฐ์ด์
์ ํด์ data loader๊ฐ ๋ฐ์์ ๊ฐ ๋ชฉ์ ์ ๋ง๋ ๊ณณ์ ์ ์ฅ์ ํ๋ค storages์! ES๋ ์๊ฐํ์ ์ด๋ค
2) ์ด๊ฒ๋ค์ ๋ค์ ์ฌํ์ฉํ๋ค ETL/batch๋ฅผ ํตํด์ ํน์ OLAP ๋ถ์์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฆฌํฌํธ๋ฅผ ๋ง๋ค๊ธฐ๋ ํ๊ณ Data API ๋ฐ์ดํฐ๋ฒ ์ด์ค ์
ํ
์ ํตํด์ ๋น ๋ฅด๊ฒ ์กฐํํ ์์๋๋ก ํ๋ค.
3) ๊ฐ ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ๋ ์ฃผ์ ๊ธฐ์ ์คํ:
1) ์คํธ๋ฆฌ๋ฐ: ์ผ๋ฐ ๋ฐ์ดํฐ๋ ์ฌ์ฉ์์ ์ ๋ ฅ์ผ๋ก ๋ง๋ค์ด์ง๊ณ ๋ฐฑ์๋๋ก ๋ฆฌ์ฟผ์คํธ๋ก ์ ๋ฌํ๊ณ ์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌํ๋ฉด ๋๋ค. ์ฌ๊ธฐ์ ๋ง๋ค์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํ๋ ๊ฑธ ๋ฐฐ์นํ๋ก์ธ์ฑ/ single stage. ํ์ง๋ง ์คํธ๋ฆฌ๋ฐ์ ํ๊ฑดํ๊ฑด ์ด๋ฒคํธ๊ฐ ๋ค์ด์ค๋ฉด ๋ฐ๋ก ์ฒ๋ฆฌํ๋ ๊ฑธ ๋งํจ. ํญ์ long runnig processes/ multiple stage.
2) Heron: a realtime, distributed, fault-tolerant stream processing engine, apache heron is a re-architecture of apache storm
<๋์ค์ ๊ณต๋ถํ ๊ฒ>
๐ฉGoogle Cloud OnBoard Seoul OnAir ETL, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ - https://www.youtube.com/watch?v=A8RpAFvbrl0
๐ฉํ์ฅ์ฑ ์๋ ์น ์ํคํ
์ฒ์ ๋ถ์ฐ ์์คํ
- https://d2.naver.com/helloworld/206816