[Enterprise Big DataLake] 01. Datalake ์๊ฐ
๐พ
๊ตญ๋ด์๋ 1~2๋ ๋ถํฐ ๋ฐ์ดํฐ ๋ ์ดํฌ(Datalake)๋ฅผ ๋์ ํด์ผ ํ๋ค๊ณ ํ๋ ์ด์ผ๊ธฐ๊ฐ ์ฐํ์ฃฝ์๊ณผ๋ ๊ฐ์ด ์๋ผ๋ฌ๋ค. ๊ธฐ์กด์ ํ๋ก๋ ์์๊ณ Isilon ๊ฐ์ ์คํ ๋ฆฌ์ง๋ ์์์ง๋ง, ๋ฐ์ดํฐ ๋ ์ดํฌ ๋์ ์ ๋ํ ์ด์ผ๊ธฐ๋ AWS S3๊ฐ ๋ฒ์ฉ ์คํ ๋ฆฌ์ง๋ก ์ฌ์ฉ๋๋ฉด์ ๋์ฑ ํ๋ฐํด ์ง์ง ์์๋ ์๊ฐ๋๋ค. ํ์ง๋ง ์ค์ ๋ก ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ์ด์ผ๊ธฐ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ๋๋์ด๋ณด๋ฉด ๋ชจ๋ ์๊ฐ ํ๋๋ฐ๊ฐ ๋ฌ๋๋ค. ๋จ์ํ ๋ ํฐ ๊ท๋ชจ์ DW๋ฅผ ์ด์ผ๊ธฐํ๋๊ฐ ํ๋ฉด, ๋ ๋ค๋ฅธ ์ข ๋ฅ์ ๋น ๋ฐ์ดํฐ ์ ์ฅ์(ํ๋ก๊ณผ๋ ๊ฐ์)๋ฅผ ์ด์ผ๊ธฐํ๊ธฐ๋ ํ๋ค.
์ ๋ฌด์ ์ผ๋ก ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ๊ธฐํํ๊ณ ๊ฐ๋ฐํ๋ ์ ๋ฌด๋ฅผ ํ๊ณ ์์์๋ ๋ถ๊ตฌํ๊ณ , ์ดํด๊ด๊ณ์๋ค์ ์ฒญ์ฌ์ง๊ณผ ์๊ตฌ์ฌํญ์ด ๋ชจ๋ ๋ฌ๋ผ ์ค์ฌ์ ์ก๊ณ ๋ชฉ์๋ฆฌ๋ฅผ ๋ด๊ธฐ ํ๋ค์ด์ง๊ธฐ ์์ํ์ ๋ฌด๋ ต IT๋์์ ๋ฐ์ด๋ธ๊ณผ๋ ๊ฐ์ O’REILLY์ ๋์๋ก ‘The Enterprise Big Data Lake’๊ฐ ์ด๋ฏธ ๋ฒ์ญ๋์ด ๋์จ ๊ฒ์ ์๊ฒ๋์ด ์ผ๋จ ๊ตฌ๋งค ํ ์ฝ์ด๋ณด๊ธฐ๋ก ํ๋ค.
๊ณผ์ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ฌด์์ด๊ณ ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ๋ฌด์จ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํด์ผ ํ ๊น? ์ด๋ฌํ ๊ด์ ์ผ๋ก ์ฑ ์ ํผ์ณ๋ณด์๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ ์๊ฐ
ํ์์ ๋ฌธ์ ์
๋ค์ํ ๋ถ์ผ์์ ๋ฐ์ดํฐ ์ค์ฌ์ผ๋ก ์ค์ํ ๋น์ฆ๋์ค์ ์์ฌ๊ฒฐ์ ์ด ์ํ๋๋ค๋ ๊ฒ์ ๋ ์ด์ ๋๋์ง ์๋ค. AI, ๊ธฐ๊ณํ์ต, ๋ฅ๋ฌ๋๊ณผ ๊ฐ์ ๋จ์ด๋ค์ ๋ ์ด์ ์ ๊ณต์๋ค๋ง ์ฌ์ฉํ๋ ์ธ์ด๋ค์ด ์๋๋ค. ์์ ์ ๊ฐํธ๋Gartner์์ ์ด์ผ๊ธฐ ํ๋ ๋น ๋ฐ์ดํฐ์ 3V + 1V ๋ ์ฉ๋Volume, ๋ค์์ฑVariety, ์๋Velocity ๊ทธ๋ฆฌ๊ณ ๊ฐ์นValue๋ก ์ด์ผ๊ธฐ ๋์๋ค. ๊ฐ๋ ๋ฐ์ดํฐ ๊ด๋ จ ๊ณผ๋ชฉ์ ์ํ๋ฌธ์ ์๋ ๋น๋ฒํ ์ด์ผ๊ธฐ ๋๋ ๋ด์ฉ์ด์๋ค. ๊ทธ๋ฐ๋ฐ ์ต๊ทผ์๋ ์ง์ค์ฑVeracity์ด ์ถ๊ฐ๋์๋ค. ์ ๊ฐ์๊ธฐ ๋ฐ์ดํฐ์ ์ง์ค์ฑ์ ๋ํด์ ์ด์ดํ๋ ๊ฒ์ผ๊น?
๋ง์ ๋ถ์ผ์์ ๋ฐ์ดํฐ ๋ถ์์ ํตํด ๊ฒฝ์ ์ฐ์๋ฅผ ์ ์ ํ ๊ธฐ์ ์ด ์ฌ๋ฟ์ด ์๋ค(์๋ง์กด, ๋ทํ๋ฆญ์ค, ์ฟ ํก, ๋ฐฐ๋ฏผ ๋ฑ๋ฑ..). ์ด๋ ๋ค๋ณด๋ ๊ฒฝ์์ฌ ๋๋ ์ ์ฌ์ ๊ฒฝ์์ฌ๋ค์ ์ผ๋จ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ผ๊ธฐ ์์ํ๋ค. ์ผ๋จ ๋ญ ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ์ฐ๋ฆฌ๋ ์ผ๋จ ๋ชจ์๋ณด์๋ผ๋ ์๊ฐ์ด์๋ค. ์ค์ ๋ก ๋น ๋ฐ์ดํฐ ํ๋ซํผ์ ๋์ ํ๋ค๊ณ ์๋ฃจ์ ์ด๋ ์ฐธ์กฐ ์ํคํ ์ณ๋ฅผ ์๊ฐํ๊ธฐ ์ํด ๊ธฐ์ ์ IT ๋ถ์ ๋๋ ํ์ ๋ถ์๋ฅผ ๋ง๋์ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๋ฉด ์ค์ ๋ก ๋ญ ํ ์ง๋ ์์ง ๊ณ ๋ฏผํด๋ณด์ง ์์ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด์๋ค. ์ฌ์ง์ด ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒ์ธ์ง ์๊ฐํด๋ณด์ง ์์ ๊ฒฝ์ฐ๋ ๋ถ์ง๊ธฐ์์๋ค… ๐ฑ
์ด๋ ๋ค๋ณด๋ ๋ฐ์ดํฐ ๋ช(swamp)์ด ์๊ฒจ๋ฒ๋ฆฐ๋ค. ์ฒ์์ ๊ตฌ์ํ๋ ๊ฒ์ ๋ฐ์ดํฐ์ ํธ์์๋๋ฐ ์ผ๋จ ๋ค ๋๋ ค๋ฃ๊ณ ๋ณด๋ ๋ช์ด ๋์ด์, ๋ง์๊ป ํค์์น๊ธฐ๋ ์ปค๋ ์ด ์์ ๋ญ๊ฐ ์๋์ง๋ ์ ๋ชฐ๋ผ ์ฐ๋ ๋ฐ์ดํฐ๋ง ์ฐ๊ฑฐ๋ ๋ด๊ฐ ๋ฃ์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๊ฒ๋๋ค. GIGO(Garbage In Garbage out) ์๋ฆฌ๋ก ์ด๋ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๋ถ์ํ ๊ฒฐ๊ณผ๊ฐ ๋น์ฆ๋์ค ์์ฌ๊ฒฐ์ ์ ์ฌ๋ฐ๋ฅธ ์งํ๋ ๋ฆฌ ์๋ค.
๋ฐ์ดํฐ ๋ช์ ๋ค์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ์ด๋ฆฌ๋ ๊ฒ์ ์๋ก ๋ง๋๋ ๊ฒ ๋ณด๋ค ์ด๋ ค์ด ์์ ์ด ๋ ์ ์๋ค. ๊ทธ๋ฌ๋ฉด ์์ํ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ด๋ ํ ๋ชจ์ต์ด์ด์ผ ํ ๊น?
๋ฐ์ดํฐ ๋ ์ดํฌ ๊ท์น
- ๋ฐ์ดํฐ๋ ์๋ ํํ์ ๊ท์น์ ์ ์งํ ๊ฒ (๋ฏธ๊ฐ๊ณต ๋ฐ์ดํฐ, ์์ฐ ์ํ ๊ทธ๋๋ก๋ฅผ ์ ์งํด๋ผ)
- ๋ค์ํ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ํด์ผ ํ๋ค. (์์ฐ์ ๋ชจ๋์ ๊ฒ์ด๋ค)
์ฌ๊ธฐ์ ๋งํ๋ ์ฌ์ฉ์๋ ๋ฐ์ดํฐ ๋ถ์๊ฐ ๋๋ ํ์ ๋ถ์๊ฐ ๋ ์ ์์ ๊ฒ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์๋ ํํ๋ก ์ ์ฅํ๋ ์ด์ ๋ ๋ค์ํ ์ฌ์ฉ์๋ค์ด ์ํ๋ ๋ฐ์ดํฐ ํํ๊ฐ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ์ฉ์๋ ๋ฐ์ดํฐ ๋ ์ดํฌ ๋ด์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ/๋ถ์ ํ ์ ์๋ ๋๊ตฌ๋ก ์ ์ฌํ๋ค. ์ด ๋ ์ฌ์ฉ์ ๋ณ๋ก ์ํ๋ ์คํค๋ง๋ฅผ ์ ์ํ์ฌ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ์ด๋ฌํ ๋ฐฉ์์ Schema-on-Read ๋ผ๊ณ ํ๋ค.
๋ฐ์ดํฐ์ ์๋ณธ์ ์ ์ฅํ๊ณ ๋ค์ํ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ๋ณด์์ ๋งค์ฐ ์ค์ํ ์์์ด๋ค. ๋ฐ์ดํฐ3๋ฒ๊ณผ ๊ฐ์ด ๊ฐ์ธ์ ๋ณด๋ฅผ ๊ฐ๋ช ์ฒ๋ฆฌํ์ฌ ๊ฐ๋ช ์ ๋ณด ์ฃผ์ฒด ๋์ด ์์ด ๋น ๋ฐ์ดํฐ ๋ถ์์ ํ์ฉํ ์ ์๋๋ก ๋ฒ์ด ๊ฐ์ ๋๋ฉด์ ๋ถ์ํ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ ๋ง์ ์ก์ง๋ง ๊ฐ๋ช ์ฒ๋ฆฌ์ ๋ํ ์ค์์ฑ์ด ๋์ฑ ๊ฐ์กฐ๋๊ณ ์๋ค. ๋ด/์ธ๋ถ ๊ท์ ์ ์ด๊ธฐ์ง ์๊ณ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฒ ๋ํ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ธฐ๋ฅ์ด๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ ์ฑ์๋
๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ํ ๊ท์น์ ์ ๋ฆฌํด๋ดค์ง๋ง ๊ฐ์ฅ ๋ถ๋ช ํ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์กด์ ๋ฐ์ดํฐ ์ ์ฅ๋ฐฉ๋ฒ๊ณผ์ ๋น๊ตํ๋ ๊ฒ์ด๋ค. ์ฑ ์์ ์ด์ผ๊ธฐ ํ๋ ๋ด์ฉ์ ์ฝ๊ฐ ์์ฐ ์นํ์ (?)์ผ๋ก ์ ๋ฉ์ด, ์ฐ๋ชป, ํธ์(๋ ์ดํฌ), ๋ฐ๋ค(์ค์ )์ผ๋ก ๋ฌ์ฌํ๋ฉด์ ๊ฐ ๋จ๊ณ๋ณ ํน์ง ๋ฐ ์ฐจ์ด๋ฅผ ์ด์ผ๊ธฐ ํ๋ค.
๋ฐ์ดํฐ ์ ๋ฉ์ด(data puddle)
-
๋จ์ผ๋ชฉ์ /ํ๋ก์ ํธ์ฉ์ผ๋ก ๊ตฌ์ถํ ๋ฐ์ดํฐ ๋งํธ, ๋จ์ผ ์กฐ์ง์ ์์ ๊ณต๊ฐ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ถ์ sandbox๋ก๋ ์ฌ์ฉ๋๋ค.
-
์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ ๋์ ํ๋ ์ฒซ ๋จ๊ณ - ์ ํต์ ์ธ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์์ ๊ตฌ์ฑํ๋ ๋ฐ์ดํฐ ๋งํธ๋ฅผ ๊ตฌ์ฑํ ๋, ๋ฎ์ ๋น์ฉ๊ณผ ๋์ ์ฑ๋ฅ์ ์ํด ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ ์ ์ฉํ ๊ฒฝ์ฐ์ด๋ค.
-
ETL ์คํ๋ก๋ฉ - ๊ธฐ์กด์ DW๊ฐ ๊ตฌ์ฑ๋์ด ์๋ ์กฐ์ง์์ ์ฐ์ฐ์ด ๋ง์ด ํ์ํ๊ฑฐ๋, ํน์ ๋ชฉ์ ์ ์ํด ๋ณ๋๋ก ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ ํตํด ๋ณ๋์ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํ๊ฒ ๋๋ค. ๋น์ผ ์์ฉ ETL์์ ๋น ๋ฐ์ดํฐ ๊ธฐ์ (Sqoop, Flink, NiFi, Spark, Airflow ๋ฑ) ๊ธฐ๋ฐ์ ETL์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
๋ฐ์ดํฐ ์ฐ๋ชป(data pond)
-
๋ฐ์ดํฐ ์ ๋ฉ์ด๋ฅผ ์ฌ๋ฌ๊ฐ ๋ชจ์ ๋์ ๊ฒ์ด ๋ฐ์ดํฐ ์ฐ๋ชป์ด๋ค. ๋ค์์ ์กฐ์ง/ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ฉด์ ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ค์์ ๋ฐ์ดํฐ ๋งํธ๋ฅผ ํฌํจํ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ๊ตฌ์ฑํ ๊ฒ์ด๋ค.
-
๋ฐ์ดํฐ ์ฐ๋ชป์์์ ์คํ๋ก๋ฉ์ DW ์ ์ฒด๋ฅผ ๋์ฒดํ ๋น ๋ฐ์ดํฐ ํ๋ซํผ์ ๋ง๋๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์๊ท๋ชจ ์ฟผ๋ฆฌ ์ง์ฐ, ์๊ฒฉํ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐฉ์์ ๋ถ์ฌ ๋ฑ์ผ๋ก ์ธํด ์์ ํ DW๋ฅผ ๋์ฒดํ๊ธฐ๋ ํ์ค์ ์ผ๋ก ์ด๋ ต๋ค. (๋ฐ์ดํฐ ๋ถ์๊ฐ๊ฐ ์ข์ํ์ง ์๋๋ค.)
๋ฐ์ดํฐ ๋ ์ดํฌ(data lake)
๋ฐ์ดํฐ ์ฐ๋ชป์์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ํน์ฑ์ด ์ถ๊ฐ๋๋ค.
-
์ ํ ์๋น์ค ์ง์ - ๋ถ์๊ฐ๊ฐ ์ง์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ ์ํ์ฌ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
-
๋ฐ์ดํฐ๊ฐ ๋น์ฅ ์ฌ์ฉ๋์ง ์๋๋ผ๋ ์ ์ฅํ๋ค.
๋ฐ์ดํฐ ์ค์ (data ocean)
๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ค์ ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ฌ์ฉํ์ง๋ง, ๋ฐ์ดํฐ ์ค์ ์์๋ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๊ฒ๊ณผ ๊ด๊ณ ์์ด ๊ธฐ์ ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ค์ด ์ ํ ์๋น์ค๊ฐ ๋ ์ ์๋๋ก ์ง์๋์ด์ผ ํ๋ค.
๊ฐ๋จํ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ํ ๊ฐ์๋ฅผ ์์ ๋ณด์๋ค. ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฑ์๋๋ฅผ ๋ณด๊ณ ์์๋ฉด ์์ง ๋ง์ ๋ถ์ผ์์ ๊ฐ ๊ธธ์ด ๋ง์ด ๋จ์ ๊ฒ ๊ฐ๋ค. ์ด๋ฏธ ์์ฅ์ ์ ๋ํ๊ณ ์๋ ๊ธฐ์ ๋ค์ ๋ฐ์ดํฐ ์ค์ ์ ๊ธฐํํ๊ณ ์๋ ๋ฐ๋ฉด์ ๋๋ถ๋ถ์ ๊ธฐ์ ๋ค์ ์ด์ ๋ง ๋ฐ์ดํฐ ์ฐ๋ชป์ ๊ตฌ์ฑํ๊ฑฐ๋ ๊ตฌ์ฑํ๊ณ ์๋ ์ค์ด๋ค. ์ฑ์๋ ๊ฐ ๋จ๊ณ์์ ํ์ํ ํต์ฌ ๊ธฐ๋ฅ๋ค์ ์ ์ดํดํด์ผ ์ฌ๋ฐ๋ฅธ ์ํคํ ์ณ์ ์๋ฃจ์ ์ ๋์ ํ ์ ์์ ๊ฒ์ด๋ค. ๋ค์์๋ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ ์์ธํ ์ดํด๋ด์ผ๊ฒ ๋ค.