Data Engineering

āļĢāļđāļ›āđāļšāļš ETL / ELT / ETLT

ETL vs ELT vs ETLT, batch vs micro-batch vs streaming, idempotence, āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”, dead letter queue, āļ„āļļāļ“āļ āļēāļžāļ‚āđ‰āļ­āļĄāļđāļĨ, lineage

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Senior
1

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŦāļĨāļąāļāļĢāļ°āļŦāļ§āđˆāļēāļ‡ ETL āđāļĨāļ° ELT āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āđƒāļ™ ETL (Extract-Transform-Load) āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āļ–āļđāļāđāļ›āļĨāļ‡āļšāļ™āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāļ•āļąāļ§āļāļĨāļēāļ‡āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āļ–āļđāļāđ‚āļŦāļĨāļ”āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļ›āļĨāļēāļĒāļ—āļēāļ‡ āđƒāļ™ ELT (Extract-Load-Transform) āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āļīāļšāļˆāļ°āļ–āļđāļāđ‚āļŦāļĨāļ”āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļ›āļĨāļēāļĒāļ—āļēāļ‡āļāđˆāļ­āļ™ (āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļ„āļ·āļ­ cloud data warehouse) āļˆāļēāļāļ™āļąāđ‰āļ™āļˆāļķāļ‡āļ–āļđāļāđāļ›āļĨāļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡āđƒāļ™āļ™āļąāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ compute power āļ‚āļ­āļ‡āļĄāļąāļ™ ELT āđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄāļžāļĢāđ‰āļ­āļĄāļāļąāļš cloud data warehouse āđ€āļŠāđˆāļ™ BigQuery, Snowflake āļŦāļĢāļ·āļ­ Redshift āļ—āļĩāđˆāđƒāļŦāđ‰ compute power āđāļšāļšāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™

2

āļ‚āđ‰āļ­āđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāļŦāļĨāļąāļāļ‚āļ­āļ‡āđāļ™āļ§āļ—āļēāļ‡ ELT āđ€āļĄāļ·āđˆāļ­āđ€āļ—āļĩāļĒāļšāļāļąāļš ETL āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āđāļ™āļ§āļ—āļēāļ‡ ELT āđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļ compute power āđāļšāļšāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ‚āļ­āļ‡ cloud data warehouse āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ (BigQuery, Snowflake, Redshift) āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļĢāļąāļāļĐāļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļāļēāļĢāđāļ›āļĨāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļāļ—āļĩāđˆāļ­āļēāļˆāļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļ„āļ­āļ‚āļ§āļ” āļāļēāļĢāđāļ›āļĨāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āđƒāļŠāđ‰āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢ scaling āļ‚āļ­āļ‡ data warehouse āđ‚āļ”āļĒāļ•āļĢāļ‡ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĨāļ”āļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđƒāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āđāļĨāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ›āļĢāļīāļĄāļēāļ“āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĄāļēāļāļ‚āļķāđ‰āļ™āļĄāļēāļāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļˆāļąāļ”āļŠāļĢāļĢāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡

3

āļĢāļđāļ›āđāļšāļš ETLT āļ„āļ·āļ­āļ­āļ°āđ„āļĢāđāļĨāļ°āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ€āļĄāļ·āđˆāļ­āđƒāļ”?

āļ„āļģāļ•āļ­āļš

ETLT āļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļ™āļ§āļ—āļēāļ‡: āļāļēāļĢāđāļ›āļĨāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļšāļēāđ† āļ„āļĢāļąāđ‰āļ‡āđāļĢāļāļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨ (āļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ” āļāļēāļĢāļāļĢāļ­āļ‡ āļāļēāļĢāļ—āļģāđƒāļŦāđ‰āđ„āļĄāđˆāļĢāļ°āļšāļļāļ•āļąāļ§āļ•āļ™) āļˆāļēāļāļ™āļąāđ‰āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āļ–āļđāļāđ‚āļŦāļĨāļ”āđāļĨāļ°āļāļēāļĢāđāļ›āļĨāļ‡āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļāļ§āđˆāļēāļˆāļ°āļ–āļđāļāļ™āļģāđ„āļ›āđƒāļŠāđ‰āđƒāļ™ data warehouse āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļ›āļĨāļ‡āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āļ•āđ‰āļ™āļ™āđ‰āļģāļ”āđ‰āļ§āļĒāđ€āļŦāļ•āļļāļœāļĨāļ”āđ‰āļēāļ™āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļāļŽāļĢāļ°āđ€āļšāļĩāļĒāļš (āļāļēāļĢāļ›āļāļ›āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ­āđˆāļ­āļ™āļāđˆāļ­āļ™āđ‚āļŦāļĨāļ”) āļāļēāļĢāļĨāļ”āļ›āļĢāļīāļĄāļēāļ“ (āļāļēāļĢāļāļĢāļ­āļ‡āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē) āļŦāļĢāļ·āļ­āļāļēāļĢāļ—āļģāđƒāļŦāđ‰āļĢāļđāļ›āđāļšāļšāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļēāļ—āļĩāđˆāļŦāļĨāļēāļāļŦāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļĄāļēāļ•āļĢāļāļēāļ™

4

Idempotence āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡ data pipeline āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

5

āļ§āļīāļ˜āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ idempotence āđ€āļĄāļ·āđˆāļ­āđ‚āļŦāļĨāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāļ‡āđƒāļ™āļ•āļēāļĢāļēāļ‡?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Data Engineering āļ­āļ·āđˆāļ™āđ†

Linux & Shell - āļžāļ·āđ‰āļ™āļāļēāļ™

Junior
20 āļ„āļģāļ–āļēāļĄ

Git & GitHub - āļžāļ·āđ‰āļ™āļāļēāļ™

Junior
20 āļ„āļģāļ–āļēāļĄ

Python āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļŠāļģāļŦāļĢāļąāļš Data Engineering

Junior
25 āļ„āļģāļ–āļēāļĄ

Docker - āļžāļ·āđ‰āļ™āļāļēāļ™

Junior
25 āļ„āļģāļ–āļēāļĄ

Google Cloud Platform - āļžāļ·āđ‰āļ™āļāļēāļ™

Junior
20 āļ„āļģāļ–āļēāļĄ

CI/CD āđāļĨāļ°āļ„āļļāļ“āļ āļēāļžāđ‚āļ„āđ‰āļ”

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Docker Compose

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

FastAPI - Data API

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

SQL āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļŠāļģāļŦāļĢāļąāļš Data Engineering

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Data Lake - āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđāļĨāļ°āļāļēāļĢāļ™āļģāđ€āļ‚āđ‰āļēāļ‚āđ‰āļ­āļĄāļđāļĨ

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

BigQuery āļŠāļģāļŦāļĢāļąāļš Data Engineering

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

PostgreSQL - āļāļēāļĢāļ”āļđāđāļĨāļĢāļ°āļšāļš

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Data Modeling āļŠāļģāļŦāļĢāļąāļš Data Engineering

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 - āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ Pipeline

Senior
20 āļ„āļģāļ–āļēāļĄ

PySpark - āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ

Senior
20 āļ„āļģāļ–āļēāļĄ

Google Pub/Sub - āļāļēāļĢāļŠāļ•āļĢāļĩāļĄāļ‚āđ‰āļ­āļĄāļđāļĨ

Senior
20 āļ„āļģāļ–āļēāļĄ

Apache Beam & Dataflow

Senior
20 āļ„āļģāļ–āļēāļĄ

Kubernetes - Production āđāļĨāļ° Scaling

Senior
20 āļ„āļģāļ–āļēāļĄ

Terraform - Infrastructure as Code

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ NoSQL

Senior
20 āļ„āļģāļ–āļēāļĄ

Data Architecture āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĄāļ­āļ™āļīāđ€āļ•āļ­āļĢāđŒāđāļĨāļ°āļāļēāļĢāļŠāļąāļ‡āđ€āļāļ•āļāļēāļĢāļ“āđŒ

Senior
20 āļ„āļģāļ–āļēāļĄ

IAM āđāļĨāļ°āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ

Senior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Data Engineering āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ