Community

๐ŸงŠ 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๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์— ์†Œ๊ฐœ๋‚˜ ํ™œ์šฉ์— ๋Œ€ํ•œ ๊ธ€๋“ค์ด ์žˆ๋‹ค๋ฉด ๊ณต์œ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค