Data Engineering

ETL / ELT / ETLT ํŒจํ„ด

ETL vs ELT vs ETLT, batch vs micro-batch vs streaming, ๋ฉฑ๋“ฑ์„ฑ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, dead letter queue, ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ, lineage

20 ๋ฉด์ ‘ ์งˆ๋ฌธยท
Senior
1

ETL๊ณผ ELT์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

ETL(Extract-Transform-Load)์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋Œ€์ƒ์— ๋กœ๋“œ๋˜๊ธฐ ์ „์— ์ค‘๊ฐ„ ์„œ๋ฒ„์—์„œ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ELT(Extract-Load-Transform)์—์„œ๋Š” ์›์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋Œ€์ƒ(์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค)์— ๋กœ๋“œ๋œ ํ›„ ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ ์•ˆ์—์„œ ์ง์ ‘ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ELT๋Š” ํƒ„๋ ฅ์ ์ธ ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” BigQuery, Snowflake ๋˜๋Š” Redshift์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์™€ ํ•จ๊ป˜ ์ธ๊ธฐ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

2

์ „ํ†ต์ ์ธ ETL๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ELT ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ฃผ์š” ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

ELT ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ตœ์‹  ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค(BigQuery, Snowflake, Redshift)์˜ ํƒ„๋ ฅ์ ์ธ ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ๋ณ€ํ™˜ ์ธํ”„๋ผ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋Œ€์‹ , ๋ณ€ํ™˜์€ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์˜ ์Šค์ผ€์ผ๋ง ๊ธฐ๋Šฅ์„ ์ง์ ‘ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์šด์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  ์ˆ˜๋™ ๋ฆฌ์†Œ์Šค ํ”„๋กœ๋น„์ €๋‹ ์—†์ด ํ›จ์”ฌ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

3

ETLT ํŒจํ„ด์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์–ธ์ œ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ต๋ณ€

ETLT๋Š” ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค: ์ถ”์ถœ ์ค‘์— ์ฒซ ๋ฒˆ์งธ ๊ฐ€๋ฒผ์šด ๋ณ€ํ™˜(์ •์ œ, ํ•„ํ„ฐ๋ง, ์ต๋ช…ํ™”)์ด ์ˆ˜ํ–‰๋œ ๋‹ค์Œ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋กœ๋“œ๋˜๊ณ  ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์—์„œ ๋” ๋ณต์žกํ•œ ๋ณ€ํ™˜์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ํŒจํ„ด์€ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ์ด์œ (๋กœ๋“œ ์ „ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ๋งˆ์Šคํ‚น), ๋ณผ๋ฅจ ๊ฐ์†Œ(์กฐ๊ธฐ ํ•„ํ„ฐ๋ง) ๋˜๋Š” ์ด๊ธฐ์ข… ์†Œ์Šค ํ˜•์‹ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•ด ํŠน์ • ๋ณ€ํ™˜์„ ์—…์ŠคํŠธ๋ฆผ์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

4

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋งฅ๋ฝ์—์„œ ๋ฉฑ๋“ฑ์„ฑ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

5

ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•  ๋•Œ ๋ฉฑ๋“ฑ์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๊นŒ?

+17 ๋ฉด์ ‘ ์งˆ๋ฌธ

๊ธฐํƒ€ Data Engineering ๋ฉด์ ‘ ์ฃผ์ œ

Linux & Shell - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

Git & GitHub - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์œ„ํ•œ ๊ณ ๊ธ‰ Python

Junior
25๊ฐœ ์งˆ๋ฌธ

Docker - ๊ธฐ์ดˆ

Junior
25๊ฐœ ์งˆ๋ฌธ

Google Cloud Platform - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

CI/CD ๋ฐ ์ฝ”๋“œ ํ’ˆ์งˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Docker Compose

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

FastAPI - ๋ฐ์ดํ„ฐ API

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Data Engineering์„ ์œ„ํ•œ ๊ณ ๊ธ‰ SQL

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Data Lake - ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์ˆ˜์ง‘

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์œ„ํ•œ BigQuery

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

PostgreSQL - ๊ด€๋ฆฌ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Data Engineering์„ ์œ„ํ•œ Data Modeling

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Fivetran & Airbyte - ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

dbt - ๊ธฐ์ดˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Apache Airflow - ๊ธฐ์ดˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Kubernetes - ๊ธฐ์ดˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

dbt - ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

Senior
20๊ฐœ ์งˆ๋ฌธ

Apache Airflow - ๊ณ ๊ธ‰

Senior
20๊ฐœ ์งˆ๋ฌธ

Airflow + dbt - ํŒŒ์ดํ”„๋ผ์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

Senior
20๊ฐœ ์งˆ๋ฌธ

PySpark - ๋Œ€๊ทœ๋ชจ ์ฒ˜๋ฆฌ

Senior
20๊ฐœ ์งˆ๋ฌธ

Google Pub/Sub - ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ

Senior
20๊ฐœ ์งˆ๋ฌธ

Apache Beam & Dataflow

Senior
20๊ฐœ ์งˆ๋ฌธ

Kubernetes - ํ”„๋กœ๋•์…˜ ๋ฐ ์Šค์ผ€์ผ๋ง

Senior
20๊ฐœ ์งˆ๋ฌธ

Terraform - Infrastructure as Code

Senior
20๊ฐœ ์งˆ๋ฌธ

NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

Senior
20๊ฐœ ์งˆ๋ฌธ

๋ชจ๋˜ Data Architecture

Senior
20๊ฐœ ์งˆ๋ฌธ

๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ

Senior
20๊ฐœ ์งˆ๋ฌธ

IAM ๋ฐ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ

Senior
20๊ฐœ ์งˆ๋ฌธ

๋‹ค์Œ ๋ฉด์ ‘์„ ์œ„ํ•ด Data Engineering์„ ๋งˆ์Šคํ„ฐํ•˜์„ธ์š”

๋ชจ๋“  ์งˆ๋ฌธ, flashcards, ๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—ฐ์Šต, ๋ฉด์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ ‘๊ทผํ•˜์„ธ์š”.

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ