๐ง Apache Iceberg๋ก S3 ๋น์ฉ 90% ์ค์ด๊ธฐ
๊ธฐ์กด์ ๋ง์ด ์ฌ์ฉ๋๋ Apache Hive๋ Hadoop ์์ฝ์์คํ ์ด๋ HDFS์ฌ์ฉ์ ๊ณ ๋ คํด์ ๋์์ธ ๋์์์ต๋๋ค. ์์ฆ์๋ ํด๋ผ์ฐ๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ AWS S3์ ๊ฐ์ ์คํ ๋ฆฌ์ง๋ฅผ ๋ง์ด ์ฌ์ฉํ๋๋ฐ Hive๋ ์ด์ ์ต์ ํ๋์ด์์ง๋ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ณด๋ ๋ฐ์ดํฐ ์ธํ๋ผ์์๋ ์๋ก์ด data lake ํ ์ด๋ธ ํฌ๋งท์ ๋ํ ๊ด์ฌ์ด ์ ์ ์ปค์ง๊ณ ์์ต๋๋ค. ๋ํ์ ์ผ๋ก๋ Apache Hudi, Apache Iceberg, Delta Lake๊ฐ ์๊ณ , ACID transaction, schema evolution, time travel ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํจ์ผ๋ก์จ ๋น ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ๋ ํผํฌ๋จผ์ค๋ ๋น์ฉ์ ์ผ๋ก ํจ์จ์ ์ผ ์ ์๊ฒ ํด์ค๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ธ์ Apache Iceberg์ ๊ธฐ๋ฅ๋ค๊ณผ ์ด๋ป๊ฒ ๋น์ฉ์ ์ ๊ฐํ๋์ง ๊ณต์ ํด์ฃผ๊ณ ์์ต๋๋ค. ๐ฐ Apache Iceberg๋ก ํผํฌ๋จผ์ค๋ฅผ ์ฌ๋ฆฌ๊ณ ๋น์ฉ์ ์ค์ผ ์ ์์๋ ์ด์ ๐ฐ - Metadata์ ํ ์ด๋ธ ๊ตฌ์กฐ, ํํฐ์ , ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๋ฐ์ดํฐ ํ์ผ๋ค์ ์ ์ฅํ๊ณ , Apache Iceberg๋ snapshot๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ O(1)๋ก ์ ๊ทผํ ์ ์๊ฒ ํด์ค๋๋ค. - Iceberg๋ก๋ file size๋ฅผ default๋ก 512MB๋ก ์ค์ ํด์ ์์ ํ์ผ๋ค์ด ๋ง์ด ์์ฑ๋๋๊ฑธ ๋ง์ ์ ์์์ต๋๋ค. ์ด๋ฅผ ํตํด S3์ ์ฟผ๋ฆฌํ๋ ๋น์ฉ์ ์ค์ผ ์ ์์์ต๋๋ค. ๋ํ, Spark Job๋ค๋ query planning์ ํ ๋ ๋ ์ ์ ํ์ผ ์๋ฅผ ์ฝ์ ์ ์์๊ธฐ์ I/O์ ์๊ฐ ์ค์ด๋ค์ด์ EMR ๋น์ฉ๋ ์ค์ผ ์ ์์์ต๋๋ค. - Apache Iceberg์ฌ์๋ ์๋์ง๋ง, ์ด ํ์ฌ์์๋ ๊ธฐ์กด์ Apache ORC ํ์ผ ํฌ๋งท๊ณผ Snappy ์์ถ์ ์ฌ์ฉํ๋ค๊ฐ -> Apache Parquet ํ์ผ ํฌ๋งท๊ณผ Zstandard ์์ถ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ๋ฉด์ ํ์ผ ์ฉ๋์ ๋ ์ค์ผ ์ ์์์ต๋๋ค. ์ด ๊ธ์ Apache Iceberg๋ก ๋น์ฉ ์ค์ด๋ ๊ฒ์ ์ด์ ์ ๋๊ณ ์๋๋ฐ ๋์ค์๋ Apache Icerberg์ schema evolution์ด๋ time travel๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์๊ฐ๋ ํ์ฉ์ ๋ํ ๊ธ๋ค์ด ์๋ค๋ฉด ๊ณต์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.