
Hive์์ Iceberg๋ก, ๋น ๋ฐ์ดํฐ ํ ์ด๋ธ ํฌ๋งท์ ์งํ
Hive์์ Iceberg๋ก, ๋น ๋ฐ์ดํฐ ํ ์ด๋ธ ํฌ๋งท์ ์งํ ๊ด๋ จ
๋น ๋ฐ์ดํฐ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ์์คํ ์ฑ๋ฅ๊ณผ ๋น์ฆ๋์ค ์์ฌ๊ฒฐ์ ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ค๋ซ๋์ Apache Hive ํ ์ด๋ธ ํฌ๋งท์ด ๋น ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๋ถ์์ ํ์ค์ผ๋ก ์ฌ์ฉ๋์ด ์์ง๋ง, ์ต๊ทผ์๋ Netflix๊ฐ ๊ฐ๋ฐํ Apache Iceberg ํ ์ด๋ธ ํฌ๋งท์ผ๋ก์ ์ ํ์ด ๋น ๋ฅด๊ฒ ์ด๋ฃจ์ด์ง๊ณ ์์ฃ .
์ด ๊ธ์์๋ ๋ ํ ์ด๋ธ ํฌ๋งท์ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์ ๊ณผ ์ด๋ฌํ ๊ธฐ์ ์ ํ์ด ๋น์ฆ๋์ค์ ๋ฏธ์น๋ ์ํฅ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.

๋ฐ์ดํฐ ๋ ์ดํฌ์ ํ ์ด๋ธ ํฌ๋งท ์ดํดํ๊ธฐ
๋ฐ์ดํฐ ๋ ์ดํฌ(Data Lake)๋ ๊ธฐ์ ์ ๋ชจ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฑฐ๋ํ ๋์งํธ ์ ์ฅ์์ ๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์กฐํํ๊ณ , ์ ๊ทผํ๊ณ , ๋ถ์ํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ํ ์ด๋ธ ํฌ๋งท์ ์ ํ์ ๋งค์ฐ ์ค์ํ์ฃ . ํนํ ๋ฐ์ดํฐ ๊ท๋ชจ๊ฐ ํ ๋ผ๋ฐ์ดํธ, ํํ๋ฐ์ดํธ ๋จ์๋ก ์ฆ๊ฐํ๋ฉด์ ๊ธฐ์กด ํ ์ด๋ธ ํฌ๋งท์ ํ๊ณ๊ฐ ๋๋ฌ๋๊ณ ์์ต๋๋ค.
๋น ๋ฐ์ดํฐ ํ ์ด๋ธ ํฌ๋งท์ ๋จ์ํ ํ์ผ ๊ตฌ์กฐ๊ฐ ์๋ ๋น์ฆ๋์ค ์์ฌ๊ฒฐ์ ์ ํต์ฌ ๊ธฐ๋ฐ์ด ๋๋ ๊ฒ์ด์ฃ . ํ ์ด๋ธ ํฌ๋งท์ ํจ์จ์ฑ์ ๋ฐ์ดํฐ ๋ถ์์ ์๋์ ์ ํ์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ด๋ ์์ฅ ๋ณํ์ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
Hive ํ ์ด๋ธ ํฌ๋งท: ๋น ๋ฐ์ดํฐ์ ์์
Apache Hive๋ Facebook(ํ Meta)์์ ๊ฐ๋ฐํ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์๋ฃจ์ ์ผ๋ก, Hadoop ์ํ๊ณ์ ํต์ฌ ๊ตฌ์ฑ ์์์ ๋๋ค. Hive ํ ์ด๋ธ ํฌ๋งท์ SQL๊ณผ ์ ์ฌํ HiveQL์ ํตํด ์ ๊ทผํ ์ ์๋ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์์ ์ ๊ณตํ๋ฉฐ, ๋ณต์กํ MapReduce ํ๋ก๊ทธ๋๋ฐ ์์ด๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ์ ์๊ฒ ํด์ฃผ์์ฃ .

์ถ์ฒ: wiki
Hive๋ ๋น์ฆ๋์ค ๊ด์ ์์ ํฐ ํ์ ์ด์์ต๋๋ค. ๊ธฐ์ ๋ค์ ๋ณ๋์ ์ ๋ฌธ ๊ฐ๋ฐ์๋ฅผ ๊ณ ์ฉํ์ง ์๊ณ ๋ SQL์ ์ต์ํ ๋ฐ์ดํฐ ๋ถ์๊ฐ๋ค์ด ๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ์ ์๊ฒ ๋์์ด์. ์ด๋ ๋ง์น ์์ ์์ SQL๋ก ์ ๊ทธ๋ ์ด๋ํ ๊ฒ์ฒ๋ผ, ๊ธฐ๊ฐ๋ฐ์ดํธ ๋จ์๋ฅผ ๋์ด ํ ๋ผ๋ฐ์ดํธ, ํํ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ฃผ์์ฃ .
Hive ํ ์ด๋ธ ํฌ๋งท์ ๊ตฌ์กฐ๋ฅผ 3๋จ๊ณ๋ก ๋๋์ด ์ค๋ช ํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ: ์ค์ ๋ฐ์ดํฐ๋ HDFS(Hadoop Distributed File System)๋ Amazon S3์ ๊ฐ์ ๋ถ์ฐ ํ์ผ ์์คํ ์ ์ ์ฅ๋ฉ๋๋ค. ์ด๋ ๋์๊ด์ ์๋ง์ ์ฑ ์ด ์ฌ๋ฌ ์๊ฐ์ ๋ถ๋ฅ๋์ด ๋ณด๊ด๋๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ: ํ ์ด๋ธ ์ ๋ณด, ์ปฌ๋ผ ์ ๋ณด, ํํฐ์ ์ ๋ณด ๋ฑ์ HMS(Hive Metastore Service)๋ผ๋ ์ค์ ์ ์ฅ์์ ๋ณด๊ด๋ฉ๋๋ค. ์ด๋ "์ด๋ค ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์๋์ง"๋ฅผ ์๋ ค์ฃผ๋ ์นดํ๋ก๊ทธ ์ญํ ์ ํฉ๋๋ค.
- ์ฟผ๋ฆฌ ์ฒ๋ฆฌ: ์ฌ์ฉ์ ์ฟผ๋ฆฌ๋ HMS์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ํ, ํ์ํ ๋ฐ์ดํฐ ํ์ผ์ ์ฐพ์ ์ฒ๋ฆฌํฉ๋๋ค. ๋ง์น ๋์๊ด์์ ์นดํ๋ก๊ทธ๋ฅผ ๋จผ์ ํ์ธํ ํ ํด๋น ์์น์ ์ฑ ์ ์ฐพ์๊ฐ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ ๋๋ค.
Hive ํ ์ด๋ธ ํฌ๋งท์ ํ๊ณ์
Hive ํ ์ด๋ธ ํฌ๋งท์ ๋ฐ์ดํฐ ๊ท๋ชจ๊ฐ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๋ฉด์ ์ฌ๋ฌ ํ๊ณ์ ์ง๋ฉดํ์ต๋๋ค.
1. ๋ฉํ์คํ ์ด ๋ณ๋ชฉ ํ์
ํํฐ์ (๋ฐ์ดํฐ๋ฅผ ๋ ์ง, ์ง์ญ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ๋๋ ์ ์ฅํ๋ ๋จ์) ์๊ฐ ์๋ง ๊ฐ๋ก ์ฆ๊ฐํ๋ฉด HMS์ ์ฌ๊ฐํ ๋ถํ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ ๊ธฐ์ ์์๋ ๊ณ ๊ฐ ํ๋ ๋ก๊ทธ ํ ์ด๋ธ์ ํํฐ์ ์๊ฐ 10๋ง ๊ฐ๋ฅผ ๋์ด์์ ๋จ์ํ "์ง๋๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค"๋ผ๋ ์ฟผ๋ฆฌ๋ ์ค๋น ๋จ๊ณ์์๋ง 5๋ถ ์ด์ ์์๋๋ ์ํฉ์ด ๋ฐ์ํ์ฃ .
์ด๋ฐ ์ง์ฐ์ ๋ง์ผํ ํ์ด ์บ ํ์ธ ์ฑ๊ณผ๋ฅผ ๋ถ์ํ๊ฑฐ๋, ์ธ์ผ์ฆ ํ์ด ์ค์๊ฐ ํ๋งค ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ ค ํ ๋ ๋ช ๋ถ์ฉ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๋ฉด ์ ๋ฌด ํจ์จ์ฑ์ด ํฌ๊ฒ ์ ํ๋์ฃ . ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฅธ ์์ฌ๊ฒฐ์ ์ด ํ์ํ ๊ฒฝ์ ํ๊ฒฝ์์, ์ด๋ ๋น์ฆ๋์ค ๊ธฐํ ์์ค๋ก ์ง๊ฒฐ๋ ์ ์์ต๋๋ค. ์ค์๊ฐ ๊ฐ๊ฒฉ ์กฐ์ ์ด๋ ์ฌ๊ณ ๊ด๋ฆฌ ๊ฐ์ ์๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ฌด๊ฐ ํฌ๊ฒ ์ํฅ์ ๋ฐ๊ฒ ๋๋ ๊ฑฐ์ฃ .
2. ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ฌธ์
Hive๋ ๊ธฐ๋ณธ์ ์ผ๋ก ACID(์์์ฑ, ์ผ๊ด์ฑ, ๊ณ ๋ฆฝ์ฑ, ์ง์์ฑ) ํธ๋์ญ์ ์ ์์ ํ ์ง์ํ์ง ์์์. ์ด๋ก ์ธํด ETL ์์ ์คํจ ์ ๋ฐ์ดํฐ๊ฐ ๋ถ์์ ํ ์ํ๋ก ๋จ๊ฑฐ๋, ๋์ ์์ ์ ๋ฐ์ดํฐ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ํ ์์คํ ์ผ๋ก ์๋ฅผ ๋ค์ด๋ณด๋ฉด, A์ B๊ฐ ๋์์ ๊ฐ์ ๊ณ์ข์์ ์ถ๊ธํ ๋ ์์ก์ด ์ ํํ ๊ณ์ฐ๋์ด์ผ ํ๋ ๊ฒ์ฒ๋ผ, ๋ฐ์ดํฐ ์์คํ ๋ ๋์ ์์ ์ ์ ํ์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํฉ๋๋ค. ํ์ง๋ง Hive์์๋ ์ด๋ฐ ๋ณด์ฅ์ด ๋ฏธํกํด ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๊ฑฐ๋ ์ผ๋ถ ์์ค๋ ์ํ์ด ์์ต๋๋ค.
๊ธ์ต ์๋น์ค ํ์ฌ์์ ๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋๊ฑฐ๋ ์ค๋ณต๋๋ค๋ฉด ์ฌ๋ฌด ๋ณด๊ณ ์์ ์ ํ์ฑ์ด ์์๋๊ณ , ์ด๋ ๊ท์ ์ค์ ๋ฌธ์ ๋ ๊ฐ์ฌ ์คํจ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ด์ปค๋จธ์ค ๊ธฐ์ ์ ๊ฒฝ์ฐ, ์ฌ๊ณ ๋ฐ์ดํฐ๊ฐ ์ ํํ์ง ์์ผ๋ฉด ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ ์ํ์ด ์ค์ ๋ก๋ ์ฌ๊ณ ๊ฐ ์๋ ์ํฉ์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ ๊ณ ๊ฐ ๊ฒฝํ ์ ํ์ ๋ธ๋๋ ์ ๋ขฐ๋ ํ๋ฝ์ผ๋ก ์ด์ด์ง๋๋ค.
3. ๋ณต์กํ ํํฐ์ ๊ด๋ฆฌ
Hive์์ ํํฐ์ ๋(Partitioning)์ ์ฑ๋ฅ์ ์ํด ํ์์ ์ด์ง๋ง, ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ์ ํํฐ์ ์ด ์์ฑ๋๋ฉด ์๋์ผ๋ก ๋ช ๋ น์ด๋ฅผ ์คํํด HMS์ ๋ฑ๋กํด์ผ ํฉ๋๋ค. ์ด๋ ๋ง์น ๋์๊ด์ ์ ์ฑ ์ฅ์ด ์ถ๊ฐ๋ ๋๋ง๋ค ์ฌ์๊ฐ ์ง์ ์นดํ๋ก๊ทธ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์๋ํ๋์ง ์์ ์ด ๊ณผ์ ์ ์ด์ ๋ถ๋ด์ ํฌ๊ฒ ๋๋ฆฌ๊ณ , ์ฌ๋์ ์ค์๋ก ์ธํ ์ค๋ฅ ๊ฐ๋ฅ์ฑ๋ ๋์์ง๋๋ค. ๋ฐ์ดํฐ ์์ง๋์ด๋ค์ ์ค์ ๋ฐ์ดํฐ ๋ถ์๋ณด๋ค ์ด๋ฌํ ๊ด๋ฆฌ ์์ ์ ๋ ๋ง์ ์๊ฐ์ ํฌ์ํ๊ฒ ๋์ด, ํ์ ์ ์ธ ๋ฐ์ดํฐ ํ์ฉ๋ณด๋ค๋ ์์คํ ์ ์ง์ ๋ฆฌ์์ค๊ฐ ์๋ชจ๋ฉ๋๋ค.
4. ์ ํ์ ์ธ ์คํค๋ง ์งํ
์ด์ ์ค์ธ ํ ์ด๋ธ์ ๊ตฌ์กฐ(์คํค๋ง)๋ฅผ ๋ณ๊ฒฝํ๋ ์์ ์ Hive์์ ๋งค์ฐ ์ ํ์ ์ด๊ณ ์ํํฉ๋๋ค. ์ปฌ๋ผ ์ถ๊ฐ๋ ๊ฐ๋ฅํ์ง๋ง, ์ด๋ฆ ๋ณ๊ฒฝ์ด๋ ํ์ ๋ณ๊ฒฝ์ ๊ธฐ์กด ๋ฐ์ดํฐ์์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ฃ .
์ด๋ ๋ง์น ๋ฌ๋ฆฌ๋ ๊ธฐ์ฐจ์ ๋ถํ์ ๊ต์ฒดํ๋ ๊ฒ์ฒ๋ผ ๊น๋ค๋กญ๊ณ ์ํํ ์์ ์ ๋๋ค. ์ค์๋ก ์คํค๋ง๋ฅผ ์๋ชป ๋ณ๊ฒฝํ๋ฉด ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๊ฒ ๋๊ฑฐ๋, ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์๊ณก๋ ์ ์์ด์ ๋ง์ ๋ฐ์ดํฐ ์์ง๋์ด๋ค์ด ์ด ์์ ์ ๊บผ๋ คํฉ๋๋ค.
๋น์ฆ๋์ค๊ฐ ๋น ๋ฅด๊ฒ ๋ณํํ๊ณ ์๋ก์ด ๋ถ์ ์๊ตฌ์ฌํญ์ด ์ง์์ ์ผ๋ก ๋ฐ์ํ๋ ํ๊ฒฝ์์, ์ด๋ฌํ ์ ํ์ ๋ฐ์ดํฐ ํ์ฉ์ ์ ์ฐ์ฑ์ ํฌ๊ฒ ์ ํดํ๊ณ ๋น์ฆ๋์ค ๋ฏผ์ฒฉ์ฑ์ ๋จ์ด๋จ๋ฆฝ๋๋ค.
Apache Iceberg: ํ๋์ ํ ์ด๋ธ ํฌ๋งท์ ๋ฑ์ฅ
Netflix์์ ๊ฐ๋ฐํ Apache Iceberg๋ Hive ํ ์ด๋ธ ํฌ๋งท์ ํ๊ณ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ๊ธฐ ์ํ ์คํ ํ ์ด๋ธ ํฌ๋งท์ ๋๋ค. ํ์ฌ๋ Apache ์ฌ๋จ์ ์ต์์ ํ๋ก์ ํธ๋ก ์ฑ์ฅํ์ผ๋ฉฐ, Netflix, Apple, LinkedIn ๋ฑ ๋ง์ ๊ธ๋ก๋ฒ ๊ธฐ์ ๋ค์ด ๋์ ํ๊ณ ์์ด์.
Iceberg๋ ๋จ์ํ ๊ธฐ์ ์ ๊ทธ๋ ์ด๋๊ฐ ์๋ ํ ์ด๋ธ ํฌ๋งท์ ํจ๋ฌ๋ค์ ์ ํ์ ์๋ฏธํ๋ ๊ฒ์ด์ฃ . ์ด๊ธฐ ๋์ ๋น์ฉ๋ณด๋ค ๋ฐ์ดํฐ ์ ์ง๋ณด์ ๋น์ฉ ์ ๊ฐ, ์์ฌ๊ฒฐ์ ์๋ ํฅ์, ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋น์ฆ๋์ค ๊ธฐํ ํ๋ ๋ฑ์ ์ฅ๊ธฐ์ ์ด์ ์ด ํจ์ฌ ํด ์ ์์ต๋๋ค.

์ถ์ฒ: ๊ณต์ ์น์ฌ์ดํธ
1. ์ค๋ ์ท ๊ธฐ๋ฐ ๋ฒ์ ๊ด๋ฆฌ
Iceberg๋ ํ ์ด๋ธ์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ '์ค๋ ์ท(Snapshot)'์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค. ์ค๋ ์ท์ ํน์ ์์ ์ ํ ์ด๋ธ ์ํ๋ฅผ ์ ์ฅํด๋ ๊ฒ์ผ๋ก, ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ฌ์ฉํ๋ Git๊ณผ ์ ์ฌํ ๊ฐ๋ ์ด์ฃ . ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ, ์์ , ์ญ์ ๋ ๋๋ง๋ค ์๋ก์ด ์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค. ๊ฐ ์ค๋ ์ท์ ํน์ ์์ ์ ํ ์ด๋ธ ์ํ๋ฅผ ์ ํํ ๋ํ๋ด๋ฉฐ, ๋ถ๋ณ(Immutable)์ด์ฃ .
์ด๋ฐ ๋ฐฉ์ ๋๋ถ์ "2์ฃผ ์ ๋ฐ์ดํฐ๋ ์ด๋ ์ง?"๋ผ๊ณ ๋ฌผ์ด๋ณผ ์ ์๊ณ (Time Travel), ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ์๋ชป ๋ณ๊ฒฝ๋์๋ค๋ฉด ์ด์ ์ค๋ ์ท์ผ๋ก ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ต๋๋ค(Rollback). ๋ง์น ์๋ ํ๋ก์ธ์์์ ๋ฌธ์์ ์ด์ ๋ฒ์ ์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ฒ๋ผ ๊ฐํธํ์ฃ .
2. ์์ฒด ํฌํจ๋ ๋ฉํ๋ฐ์ดํฐ
Iceberg์ ๋ ๋ค๋ฅธ ํต์ฌ ํน์ง์ ํ ์ด๋ธ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ ์์คํ (HMS)์ ์์กดํ์ง ์๊ณ , ํ ์ด๋ธ ๋ฐ์ดํฐ์ ํจ๊ป ์คํ ๋ฆฌ์ง์ ์ง์ ์ ์ฅํ๋ค๋ ์ ์ ๋๋ค. ํ ์ด๋ธ์ ์ต์ ์ํ๋ ์ต์์ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋ก๋๋ฉฐ, ๊ฐ ์ค๋ ์ท์ ์ธ๋ถ ์ ๋ณด๋ ๊ณ์ธต์ ์ผ๋ก ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅ๋์ฃ .
์ด๋ฐ ๊ตฌ์กฐ๋ ๋ง์น ์ฑ ์์ฒด์ ๋ชฉ์ฐจ์ ์์ธ์ด ํฌํจ๋์ด ์์ด ์ธ๋ถ ์นดํ๋ก๊ทธ ์์ด๋ ๋ด์ฉ์ ์ฐพ์ ์ ์๋ ๊ฒ๊ณผ ๋น์ทํฉ๋๋ค. ์ฟผ๋ฆฌ ์์ง์ ์ด ๋ฉํ๋ฐ์ดํฐ ํ์ผ๋ค์ ํตํด ํ์ํ ๋ฐ์ดํฐ ํ์ผ๋ง ์ ํํ ์ฐพ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค.

Iceberg๊ฐ Hive๋ฅผ ๋์ฒดํ๋ ์ด์
1. ์์์ ํธ๋์ญ์ ์ผ๋ก ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ณด์ฅ
Iceberg๋ ๋ชจ๋ ํ ์ด๋ธ ๋ณ๊ฒฝ ์์ ์ ์์์ (Atomic)์ผ๋ก ์ํํฉ๋๋ค. ์์์ ์ด๋ ์์ ์ '์์ ํ ์ฑ๊ณตํ๊ฑฐ๋ ์์ ์คํ๋์ง ์๋' ์์ฑ์ ์๋ฏธํ์ฃ . ๋ณ๊ฒฝ ์์ ์ด ์๋ฃ๋๋ฉด ์ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ์์ฑํ๊ณ , ๋ง์ง๋ง ๋จ๊ณ์์ ํ ์ด๋ธ ํฌ์ธํฐ๋ฅผ ์์์ ์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
์ํ ๊ฑฐ๋๋ก ๋น์ ํ์๋ฉด, ์ก๊ธ ๊ณผ์ ์ด ์ค๊ฐ์ ๋๊ธฐ์ง ์๊ณ '๋ชจ๋ ์ฑ๊ณตํ๊ฑฐ๋ ์์ ์คํจํ๊ฑฐ๋' ๋ ์ค ํ๋๋ง ๊ฐ๋ฅํ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์์ ์ด ์คํจํด๋ ํ ์ด๋ธ์ ์ด์ ์ํ๋ฅผ ์๋ฒฝํ๊ฒ ์ ์งํ๊ณ , ์ฌ๋ฌ ์์ ์ด ๋์์ ์งํ๋์ด๋ ์๋ก ๊ฐ์ญํ์ง ์์ ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ์ด ํฌ๊ฒ ํฅ์๋ฉ๋๋ค.
2. ๋ฉํ๋ฐ์ดํฐ ๋ณ๋ชฉ ํด์ ๋ฐ ์ฑ๋ฅ ํฅ์
Iceberg๋ ์ค์ HMS์ ์์กดํ์ง ์๊ณ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ์ง์ ์ฝ์ด ์ฒ๋ฆฌํฉ๋๋ค. ๋ํ ํํฐ์ ๊ณผ ํ์ผ ์์ค์ ํต๊ณ ์ ๋ณด๋ฅผ ํ์ฉํด ํ์ํ ๋ฐ์ดํฐ ํ์ผ๋ง ์ ํํ ํํฐ๋งํ ์ ์์ด์. ์ด๋ฅผ 'ํ๋ฃจ๋(Pruning)'์ด๋ผ๊ณ ํ๋๋ฐ, ํ์ ์๋ ๋ฐ์ดํฐ๋ ์์ ์ฝ์ง ์๊ณ ๊ฑด๋๋ฐ์ด ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํค๋ ๊ธฐ์ ์ ๋๋ค.
์ด๋ ๋ง์น ๋์๊ด์์ ์นดํ๋ก๊ทธ์ค์ ๊ฐ์ง ์๊ณ ๋ ๊ฐ ์ฑ ์ฅ์ ๋ถ์ฐฉ๋ ์์ธ ๋ชฉ๋ก์ ํตํด ํ์ํ ์ฑ ๋ง ๋ฐ๋ก ์ฐพ์ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. Netflix์ ๊ฒฝ์ฐ, ์๋ฐฑ๋ง ๊ฐ ํ์ผ๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ์์ Hive๋ ์ฟผ๋ฆฌ ๊ณํ ์๋ฆฝ์๋ง ๋ช ๋ถ์ด ๊ฑธ๋ ธ์ง๋ง, Iceberg์์๋ ์ ์ด ๋ด๋ก ๋จ์ถ๋์์ต๋๋ค. ์ผ๋ถ ๋ถ์ ์ฟผ๋ฆฌ๋ ์ฒ๋ฆฌ ์๊ฐ์ด ์ต๋ 10๋ฐฐ๊น์ง ๋จ์ถ๋๋ ๋๋ผ์ด ์ฑ๋ฅ ๊ฐ์ ์ ๋ณด์์ต๋๋ค.
3. ์์ ํ๊ณ ์ ์ฐํ ์คํค๋ง ์งํ
Iceberg๋ ์ปฌ๋ผ์ ์ด๋ฆ์ด ์๋ ๊ณ ์ ID๋ก ์ถ์ ํฉ๋๋ค. ์คํค๋ง(schema)๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๊ฒ์ผ๋ก, ํ ์ด๋ธ์ ์ปฌ๋ผ ์ด๋ฆ, ๋ฐ์ดํฐ ํ์ , ์์ ๋ฑ์ ํฌํจํฉ๋๋ค. Iceberg์์๋ ์ด ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๋ฌธ์ ๊ฐ ์๋๋ก ๊ฐ ์ปฌ๋ผ์ ๊ณ ์ ID๋ฅผ ๋ถ์ฌํฉ๋๋ค. ์ด๋ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ์ฒ๋ผ ๋ณํ์ง ์๋ ์๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๋๋ถ์ ์ปฌ๋ผ ์ถ๊ฐ/์ญ์ , ์ปฌ๋ผ ์ด๋ฆ ๋ณ๊ฒฝ, ์์ ํ ์ปฌ๋ผ ํ์ ๋ณ๊ฒฝ(int โ long ๋ฑ), ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ฌ์์ฑํ ํ์ ์์ด ํํฐ์ ๋ฐฉ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ง์น ๊ฑด๋ฌผ์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ฒ ๊ฑฐํ๊ณ ๋ค์ ์ง๋ ๋์ , ๊ฐ๋จํ ๋ฒฝ๋ง ์ฌ๋ฐฐ์นํ๋ ๊ฒ์ฒ๋ผ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง๋ ๊ฑฐ์ฃ .
4. ์๋ํ๋ ํํฐ์ ๊ด๋ฆฌ
Iceberg์์๋ ํํฐ์ ๊ด๋ฆฌ๊ฐ ๋๋ถ๋ถ ์๋ํ๋์ด ์์ต๋๋ค. ์ ํํฐ์ ์ด ์๋์ผ๋ก ์ธ์๋๊ณ , ์จ๊ฒจ์ง ํํฐ์ ๋(Hidden Partitioning)์ผ๋ก ์ฟผ๋ฆฌ ์์ฑ์ด ๊ฐํธํด์ง๋ฉฐ, ํํฐ์ ์งํ(Evolution) ์ง์์ผ๋ก ํํฐ์ ์ ๋ต ๋ณ๊ฒฝ์ด ์ฉ์ดํด์ก์ต๋๋ค.
์จ๊ฒจ์ง ํํฐ์ ๋์ด๋ ์ฌ์ฉ์๊ฐ ํํฐ์ ๊ตฌ์กฐ๋ฅผ ์ง์ ์ ๊ฒฝ ์ฐ์ง ์๊ณ ์ผ๋ฐ ์กฐ๊ฑด์ ๋ง์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๊ฒ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์๋ฅผ ๋ค์ด, Hive์์๋ "WHERE year=2023 AND month=12"์ ๊ฐ์ด ํํฐ์ ์ปฌ๋ผ์ ๋ช ์ํด์ผ ํ์ง๋ง, Iceberg์์๋ "WHERE event_date='2023-12-01'"์ฒ๋ผ ์ผ๋ฐ์ ์ธ ๋ ์ง ์กฐ๊ฑด๋ง์ผ๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
Adobe๋ Iceberg ๋์ ํ ํํฐ์ ๊ด๋ฆฌ ์ค๋ฒํค๋๊ฐ 90% ์ด์ ๊ฐ์ํ์ผ๋ฉฐ, ๋ฐ์ดํฐ ์์ง๋์ด๋ค์ ์ด์ ๋ถ๋ด์ด ํฌ๊ฒ ์ค์์ต๋๋ค. ์ด๋ ๋ง์น ์๋์ผ๋ก ํ์ผ์ ์ ๋ฆฌํ๋ ์์ ์ด ์๋ ๋ถ๋ฅ ์์คํ ์ผ๋ก ๋์ฒด๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ์ ๋๋ค.

๊ธ๋ก๋ฒ ๊ธฐ์ ๋ค์ Iceberg ๋์ ์ฌ๋ก
1. Netflix
Netflix๋ ๋งค์ผ ์ ํํ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํ๊ฒฝ์์ Hive์ ํ๊ณ์ ์ง๋ฉดํ์ต๋๋ค. ETL ์์ ์คํจ๋ ๋์ ์ฐ๊ธฐ๋ก ์ธํ ๋ฐ์ดํฐ ๋ถ์ผ์น๊ฐ ๋น๋ฒํ๊ณ , ์์ต ๊ฐ์ ํ์ผ๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋์์ต๋๋ค.
Iceberg ๋์ ํ ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ฌธ์ ๊ฐ ํด์๋์๊ณ , ์ผ๋ถ ๋ถ์ ์์ ์ 10๋ฐฐ ์ด์ ๋นจ๋ผ์ก์ต๋๋ค. ํนํ Time Travel ๊ธฐ๋ฅ์ผ๋ก ๋ฐ์ดํฐ ๋ณต๊ตฌ๊ฐ ๊ฐํธํด์ ธ ์ด์ ์์ ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ์ด์ Netflix๋ ์ค์๋ก ๋ฐ์ดํฐ๊ฐ ์๋ชป ๋ณ๊ฒฝ๋์ด๋ ์ฝ๊ฒ ์ด์ ์ํ๋ก ๋ณต์ํ ์ ์๊ฒ ๋์์ต๋๋ค.
Netflix์ ๋ฐ์ดํฐ ์ธํ๋ผ ๊ฐ์ ์ ์ฝํ ์ธ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ๋์ ์๋๋ฅผ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. ์ด๋ ์ฌ์ฉ์ ์ฐธ์ฌ๋ ์ฆ๊ฐ์ ์ดํ๋ฅ ๊ฐ์๋ก ์ด์ด์ก์ผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ตฌ๋ ์ ์ ์ง์จ์ด ๊ฐ์ ๋์์ต๋๋ค. ๋ํ ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ก ์ธํ ์ด์ ์ค๋จ์ด 77% ๊ฐ์ํ์ฌ ์ฐ๊ฐ ์๋ฐฑ๋ง ๋ฌ๋ฌ์ ๋น์ฉ์ ์ ๊ฐํ์ต๋๋ค.
2. Apple
Apple์ ๊ธ๋ก๋ฒ ๊ท๋ชจ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด Iceberg๋ฅผ ๋์ ํ์ต๋๋ค. Apple์ด ์ง๋ฉดํ ์ฃผ์ ๊ณผ์ ๋ ๋ค์ํ ์ ํ๊ณผ ์๋น์ค์์ ๋ฐ์ํ๋ ๋ฐฉ๋ํ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ถ์ํด์ผ ํ๋ค๋ ์ ์ด์์ต๋๋ค.
Iceberg ๋์ ์ผ๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ์์ ์ฑ๊ณผ, ํนํ ๋์ ์ฐ๊ธฐ ์ํฉ์์์ ์ ๋ขฐ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ๋ํ ์คํค๋ง ์งํ ๊ธฐ๋ฅ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ณํํ๋ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ๋ณต์กํ ์์ ์ด์์ง๋ง, ์ด์ ๋ ์๋ก์ด ๋ถ์ ์๊ตฌ์ฌํญ์ด ์๊ฒจ๋ ์ ์ํ๊ฒ ์คํค๋ง๋ฅผ ์กฐ์ ํ ์ ์๊ฒ ๋์์ต๋๋ค.
Apple์ App Store ๋ฐ Apple ์๋น์ค ์ ๋ฐ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ ๋ถ์ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋์๋ค๊ณ ๋ณด๊ณ ํ์ต๋๋ค. ์ด๋ ๊ฐ๋ฐ์ ์ํ๊ณ ์ง์๊ณผ ์ฑ ๋ง์ผํ๋ ์ด์ค ์ต์ ํ์ ์ค์ง์ ์ธ ๊ธฐ์ฌ๋ฅผ ํ์ผ๋ฉฐ, ๋ฐ์ดํฐ ํ์ ์์ฐ์ฑ์ด ํฌ๊ฒ ํฅ์๋์ด ์๋ก์ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋น์ฆ๋์ค ์ด๋์ ํฐ๋ธ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์งํํ ์ ์๊ฒ ๋์์ต๋๋ค.
3. LinkedIn
LinkedIn์ ์์ญ์ต ํ์์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์์งํ๊ณ ๋ถ์ํ๊ธฐ ์ํด Iceberg๋ฅผ ๋์ ํ์ต๋๋ค. ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ๊ณผ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด LinkedIn์ ํต์ฌ ์๊ตฌ์ฌํญ์ด์์ต๋๋ค.
Iceberg ๋์ ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ง์ฐ ์๊ฐ์ด ํฌ๊ฒ ๊ฐ์ํ๊ณ , ํนํ ํํฐ์ ๊ด๋ฆฌ ์๋ํ๋ก ์ด์ ํจ์จ์ฑ์ด ํฅ์๋์์ต๋๋ค. ๋ํ ์คํค๋ง ์งํ ๊ธฐ๋ฅ์ผ๋ก ์๋ก์ด ๋ถ์ ์๊ตฌ์ฌํญ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์๊ฒ ๋์์ต๋๋ค. LinkedIn์ ๋ฐ์ดํฐ ๊ณผํ์๋ค์ ์ด์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ ์์ด๋ ์๋ก์ด ์ ํ์ ๋ถ์์ ์ฝ๊ฒ ์ํํ ์ ์๊ฒ ๋์์ต๋๋ค.
LinkedIn์ ๊ด๊ณ ํ๊ฒํ ๋ฐ ์ฝํ ์ธ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ค์๊ฐ์ฑ๊ณผ ์ ํ๋๊ฐ ํฌ๊ฒ ํฅ์๋์๋ค๊ณ ๋ณด๊ณ ํ์ต๋๋ค. ํนํ ์ฑ์ฉ ์ถ์ฒ ์๋น์ค์์ ์ ์ ํ ๊ตฌ์ง์์ ๊ตฌ์ธ ๊ธฐ์ ์ ๋งค์นญํ๋ ์๋๊ฐ 30% ์ด์ ํฅ์๋์์ผ๋ฉฐ, ์ด๋ ์ง์ ์ ์ธ ๋น์ฆ๋์ค ์ฑ๊ณผ๋ก ์ด์ด์ก์ต๋๋ค. ๋ํ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ์ ์ด์ ๋ถ๋ด์ด ํฌ๊ฒ ์ค์ด๋ค์ด, ์๋ก์ด ๋ฐ์ดํฐ ์ ํ ๊ฐ๋ฐ์ ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ํฌ์ ํ ์ ์๊ฒ ๋์์ต๋๋ค.
๋ง์น๋ฉฐ
"Hive์ Iceberg๊ฐ ๋ค ๋๊ฐ์ ๋น ๋ฐ์ดํฐ ํ ์ด๋ธ ํฌ๋งท ์๋๊ฐ์?"๋ผ๋ ์ง๋ฌธ์ ํด๋ณธ๋ค๋ฉด, ๊ทธ ๋ต์ ์๋์ ๊ฐ์ด ํด๋ณผ ์ ์๊ฒ ์ต๋๋ค.
๋ ํ ์ด๋ธ ํฌ๋งท์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ ์ค์ง์ ์ธ ๋น์ฆ๋์ค ๊ฐ์น์ ์ฐจ์ด๋ก ์ด์ด์ง๋๋ค. Netflix, Apple, LinkedIn ๊ฐ์ ๊ธ๋ก๋ฒ ๊ธฐ์ ๋ค์ด Iceberg๋ฅผ ์ ํํ ์ด์ ๋ ๋น์ฉ ํจ์จ์ฑ(ํด๋ผ์ฐ๋ ๋น์ฉ ์ ๊ฐ), ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ(์ ํํ ์์ฌ๊ฒฐ์ ), ๋น์ฆ๋์ค ๋ฏผ์ฒฉ์ฑ(๋น ๋ฅธ ์๊ตฌ์ฌํญ ๋์), ๋ฆฌ์คํฌ ๊ฐ์(๋ฐ์ดํฐ ๋ณต๊ตฌ ๋ฐ ์ผ๊ด์ฑ)์ ๊ฐ์ ์ค์ง์ ์ธ ๋น์ฆ๋์ค ์ด์ ๋๋ฌธ์ด์ฃ .
๋ฐ์ดํฐ ๊ธฐ๋ฐ ์์ฌ๊ฒฐ์ ์ด ๊ฒฝ์๋ ฅ์ ํต์ฌ์ธ ์ค๋๋ , ํ ์ด๋ธ ํฌ๋งท์ ๋จ์ํ ๊ธฐ์ ์ ์ ํ์ด ์๋ ๋น์ฆ๋์ค ์ฑ๊ณต์ ํต์ฌ ์์์ ๋๋ค. ๋ชจ๋ ๊ธฐ์ ์ Iceberg๊ฐ ํ์ํ ๊ฒ์ ์๋์ง๋ง, ๋ฐ์ดํฐ ์์กด๋๊ฐ ๋๊ณ ๊ฒฝ์์ด ์น์ดํ ํ๊ฒฝ์ผ์๋ก Iceberg์ ๊ฐ์ ํ๋์ ํ ์ด๋ธ ํฌ๋งท์ ๊ฐ์น๋ ๋์ฑ ์ปค์ง๋ ๊ฒ์ด์ฃ . ๊ธฐ์ ์ ํ์ ๋จ์ํ ์์ง๋์ด๋ง ๊ฒฐ์ ์ด ์๋, ๋น์ฆ๋์ค์ ๋ฏธ๋๋ฅผ ์ข์ฐํ๋ ์ ๋ต์ ๊ฒฐ์ ์ด ๋์ด๊ฐ๊ณ ์์ต๋๋ค.