๋ฐ์ดํฐ๊ฐ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๋ ์ค๋ ๋ , ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅํ๊ณ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ๋น์ฆ๋์ค ์ฑ๊ณต์ ํต์ฌ ์์๊ฐ ๋์๋ค.
์ ํต์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)๋ถํฐ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋น ๋ฐ์ดํฐ ๊ธฐ์ ๊น์ง, ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ฐฉ์์ ์ ์ ๋ ๋ค์ํด์ง๊ณ ์๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ RDBMS์ ๋น ๋ฐ์ดํฐ์ ๊ด๊ณ๋ฅผ ์์์ผ๋ก, ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(DW)์ ๋ฐ์ดํฐ ๋ ์ดํฌ(DL)์ ์ฐจ์ด, ์จ๋ผ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ(OLTP)์ ์จ๋ผ์ธ ๋ถ์ ์ฒ๋ฆฌ(OLAP)์ ์ฐจ์ด์ , MapRduce์ ์๋ฆฌ์ ์ญํ , Hadoop ์์ฝ ์์คํ , ๊ทธ๋ฆฌ๊ณ ๋ถ์ฐ ์์คํ ์ ๊ฐ๋ ๊น์ง ์ดํด๋ณด๋ฉฐ ํ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์ ๋ฐ์ ์ธ ํ๋ฆ์ ์ดํดํด๋ณด๊ณ ์ ํ๋ค.
๋น ๋ฐ์ดํฐ์ ์ ์
๋น ๋ฐ์ดํฐ(Big Data)๋ ๊ธฐ์กด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ํํธ์จ์ด๋ก๋ ๋ค๋ฃฐ ์ ์์ ๋งํผ ํฌ๊ณ ๋ณต์กํ ๋ฐ์ดํฐ ์งํฉ์ ์๋ฏธํ๋ค.
์ด๋ฌํ ๋ฐ์ดํฐ๋ ์์ง, ์ ์ฅ, ์ ๋ณด, ๋ถ์, ๊ฒ์, ์ ์ก, ์๊ฐํ, ์ง์ ๋ฑ์์ ๋ค์ํ ๋์ ๊ณผ์ ๋ฅผ ์ ๊ณตํ๋ค.
๋น ๋ฐ์ดํฐ์ ํต์ฌ ํน์ฑ์ผ๋ก๋ Volume(๊ท๋ชจ), Variety(๋ค์์ฑ), Velocity(์๋) ๊ฐ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ Veracity(์ ํ์ฑ), Value(๊ฐ์น)๊ฐ ์ถ๊ฐ๋ก ์ธ๊ธ๋๊ธฐ๋ ํ๋ค. ์ด๋ฌํ ํน์ฑ์ ํตํด ๋น ๋ฐ์ดํฐ๋ ๋จ์ํ ๋ฐ์ดํฐ ์ ๋ฟ ์๋๋ผ ๊ทธ ํ์ฉ ๊ฐ๋ฅ์ฑ๊ณผ ํ์ง์ ํ๊ฐํ๋๋ฐ ์ค์ ์ ๋๋ค.
Volume์ ๋ฐ์ดํฐ์ ํฌ๊ธฐ, Velocity๋ ๋ฐ์ดํฐ์ ์์ฑ/์ฒ๋ฆฌ์๋, Variety๋ ๋ฐ์ดํฐ์ ๋ค์์ฑ(Structured, Semi-structured, Unstructured)์ ์๋ฏธํ๋ค. Veracity๋ ๋ฐ์ดํฐ์ ์ ํ์ฑ, ๋ถํ์ค์ฑ, Noise, ์ค๋ฅ๋ฅผ ๊ฐ๋ฆฌํค๊ณ Value๋ ๋ฐ์ดํฐ์ ๊ฐ์น์ด๋ค.
Database ์์ ์ ๋ ์ข ๋ฅ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฐฉ์์ ์ข ๋ฅ์๋ ์จ๋ผ์ธ ๋ถ์ ์ฒ๋ฆฌ(OLAP) ๋ฐ ์จ๋ผ์ธ ๊ฑฐ๋ ์ฒ๋ฆฌ(OLTP) ๋๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
์ด ๋ฐฉ์๋ค์ ๋น์ฆ๋์ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์คํ ๋ค. ์น ์ฌ์ดํธ, ์ ํ๋ฆฌ์ผ์ด์ , ์ค๋งํธ ๋ฏธํฐ ๋ฐ ๋ด๋ถ ์์คํ ๊ณผ ๊ฐ์ ์ฌ๋ฌ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ ์ฅํ ์ ์๋ค.
OLAP๋ ๋ค์ํ ๊ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ์ ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๊ณ ๊ทธ๋ฃนํํ๋ค.
๋ฐ๋๋ก OLTP๋ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๋๋์ผ๋ก ์ ์ฅํ๊ณ ์ ๋ฐ์ดํธํ๋ค.
๊ฐ ๋ฐฉ์์ ์๋์ ๊ฐ์ ์ฐจ์ด์ ์ ๊ฐ์ง๋ค.
๋น ๋ฐ์ดํฐ ์ ์ฅ ์์คํ
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(Data Warehouse) & ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค(Business Intelligence)
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ ์ ๋ณด์ ์ ๊ฐํ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ๋ถ์ ๊ฐ๋ฅํ ์ ๋ณด์ ์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ด๋ค.
๋ฐ์ดํฐ๋ ํธ๋์ญ์ ์์คํ , ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๊ธฐํ ์์ค๋ก๋ถํฐ ๋ณดํต ์ ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ก ๋ค์ด๊ฐ๋ค.
๋ฐ์ดํฐ ์์ง๋์ด, ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ ๋ฐ ์์ฌ๊ฒฐ์ ๊ถ์๋ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค(BI) ๋๊ตฌ, SQL ํด๋ผ์ด์ธํธ ๋ฐ ๊ธฐํ ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ๋ค. ETL์์ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ ํํํ์ฌ ์ฐฝ๊ณ ์ ์ฐจ๊ณก์ฐจ๊ณก ์์๋๋๋ค๊ณ ๋ณผ ์ ์๋ค.
๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค๋ ์์ฌ๊ฒฐ์ ์์คํ ์ผ๋ก ๋ณผ ์ ์๋๋ฐ, ๋น์ฆ๋์ค ์ ๋ต ๋ฐ ์ด์์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์กฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ง, ๊ด๋ฆฌ ๋ฐ ๋ถ์ํ๊ธฐ ์ํ ์ผ๋ จ์ ๊ธฐ์ ํ๋ก์ธ์ค์ด๋ค. BI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋น์ฆ๋์ค ์ฌ์ฉ์๊ฐ ๊ณผ๊ฑฐ ๋ฐ ํ์ฌ, ํ์ฌ ๋ฐ ์ฌ๋ด, ๋ฐ์ ํ, ์์ ๋ฏธ๋์ด์ ๊ฐ์ ๋น์ ํ ๋ฐ์ดํฐ ๋ฑ ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ(Data Lake)
Data Warehouse๋ ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ง์ ๋ค๋ฃจ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, Data Lake๋ ๊ตฌ์กฐํ ๋ฐ์ดํฐ์ ๋น๊ตฌ์กฐํ ๋ชจ๋๋ฅผ ํฌํจํ์ฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์๋์ ํ์๊ณผ ๊ตฌ์กฐ ๊ทธ๋๋ก ์ ์ฅํ ์ ์๋ ๊ณ ๋๋ก ํ์ฅ ๊ฐ๋ฅํ ์ ์ฐํ ์คํ ๋ฆฌ์ง ์์คํ ์ด๋ค.
๋น ๋ฐ์ดํฐ๋ ์ด๋ฌํ ์์คํ ์ ํตํด ๊ตฌ์กฐ์ ํ์์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฐํ๊ฒ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
์๋ ์๋ฃ๋ฅผ ํตํด ๋ ์์ธํ ์ฐจ์ด๋ฅผ ํ์ธํ ์ ์๋ค.
๋ฐ์ดํฐ ๋ช(Data Swamp)
๋ฐ์ดํฐ ๋ ์ดํฌ๋ ํ์์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์๋ ์์คํ ์ด์ง๋ง, ์ ๋๋ก ๊ด๋ฆฌํ์ง ๋ชปํ๋ฉด ๋ฐ์ดํฐ ์ค์ํ(๋ช)์ผ๋ก ์ ๋ฝํ ์ ์๋ค.
๋ฐ์ดํฐ ์ค์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋นํจ์จ์ ์ผ๋ก ์ ์ฅ๋๋ค ์ ์ฉ์ฑ์ ์์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์คํจ ์ฌ๋ก๋ก ๋ณผ ์ ์๋ค.
๋ฐ์ดํฐ๊ฐ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌ๋์ง ์์ ๊ฒ์๊ณผ ๋ถ์์ด ์ด๋ ต๊ณ , ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ๋ถ์ ํํ์ฌ ๋ฐ์ดํฐ์ ํ์ฉ์๋ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์๋, ๋ช ํํ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ ๋ต๊ณผ ํ์ง ๊ด๋ฆฌ ํ๋ก์ธ์ค๊ฐ ํ์ํ๋ค.
Apache Hadoop
Apach Hadoop์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ค๊ณ๋ ์คํ์์ค ์ํํธ์จ์ด ํ๋ ์์ํฌ๋ก, ์ฌ๋ฌ ๋์ ์ปดํจํฐ(ํด๋ฌ์คํฐ)๋ฅผ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐํ์ฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ณ์ฐํ ์ ์๋๋ก ์ง์ํ๋ค.
- ํน์ง : ๋ค์ํ IT ๊ธฐ์ (์ผํ, ์ธํ , IBM..)์ ํ์ ์ผ๋ก ๋ง๋ค์ด์ง ๊ณต๊ฐ ์ํํธ์จ์ด๋ก, ๋๊ตฌ๋ ์ฌ์ฉํ๊ณ ๊ธฐ์ฌํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ์ผ ์ปดํจํฐ๊ฐ ์๋ ์ฌ๋ฌ ๋์ ์ผ๋ฐ ์ปดํจํฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ์ด๋ ๋น์ฉ ํจ์จ์ฑ์ ๊ทน๋ํ ์ํจ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์: Hadoop Distributed File System(HDFS)๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ ์ ์ฅํ๊ณ , Hadoop MapReduce(HadoopMR)์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํ๋ค.
๋จ์ผ ์๋ฒ์์ ์์ฒ ๋์ ์ปดํจํฐ๊น์ง ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ, ํ๋์จ์ด ์ฅ์ ๋ฅผ ํ์งํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก ์์ ์ฑ์ ์ ๊ณตํ๋ค.
Apach Hadoop์ ํ์ฌ ๋น ๋ฐ์ดํฐ ํ๋ซํผ์ ์ฌ์ค์ ํ์ค์ผ๋ก ์๋ฆฌ์ก๊ณ ์์ผ๋ฉฐ, ๋ค์ํ ๊ธฐ์ ๊ณผ ๊ธฐ๊ด์์ ํ์ฉ๋๊ณ ์๋ค. ์ด๋ฅผ ํตํด ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๋ถ์ํ๋๋ฐ ํ์์ ์ธ ์ญํ ์ ํ๊ณ ์๋ค.
์ Hadoop์ ์ฐ๋๊ฐ?
Hadoop์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํ ์ ์๋ ๋น ๋ฐ์ดํฐ ํ๊ฒฝ์์ ํ์์ ์ธ ์๋ฃจ์ ์ผ๋ก ์ฃผ๋ชฉ๋ฐ๊ณ ์๋ค.
๊ธฐ์กด์ ํ๊ฒฝ์ผ๋ก ๋น ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์ด ๊ฐ์ฅ ํฐ ์ด์ ๋
1. ๋ฐ์ดํฐ์ ๊ท๋ชจ
: ํ๋ ๋ฐ์ดํฐ๋ ๋๋ฌด ๋ฐฉ๋ํ๋ค. TB์์ PB์ ์ด๋ฅด๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ ๊ธฐ์กด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ์ ๋ก๋ ํ๊ณ์ ๋๋ฌํ๋ค.
2. ์์ง์ ํ์ฅ์ ๋ฌธ์
: ๊ธฐ์กด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์คํ ์ ํ๋์จ์ด ์ฑ๋ฅ์ ํฅ์์ํค๋ ์์ง์ ํ์ฅ ๋ฐฉ์์ ์์กดํ์ง๋ง, ์ด๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ํ๊ณ๊ฐ ๋ช ํํ๋ค.
๋ํ์ ์ผ๋ก๋ ์ด๋ ๊ฒ ๋๊ฐ์ง๋ฅผ ๋ฝ์ ์ ์๋ค.
์ด๋ฌํ ์ํฉ์ Hadoop์ ์ ํํด์ผ ํ๋ ์ด์ ์ ๊ทธ ์ฅ์ ์ ์๋์ ๊ฐ๋ค.
- ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: TB~PB ์์ค์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋ฅ๋ ฅ์ ์ ๊ณตํ๋ค. (MapReduce๋ก ๋ฐ์ดํฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ)
- ์ปดํจํ ํ์: ๋ ธ๋ ์๊ฐ ๋์ด๋ ์๋ก ์ปดํจํ ํ์๋ ์ฆ๊ฐํ์ฌ ํจ์จ์ ์ธ ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ๊ฒฐํจ ํ์ฉ์ฑ(Fault Tolerance): ๋ฐ์ดํฐ ๋ณต์ ์ ์์ ๋ณต๊ตฌ๋ฅผ ํตํด ์ฅ์ ์ํฉ์์๋ ์์ ์ฑ์ ๋ณด์ฅํ๋ค
- ์ ์ฐ์ฑ: ์ ์ ์ธ ์คํค๋ง๊ฐ ํ์ ์์ด ๋ค์ํ ํ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์ ๋น์ฉ: ์คํ์์ค ์ํํธ์จ์ด์ ์ผ๋ฐ์ ์ธ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋น์ฉ์ ์ ๊ฐ
- ํ์ฅ์ฑ: ํด๋ฌ์คํฐ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์(์ํ์ ํ์ฅ(Scale-out))์ผ๋ก ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ์ฝ๊ฒ ํ์ฅํ ์ ์๋ค
์ด๋ฌํ ์ฅ์ ์ ํตํด ๊ธฐ์กด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ , ๋น ๋ฐ์ดํฐ ํ๊ฒฝ์์ ํต์ฌ์ ์ธ ์ญํ ์ ์ํํ๋ค.
vs RDBMS
RDBMS์ ๋น๊ต๋ฅผ ํด๋ณด์๋ฉด, ๋ค๋ฃจ๋ ๋ฐ์ดํฐ ์ฌ์ด์ฆ์์ ํฐ ์ฐจ์ด๋ฅผ ๋ณผ ์ ์๋ค.
RDBMS๋ TB๋จ์๋ง ๋ค๋ฃจ๊ฒ ๋์ด๋ ๋ฒ๊ฑฐ์ด ํธ์ด๋ค. ์ค๋ผํด๋ TB๋จ์๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ค.
๋ํ ํ์ฅ์ฑ ๋ฉด์์ ๊ฐ์ฅ ๋๋๋ฌ์ง๋๋ฐ, RDBMS๋ ํ๋์จ์ด ์์ฒด๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๊ฐ์์น์์ผ ํ๋ค๋ฉด Hadoop์ ๊ธฐ์กด ํ๊ฒฝ์์ ๊ฐ ์ผ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋, ์ํฉ์ ๋ฐ๋ผ ์ผ๋ถ๋ฅผ ๋นผ๋ ๊ฒ๋ ์ฝ๋ค.
์์์ ๋ค๋ฃจ์๋ OLTP์ OLAP์ ๊ฐ๊ฐ ์ฌ์ฉ๋๋ฉฐ OLTP๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ACID ํ๊ฒ ๋ค๋ฃจ๊ณ OLAP๋ ๊ตฌ์กฐํ๋์ง ์์ ๋ฐ์ดํฐ๋ผ๋ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ผ๋ฉฐ ๋ถ์์ ์ค์ ์ ๋๋ค.
๊ตฌ์ฑ ๋ชจ๋ 4๊ฐ์ง
Hadoop์ 4๊ฐ์ง ์ฃผ์ ๋ชจ๋๋ก ๊ตฌ์ฑ๋๋ค. ์ด ๋ค ๊ฐ์ง ๋ชจ๋์ ํจ๊ป ๋น ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ์ ํต์ฌ ์ญํ ์ ํ๋ค.
- Hadoop Common
Hadoop์ ๋ค๋ฅธ ๋ชจ๋์ ์ง์ํ๋ ๊ณตํต ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณต - Hadoop Distributed File System (HDFS)
์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ์ ๋ํ ๋์ ์ฒ๋ฆฌ๋์ ์ ๊ณตํ๋ ๋ถ์ฐ ํ์ผ ์์คํ (Java-based)
๋๋ฌด ํฐ ๋ฐ์ดํฐ๋ ํ๋์ ์๋ฒ์ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์, ์ ๋นํ ํฌ๊ธฐ์ Block์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋๋์ด ์ฌ๋ฌ ๋์ ์ปดํจํฐ์ ๋๋์ด ์ ์ฅ - Hadoop YARN
์์ ์ค์ผ์ค๋ง๊ณผ ํด๋ฌ์คํฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ํ ํ๋ ์์ํฌ - Hadoop MapReduce
YARN ๊ธฐ๋ฐ์ ์์คํ ์ผ๋ก, ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ก์ธ์ฑ ๋ชจ๋ธ์ ์ ๊ณต
ํ๋ก์ ๊ธฐ๋ฐ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ ์ด ๋๊ณ ๊ทธ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ๋ผ๊ฐ๋ ๊ตฌ์กฐ์ด๋ค.
Yarn์ ํ๋ก 2.0 ์์์ ๋ถ์ฐ ์ปดํจํ ์์คํ ์ด๋ฆ์ด๋ฉฐ Spark๋ ํ๋ก 2.0 ์์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ ์ด์ด๋ก ์คํ๋๋ค.
ํ๋ก์ ์ค์ ๋ก ์จ๋ณด๋ ค๋ฉด ์ต์ ๋ง์คํฐ PC 1, Slave PC 3๋๊ฐ ํ์ํ๋ค.
์์ชฝ์ Masters๋ ํ๋ ๋ฟ์ด๋ผ ์ฃฝ์ผ๋ฉด ์๋๋ค. federation์ผ๋ก ๊ตฌํํ๋ค.
๊ทธ๋ฆผ์ NameNode๋ ๋ฐ์ดํฐ ์์ ์ ์๋์ ์ ์ดํ๋ค. HDFS์์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ ์ชผ๊ฐ์ ์ฌ๋ฌ๋์ ๋ถ์ฐ์์ผ ์ ์ฅํ๋ค๊ณ ํ์๋๋ฐ, ์ด๋ค ์ปดํจํฐ์ ์ด๋ค block์ด ์๋์ง๋ฅผ NameNode๊ฐ ๊ด๋ฆฌํ๋ค. ์ด๋ ํ ์ปดํจํฐ๊ฐ ์ฃฝ์ผ๋ฉด ๊ทธ ์ปดํจํฐ์ ๋ธ๋ก์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์, ์๋ ์ฌ์ง์ฒ๋ผ ์ค๋ณตํด์ ๋ธ๋ก๋ค์ ๋ถ์ฐ์์ผ ์ ์ฅํ๋ค. ํ ์์คํ ์ด ๋จนํต์ด ๋์ด๋ ์ ๊ทผํ ์ ์๋๋ก
๊ทธ ์ธ์ Datanode๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ธ๋ก ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ , ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ ธ๋์ ๋ณต์ ํ๋ค. SecondaryNameNode๋ ๊ธฐ๋ณธ NameNode๊ฐ ์คํ๋ผ์ธ์ด ๋๋ฉด ๋์ ์ํํ๋ค.
MapReduce
MapReduce๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌํ๊ณ ์์ฑํ๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ด์ ์ด๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด์ด๋ค.
๋ค์ํ ์ค์ธ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ ํฉํ๋ฉฐ, ์ฌ์ฉ์๋ ๊ณ์ฐ์ map ํจ์์ reduce ํจ์์ ํํ๋ก ์ ์ํ๋ค.
๋ด๋ถ ๋ฐํ์ ์์คํ ์ด ์๋์ผ๋ก ๋๊ท๋ชจ ํด๋ฌ์คํฐ์ ์ฌ๋ฌ ๋จธ์ ์ ๊ณ์ฐ์ ๋ณ๋ ฌ๋ก ๋ถ์ฐํ๋ค.
๋จธ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ๋คํธ์ํฌ์ ๋์คํฌ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ ธ๋ ๊ฐ์ ํต์ ์ ๊ด๋ฆฌํ๋ค.
Map์ ํค/๊ฐ ์์ ์ฒ๋ฆฌํ์ฌ ์ค๊ฐ ํค/๊ฐ์ ์์ฑํ๋ค. ์ฆ ๋ฌธ์ ๋ฅผ ๋ ์์ ๋ฌธ์ ๋ก ๋๋์ด ๋ถ์ฐ ํด๊ฒฐ ํ๋๊ฒ์ด๊ณ ,
Reduce์ ๋์ผํ ์ค๊ฐ ํค์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๊ฐ์ ๋ณํฉํ๋ค. ๋ถ์ฐํ ๋ฌธ์ ๋ณ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ทจํฉํ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, ์ฑ ํ๊ถ์์ ๋จ์ด๋ณ ์ถ์ฐ ๋น๋์๋ฅผ ์ผ๋ค๋ฉด
Map์ ์์ด๋ค ๊ฐ๊ฐ์๊ฒ ํ ํ์ด์ง์ฉ ๋๋์ด ์ฃผ๊ณ , <๋จ์ด,๋น๋์>๋ฅผ ๊ฐ๊ฐ ํฌ์คํธ์์ ์ ์ด ๋ณด๊ณ ํ๋๋ก ํ๋ ๊ฒ์ด๊ณ
Reduce๋ A/B/C/D/E... ๋ณ๋ก ํฌ์คํธ์์ ์ทจํฉํ์ฌ ๊ฐ๊ฐ ์ซ์๋ฅผ ๋ํ๋ ๊ฒ์ด๋ค.
๊ตฌ๊ธ์์ 2003๋ ๊ฐ๋ฐ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก์ MapReduce๋ฅผ ํตํด ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ ์ฒ๋ฆฌํ ๊ธฐ๋ก์ด ์๋ค.
'Database > ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] โ๏ธ ๋ฐ์ดํฐ ๋ง์ด๋(Data Mining) (1) | 2024.12.07 |
---|---|
[DB] ๐ NoSQL์ ํน์ง๊ณผ ์ข ๋ฅ (0) | 2024.12.07 |
[DB] ๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ฑ ๐๏ธ ๊ตฌ์กฐ with MySQL (0) | 2024.12.06 |
[DB] ๐ ๋์์ฑ ์ ์ด(Concurrency Control) with MySQL (1) | 2024.12.06 |
[DB] ๐ ํธ๋์ญ์ (Transaction), ํ๋ณต(Recovery) with MySQL (0) | 2024.12.02 |