๐ŸŒŠ Delta Lake ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•œ ๊ฐ€์ด๋“œ - ์ด๋ก ํŽธ

NewNewDaddyยท2025๋…„ 3์›” 20์ผ
0

๋ฐ์ดํ„ฐ ๋ถ„์„

๋ชฉ๋ก ๋ณด๊ธฐ
7/9
post-thumbnail

0. Delta Lake๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

Delta Lake๋Š” data lakehouse ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์Šคํ† ๋ฆฌ์ง€ ๋ ˆ์ด์–ด๋กœ, ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ(Lake)์— ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์ˆ˜์ค€์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์ฃผ๋กœ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง, ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์—์„œ ํ™œ์šฉ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1. Delta Lake๊ฐ€ ๋“ฑ์žฅํ•œ ๋ฐฐ๊ฒฝ

1) ํด๋ผ์šฐ๋“œ ๊ฐ์ฒด ์ €์žฅ์†Œ์˜ ๋ถ€์ƒ

๊ณผ๊ฑฐ์—๋Š” HDFS ๊ธฐ๋ฐ˜์˜ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„ ์ž์›์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ๊ฐ€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ, ์ตœ๊ทผ์—๋Š” Amazon S3, Google Cloud Storage์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๋Œ€์ฒดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โœ… ์‚ฌ์‹ค์ƒ ๋ฌด์ œํ•œ์˜ ํ™•์žฅ์„ฑ
โœ… ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ ์ง€๋ถˆ
โœ… ๋†’์€ ๋‚ด๊ตฌ์„ฑ ๋ฐ ์•ˆ์ •์„ฑ ๋ณด์žฅ

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์‹œ ์‚ฌ์šฉ๋˜๋Š” Apache Spark, Presto, Trino, Pandas, DuckDB ๋“ฑ์˜ ๋„๊ตฌ๋“ค ์—ญ์‹œ ํด๋ผ์šฐ๋“œ ๊ฐ์ฒด ์ €์žฅ์†Œ์™€์˜ ์—ฐ๋™์„ ์ง€์›ํ•ด์ฃผ๊ณ  ์žˆ์œผ๋ฉฐ, ํด๋ผ์šฐ๋“œ ๊ฐ์ฒด ์ €์žฅ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ด ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2) ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ์˜ ํ•œ๊ณ„

์ „ํ†ต์ ์ธ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ(Hadoop HDFS, AWS S3, Azure Data Lake ๋“ฑ)๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ์—๋Š” ์ ํ•ฉํ•˜์ง€๋งŒ, ํŒŒ์ผ ๊ธฐ๋ฐ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์ˆ˜์ค€์˜ ์ฟผ๋ฆฌ๋‚˜ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š”ํ•œ ๋ฌธ์ œ์ ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋ถ€์กฑ

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„์‚ฐ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ค‘๊ฐ„์— ์ž‘์—…์ด ์‹คํŒจํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์™„์ „ํ•˜๊ฒŒ ์ €์žฅ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ํ…Œ์ด๋ธ”์— 100๊ฐœ์˜ ํŒŒ์ผ์ด ์ €์žฅ๋˜์–ด ์žˆ๊ณ , ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋„์ค‘ ์ž‘์—…์ด ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ ์‹คํŒจํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋งŒ ๊ธฐ๋ก๋˜์–ด ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ .

2๏ธโƒฃ ACID ํŠธ๋žœ์žญ์…˜ ๋ฏธ์ง€์›

  • ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ ˆ์ดํฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ์›์ž์„ฑ(Atomicity), ์ผ๊ด€์„ฑ(Consistency), ๊ฒฉ๋ฆฌ์„ฑ(Isolation), ์ง€์†์„ฑ(Durability)์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ, ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ถฉ๋Œ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ Schema Evolution(์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ) ๋ฌธ์ œ

  • ๊ธฐ์กด์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ ๋ฐ์ดํ„ฐ์˜ ์Šคํ‚ค๋งˆ(์ปฌ๋Ÿผ, ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ)๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กญ๊ฒŒ ๋ฎ์–ด์“ฐ๋Š” ๋“ฑ ํฐ ์ž‘์—…์„ ์š”ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ถ€์žฌ

  • ๋™์ผํ•œ ์ €์žฅ ๊ฒฝ๋กœ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋  ๊ฒฝ์šฐ, ๊ธฐ์กด ๋ฐ์ดํ„ฐ์™€์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‰ฝ๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ด์ „์˜ ๋ฐ์ดํ„ฐ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๋กค๋ฐฑ ๊ธฐ๋Šฅ์ด ์—†์–ด ์ž‘์—…์ค‘ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฎ์–ด์ผ๋‹ค๋ฉด ๋‹ค์‹œ ๋ณต๊ตฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Databricks๋Š” Delta Lake๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๊ณ , ์ด๋ฅผ 2017๋…„์— ๊ณ ๊ฐ์—๊ฒŒ ์ œ๊ณตํ•œ ํ›„ 2019๋…„ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

2. Delta Lake์˜ ํ•ต์‹ฌ ์„ค๊ณ„ ์›๋ฆฌ

Delta Lake์˜ ํ•ต์‹ฌ ์›๋ฆฌ๋Š” ๊ฐ์ฒด ์ €์žฅ์†Œ์— ํŒŒ์ผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์— ๋Œ€ํ•˜์—ฌ ACID ํŠธ๋žœ์žญ์…˜์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
Delta Lake๋Š” Apache Parquet์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, Delta Log๋ผ๋Š” ์ถ”๊ฐ€์ ์ธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋กœ๊ทธ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ACID ํŠธ๋žœ์žญ์…˜๊ณผ ๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1๏ธโƒฃ Raw Data โ†’ ์›๋ณธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ (Parquet)
2๏ธโƒฃ Delta Log โ†’ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ธฐ๋ก๋˜๋Š” ๋กœ๊ทธ ํŒŒ์ผ

โœ… ACID ํŠธ๋žœ์žญ์…˜ ๋ณด์žฅ

  • Delta Lake๋Š” Parquet ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด์„œ๋„ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด ๊ด€๋ฆฌ๋˜๋Š” delta_log ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ACID ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
    • ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ.
    • ์ด์ „ ๋ฐ์ดํ„ฐ๋กœ์˜ ์ž์œ ๋กœ์šด ๋กค๋ฐฑ ๊ฐ€๋Šฅ.
    • ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋†’์€ ์„ฑ๋Šฅ ์ œ๊ณต.

์ด๋ ‡๊ฒŒ Delta Log๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๊ณ , ํŠธ๋žœ์žญ์…˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Delta Lake์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

1๏ธโƒฃ ACID ํŠธ๋žœ์žญ์…˜ ์ง€์›

  • Delta Lake๋Š” ACID ํŠธ๋žœ์žญ์…˜์„ ๋ณด์žฅํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ฝ์ž…ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ (Time Travel)

  • Delta Lake๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฒ„์ „ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŒŒ์ผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ €์žฅ๋˜์–ด ์žˆ์ง€๋งŒ ํŠน์ • ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ๋กœ ๋กค๋ฐฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฎ์–ด ์“ฐ๋”๋ผ๋„ ๊ณผ๊ฑฐ ๋ฒ„์ „์œผ๋กœ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด์ฃ . ์˜ˆ๋ฅผ ๋“ค์–ด, "์–ด์ œ์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๊ณ  ์‹ถ๋‹ค!"๋ผ๊ณ  ํ•  ๋•Œ, ๋ณ„๋„์˜ ๋ฐฑ์—… ์—†์ด๋„ ํŠน์ • ๋ฒ„์ „์„ ์„ ํƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ์Šคํ‚ค๋งˆ ๊ด€๋ฆฌ (Schema Management)

  • Schema Enforcement(์Šคํ‚ค๋งˆ ๊ฐ•์ œ ์ ์šฉ)
    • ๊ธฐ์กด ๋ฐ์ดํ„ฐ์™€ ๋งž์ง€ ์•Š๋Š” ์Šคํ‚ค๋งˆ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • Schema Evolution(์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์ง€์›)
    • ๊ธฐ์กด ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ตœ์ ํ™” (File Compaction)

  • ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ์—์„œ๋Š” ์ž‘์€ ์šฉ๋Ÿ‰์˜ ํŒŒ์ผ๋“ค์ด ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ๋งŽ์ด ์ƒ์„ฑ๋  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Delta Lake๋Š” ์ž๋™์œผ๋กœ ์ž‘์€ ํŒŒ์ผ๋“ค์„ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์ตœ์ ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•„๋ž˜์˜ ์ตœ์ ํ™” ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • OPTIMIZE : ์ž‘์€ ํŒŒ์ผ์„ ํ•ฉ์ณ์„œ ์„ฑ๋Šฅ์„ ๊ฐœ์„ 
    • Z-Ordering : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ

5๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ ๋ฐ ์‚ญ์ œ (Data Vacuuming)

  • ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— Retention Policy๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ผ์ • ๊ธฐ๊ฐ„์ด ์ง€๋‚œ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Delta Lake์—์„œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฒŒ๋˜๋ฉด ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŠน์ • ์‹œ์  ์ด์ „์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜๋“œ์‹œ VACUUM ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

6๏ธโƒฃ ์บ์‹ฑ (Caching)

  • Delta Lake๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹ฑ์„ ์ œ๊ณตํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋”์šฑ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

7๏ธโƒฃ ๊ฐ์‚ฌ ๋กœ๊ทธ (Audit Logging)

  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ๊ธฐ๋กํ•˜์—ฌ ๋ˆ„๊ฐ€ ์–ธ์ œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ์ถ”์  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

8๏ธโƒฃ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์™€ ์ŠคํŠธ๋ฆฌ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Delta Lake ํ…Œ์ด๋ธ”์„ ์ŠคํŠธ๋ฆฌ๋ฐ ์›๋ณธ ๋ฐ ์‹ฑํฌ(Sink)๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜์™€์˜ ๋น„๊ต

๋น„๊ต ํ•ญ๋ชฉ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์ŠคDelta Lake
๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ (Parquet, CSV ๋“ฑ)ํ–‰/์ปฌ๋Ÿผ ๊ธฐ๋ฐ˜ ์Šคํ† ๋ฆฌ์ง€์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ (Parquet + Delta Log)
ํŠธ๋žœ์žญ์…˜ ์ง€์›โŒ ๋ฏธ์ง€์›โœ… ACID ๋ณด์žฅโœ… ACID ๋ณด์žฅ
๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌโŒ ๋ถˆ๊ฐ€๋Šฅโš  ์ผ๋ถ€๋งŒ ๊ฐ€๋Šฅโœ… Time Travel ๊ฐ€๋Šฅ
์„ฑ๋Šฅ ์ตœ์ ํ™”โŒ ์—†์Œโœ… ์ง€์›โœ… ์ง€์›
์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝโš  ์–ด๋ ต๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅโœ… ์ง€์›โœ… ์ง€์›
ํ™œ์šฉ ์‚ฌ๋ก€๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฐ์ดํ„ฐ ๋ถ„์„, OLAP๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ, ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„

5. OUTRO

Delta Lake, Hudi, Iceberg์™€ ๊ฐ™์€ Open Table Format์ด ๋‚˜์˜จ์ง€๋Š” ๋ช‡ ๋…„์ด ๋˜์—ˆ์ง€๋งŒ ์ €๋Š” ์ตœ๊ทผ์—์„œ์•ผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ•™์Šต์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด์ „ ํšŒ์‚ฌ์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ Parquet ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ–ˆ์ง€๋งŒ, ์ฃผ๋กœ ์—…๋ฐ์ดํŠธ๋œ ํ…Œ์ด๋ธ”์„ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ–ˆ์—ˆ์ฃ .
๊ทธ๋Ÿฐ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ์ธ์ง€, ํŒŒ์ผ ๊ธฐ๋ฐ˜ ์ €์žฅ + AICD ํŠธ๋žœ์žญ์…˜ ์ง€์› + ๋กค๋ฐฑ ์ด ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํŒŒ์ผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ€๋Šฅํ•œ Open Table Format์€ ์ €์—๊ฒŒ๋Š” ํ˜์‹ ์ ์ธ ๊ฐœ๋…์œผ๋กœ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค. ๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜๊นŒ์ง€๋Š” ์ด ๊ธฐ์ˆ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์žˆ์–ด ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ๋งค๊น€ ํ•  ๊ฒƒ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Delta Lake์˜ ์ด๋ก ์  ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด ๋ณด์•˜๊ณ , ๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์ง์ ‘ ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋ฉฐ ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ

profile
๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด์˜ ์ž‘์—…๊ณต๊ฐ„ / #PYTHON #CLOUD #SPARK #AWS #GCP #NCLOUD

0๊ฐœ์˜ ๋Œ“๊ธ€