3.1 ๋น ๋ฐ์ดํฐ๋ผ๋ ์ฉ์ด์ ์ถํ ์ฐํ
๋น
๋ฐ์ดํฐ๋ผ๋ ์ฉ์ด๋ ๋น๊ต์ ์ต๊ทผ์ ๋ฑ์ฅํ์ต๋๋ค. Google ํธ๋ ๋๋ 2011๋
์ดํ๋ก ์ด ๋ฌธ๊ตฌ ์ฌ์ฉ์ด ํ๋ฐํ๊ฒ ์ฆ๊ฐํ๊ธฐ ์์ํ์์ ๋ณด์ฌ์ค๋๋ค .
๋์์ ๊ฒ์ผ๋ฅธ ์ฌ๋ ๋ง์ด ์ง๊ธ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. ํนํ ๋ง์ผํ ๋ด๋น์๊ฐ ์ด ์ฉ์ด๋ฅผ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋น ๋ฐ์ดํฐ๋ ๊ณผ์ฐ ๋ฌด์์ผ๊น์? ๋ฌธ์ ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ธฐ์ ํ๊ณ ๋ถ๊ฐ์ํค๊ธฐ๋ก ํ์์ผ๋ฏ๋ก ๊ฐ๋ ์ ์๊ฐ ํ์ํ๋ค.
๋ด ์ฐ์ต์์ ๋๋ ๋ค๋ฅธ ์ ์๋ฅผ ๋ง๋ฌ์ต๋๋ค.
- ๋น ๋ฐ์ดํฐ๋ 100GB ์ด์์ ๋ฐ์ดํฐ(500GB, 1TB ๋ฑ ์ํ๋ ๋๋ก)๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋๋ค.
- ๋น ๋ฐ์ดํฐ๋ Excel์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ์ ๋๋ค.
- ๋น ๋ฐ์ดํฐ๋ ๋จ์ผ ์ปดํจํฐ์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ์ง์ด ์ด๊ฒ๋ค:
- ๋น ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ์ ๋๋ค.
- ๋น ๋ฐ์ดํฐ๋ ์กด์ฌํ์ง ์์ผ๋ฉฐ ๋ง์ผํฐ๊ฐ ๋ฐ๋ช ํ์ต๋๋ค.
Wikipedia์ ์ ์๋ฅผ ๊ณ ์ํ๊ฒ ์ต๋๋ค.
๋น ๋ฐ์ดํฐ๋ ์ปดํจํฐ ๋คํธ์ํฌ์ ์๋ง์ ๋ ธ๋์ ๊ฑธ์ณ ์ง์์ ์ผ๋ก ์ฑ์ฅํ๊ณ ๋ฐฐํฌ๋๋ ์กฐ๊ฑด์์ ํจ๊ณผ์ ์ธ ์ฌ๋์ด ์ธ์งํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ๋ฐฉ๋ํ ์๊ณผ ์๋นํ ๋ค์์ฑ์ ์ง๋ ์ ํ ๋ฐ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ผ๋ จ์ ์ ๊ทผ ๋ฐฉ์, ๋๊ตฌ ๋ฐ ๋ฐฉ๋ฒ์ ๋๋ค. 2000๋ ๋ ํ๋ฐ์ ์ ํต์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๋ฐ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค ํด๋์ค ์๋ฃจ์ ์ ๋์.
๋ฐ๋ผ์ ๋น ๋ฐ์ดํฐ๋ฅผ ํตํด ํน์ ๋ฐ์ดํฐ ์์ด๋ ๋ฐ์ดํฐ ์์ฒด๊ฐ ์๋๋ผ ์ ๋ณด์ ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ดํดํ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์์ ๋ฐ์ดํฐ ์ธํธ(์: ์ด ๊ฐ์ ๋ด์ฉ)๋ฟ๋ง ์๋๋ผ ํฐ ๋ฐ์ดํฐ ์ธํธ(์: ์ธํฐ๋ท์ ๋ชจ๋ ํ์ด์ง ์ฝํ ์ธ )์ ์ ์ฉ๋ ์ ์์ต๋๋ค.
๋ค์์ ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ด ํ์ํ ๋ฐ์ดํฐ ์์ค์ ๋ํ ๋ช ๊ฐ์ง ์์ ๋๋ค.
- ์ธํฐ๋ท์์ ์ฌ์ฉ์ ํ๋ ๋ก๊ทธ
- ์ด์ก ํ์ฌ๋ฅผ ์ํ ์๋์ฐจ์ GPS ์ ํธ
- Large Hadron Collider์ ์ผ์์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ
- ๋ฌ์์ ์ฃผ๋ฆฝ ๋์๊ด์ ๋์งํธํ๋ ์ฑ
- ๋ชจ๋ ์ํ ๊ณ ๊ฐ์ ๊ฑฐ๋์ ๋ํ ์ ๋ณด
- ๋ํ ์๋งค ์ฒด์ธ ๋ฑ์ ๋ชจ๋ ๊ตฌ๋งค์ ๋ํ ์ ๋ณด
๋ฐ์ดํฐ ์์ค์ ์๊ฐ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๊ณ ์์ผ๋ฉฐ ์ด๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ์ ์ ๋ํ ์์๊ฐ ์ ์ ๋ ๋ง์์ง๊ณ ์์์ ์๋ฏธํฉ๋๋ค.
3.2 ๋น ๋ฐ์ดํฐ ์์น
๋น ๋ฐ์ดํฐ์ ์ ์์ ๋ฐ๋ผ ์ด๋ฌํ ๋ฐ์ดํฐ ์์ ์ ๊ธฐ๋ณธ ์์น์ ๊ณต์ํํ ์ ์์ต๋๋ค.
1. ์ํ์ ํ์ฅ์ฑ. ์์๋ก ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์์ ์ ์์ผ๋ฏ๋ก ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชจ๋ ์์คํ ์ ํ์ฅ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ ์์ด 2๋ฐฐ ์ฆ๊ฐํ์ต๋๋ค. ํด๋ฌ์คํฐ์ ์ฒ ์์ด 2๋ฐฐ ์ฆ๊ฐํ๊ณ ๋ชจ๋ ๊ฒ์ด ๊ณ์ ์๋ํ์ต๋๋ค.
2. ๋ด๊ฒฐํจ์ฑ. ์ํ์ ํ์ฅ์ฑ์ ์์น์ ํด๋ฌ์คํฐ์ ๋ง์ ์์คํ ์ด ์์ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด Yahoo์ Hadoop ํด๋ฌ์คํฐ์๋ 42,000๊ฐ ์ด์์ ์์คํ ์ด ์์ต๋๋ค(์ด ๋งํฌ์์ ์กฐ์ง ์ ์ฒด์ ํด๋ฌ์คํฐ ํฌ๊ธฐ๋ฅผ ๋ณผ ์ ์์). ์ฆ, ์ด๋ฌํ ์์คํ ์ค ์ผ๋ถ๋ ์คํจํ ์ ์์ต๋๋ค. ๋น ๋ฐ์ดํฐ ๊ดํ์ ์ด๋ฌํ ํผ๋์ ์ธ์ํ๊ณ ์ฌ๊ฐํ ๊ฒฐ๊ณผ ์์ด ์์กดํด์ผ ํฉ๋๋ค.
3. ๋ฐ์ดํฐ ์ง์ญ์ฑ. ๋๊ท๋ชจ ๋ถ์ฐ ์์คํ ์์ ๋ฐ์ดํฐ๋ ๋ง์ ์์ ์์คํ ์ ๋ถ์ฐ๋ฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ ์๋ฒ์ ์๊ณ ๋ค๋ฅธ ์๋ฒ์์ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ ์ก ๋น์ฉ์ด ์ฒ๋ฆฌ ์์ฒด ๋น์ฉ์ ์ด๊ณผํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ BigData ์๋ฃจ์ ์ ์ค๊ณํ๋ ๋ฐ ๊ฐ์ฅ ์ค์ํ ์์น ์ค ํ๋๋ ๋ฐ์ดํฐ ์ง์ญ์ฑ์ ์์น์ ๋๋ค. ๊ฐ๋ฅํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋์ผํ ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๋ชจ๋ ์ต์ ๋น ๋ฐ์ดํฐ ๋๊ตฌ๋ ์ด๋ค ์์ผ๋ก๋ ์ด ์ธ ๊ฐ์ง ์์น์ ๋ฐ๋ฆ ๋๋ค. ์ด๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ, ๋ฐฉ๋ฒ ๋ฐ ํจ๋ฌ๋ค์์ ์ ์ํด์ผ ํฉ๋๋ค. ์ค๋ ๊ฐ์์์ ๋ถ์ํ ๊ฐ์ฅ ๊ณ ์ ์ ์ธ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค.
3.3 ๋งต๋ฆฌ๋์ค
MapReduce ๋ ์ปดํจํฐ ํด๋ฌ์คํฐ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด Google์์ ์ ์ํ ๋ถ์ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ชจ๋ธ์ ๋๋ค. MapReduce๋ ๋ค์ ๊ทธ๋ฆผ์ ์ ์ค๋ช ๋์ด ์์ต๋๋ค.

MapReduce๋ ๋ฐ์ดํฐ๊ฐ ์ผ๋ถ ๋ ์ฝ๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ 3๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
1. ๋งต ์คํ ์ด์ง . ์ด ๋จ๊ณ์์ ์ฌ์ฉ์๊ฐ ์ ์ํ map() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด ๋จ๊ณ์ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌํ๊ณ ํํฐ๋งํ๋ ๊ฒ์ ๋๋ค. ์ด ์์ ์ ๊ธฐ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋งคํ ์์ ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๊ฐ ์ ๋ ฅ ๋ ์ฝ๋์ ์ฌ์ฉ์ ์ ์ ํจ์๊ฐ ์ ์ฉ๋ฉ๋๋ค.
๋จ์ผ ์ ๋ ฅ ๋ ์ฝ๋์ ์ ์ฉ๋ map() ํจ์๋ ๋ง์ ํค-๊ฐ ์์ ์์ฑํฉ๋๋ค. ์ค์ - ์ฆ, ํ๋์ ๋ ์ฝ๋๋ง ๋ฐํํ๊ฑฐ๋ ์๋ฌด ๊ฒ๋ ๋ฐํํ์ง ์๊ฑฐ๋ ์ฌ๋ฌ ํค-๊ฐ ์์ ๋ฐํํ ์ ์์ต๋๋ค. ํค์ ๊ฐ์ ๋ฌด์์ด ๋ค์ด๊ฐ์ง๋ ์ฌ์ฉ์์๊ฒ ๋ฌ๋ ค ์์ง๋ง ํค๋ ๋งค์ฐ ์ค์ํ ๊ฒ์ ๋๋ค. ๋ฏธ๋์ ํ๋์ ํค๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ ์ถ์ ๊ธฐ๋ฅ์ ํ ์ธ์คํด์ค์ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
2. ์คํ ์ด์ง ์ ํ. ์ฌ์ฉ์๊ฐ ๋์น ์ฑ์ง ๋ชปํฉ๋๋ค. ์ด ๋จ๊ณ์์ ๋งต ๊ธฐ๋ฅ์ ์ถ๋ ฅ์ "๋น๋"๋ฉ๋๋ค. ๊ฐ ๋น์ ๋งต ๋จ๊ณ์ ํ๋์ ์ถ๋ ฅ ํค์ ํด๋นํฉ๋๋ค. ์์ผ๋ก ์ด๋ฌํ ๋ฐ์ค์ผ์ reduce๋ฅผ ์ํ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
3. ์คํ ์ด์ง ์ถ์. ์ ํ ๋จ๊ณ์์ ์์ฑ๋ ๊ฐ์ ๊ฐ์ง ๊ฐ "๋ฐ๊ตฌ๋"๋ reduce() ํจ์์ ์ ๋ ฅ์ด ๋ฉ๋๋ค.
์ถ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ๋ฉฐ ๋จ์ผ "๋ฐ๊ตฌ๋"์ ๋ํ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐํฉ๋๋ค . reduce() ํจ์๊ฐ ๋ฐํํ ๋ชจ๋ ๊ฐ์ ์งํฉ์ MapReduce ์์ ์ ์ต์ข ๊ฒฐ๊ณผ์ ๋๋ค.
MapReduce์ ๋ํ ๋ช ๊ฐ์ง ์ถ๊ฐ ์ ๋ณด:
- ๋งต ๊ธฐ๋ฅ ์ ๋ชจ๋ ์คํ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ฉฐ ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ ์์คํ ์ ํฌํจํ์ฌ ๋ณ๋ ฌ๋ก ์คํํ ์ ์์ต๋๋ค.
- reduce ๊ธฐ๋ฅ ์ ๋ชจ๋ ์คํ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ฉฐ ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ ์์คํ ์ ํฌํจํ์ฌ ๋ณ๋ ฌ๋ก ์คํํ ์ ์์ต๋๋ค.
- ์ ํ์ ๋ด๋ถ์ ์ผ๋ก ๋ณ๋ ฌ ์ ๋ ฌ์ ๋ํ๋ด๋ฏ๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ ์์คํ ์์๋ ์๋ํ ์ ์์ต๋๋ค. ํฌ์ธํธ 1-3์ ํตํด ์ํ์ ํ์ฅ์ฑ ์์น์ ๊ตฌํํ ์ ์์ต๋๋ค .
- ๋งต ๊ธฐ๋ฅ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋์ผํ ์์คํ ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ก์ ์ค์ ๋๋ค(๋ฐ์ดํฐ ์ง์ญ์ฑ์ ์์น).
- MapReduce๋ ํญ์ ์ ์ฒด ๋ฐ์ดํฐ ์ค์บ์ด๋ฉฐ ์ธ๋ฑ์ค๊ฐ ์์ต๋๋ค. ์ด๋ ๋งค์ฐ ๋น ๋ฅธ ์๋ต์ด ํ์ํ ๊ฒฝ์ฐ MapReduce๋ฅผ ์ ๋๋ก ์ ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
3.4 ๋งต๋ฆฌ๋์ค๋ก ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ ๊ณผ์ ์ ์
๋จ์ด ์
๊ณ ์ ์ ์ธ ์์ ์ธ ๋จ์ด ์๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. ์์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณต์ํ๋ฉ๋๋ค. ๋ง์ ๋ฌธ์ ๋ชจ์์ด ์์ต๋๋ค. ์์ ์ ๋ง๋ญ์น์์ ์ ์ด๋ ํ ๋ฒ ๋ฐ์ํ๋ ๊ฐ ๋จ์ด์ ๋ํด ๋ง๋ญ์น์์ ๋ฐ์ํ๋ ์ด ํ์๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ค.
ํด๊ฒฐ์ฑ :
๋ฐฉ๋ํ ๋ฌธ์ ๋ชจ์์ด ์์ผ๋ฏ๋ก ํ๋์ ๋ฌธ์๋ฅผ MapRreduce ์์ ์ ๋ํ ํ๋์ ์ ๋ ฅ ๋ ์ฝ๋๋ก ๋ง๋ญ๋๋ค. MapReduce์์๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ง ์ ์ํ ์ ์์ต๋๋ค(ํ์ด์ฌ๊ณผ ์ ์ฌํ ์์ฌ ์ฝ๋ ์ฌ์ฉ).
|
|
map ํจ์๋ ์ ๋ ฅ ๋ฌธ์๋ฅผ ์(๋จ์ด, 1) ์ธํธ๋ก ๋ฐ๊พธ๊ณ , ์ฐ๋ฆฌ๋ฅผ ์ํด ํฌ๋ช ํ๊ฒ ์ ํํ์ฌ ์(๋จ์ด, [1,1,1,1,1,1])์ผ๋ก ๋ฐ๊พธ๊ณ , ์ด๋ค์ ํฉ๊ณ๋ฅผ ์ค์ด๊ณ ๋ฐํํฉ๋๋ค. ๋จ์ด์ ๋ํ ์ต์ข ๋ต๋ณ .
๊ด๊ณ ์์คํ ๋ก๊ทธ ์ฒ๋ฆฌ
๋ ๋ฒ์งธ ์๋ Data-Centric Alliance์ ์ค์ ์ฌ๋ก์์ ๊ฐ์ ธ์จ ๊ฒ์ ๋๋ค.
์์ : ๋ค์ ํ์์ ๊ด๊ณ ์์คํ ์ csv-log๊ฐ ์์ต๋๋ค.
<user_id>,<country>,<city>,<campaign_id>,<creative_id>,<payment></p>
11111,RU,Moscow,2,4,0.3
22222,RU,Voronezh,2,3,0.2
13413,UA,Kyiv,4,11,0.7
โฆ
๋ฌ์์ ๋์์์ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ํ๊ท ๋น์ฉ์ ๊ณ์ฐํด์ผ ํฉ๋๋ค.
ํด๊ฒฐ์ฑ :
|
|
์ง๋ ๊ธฐ๋ฅ์ ์ด ํญ๋ชฉ์ด ํ์ํ์ง ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ํ ์ ๋ณด(๋์ ๋ฐ ๊ฒฐ์ ๊ธ์ก)๋ง ๋จ๊น๋๋ค. reduce ํจ์๋ ํด๋น ๋์์ ๋ชจ๋ ์ง๋ถ ๋ชฉ๋ก์ด ์ฃผ์ด์ง ๋์์ ๋ํ ์ต์ข ๋ต์ ๊ณ์ฐํฉ๋๋ค.
GO TO FULL VERSION