Learning Platform
Глоссарий Troubleshooting
Урок 03.01 · 18 мин
Средний
ETLELTZero-ETLData PipelineModern Data Stack

ETL vs ELT vs Zero-ETL

Эволюция pipeline-моделей

Data pipeline прошёл три поколения:

Эволюция: ETL → ELT → Zero-ETL
1. ETL (классический)
2. ELT (современный)
3. Zero-ETL (emerging)

ETL: Transform Before Load

ETL Flow:
Source DB → Extract (read data) 
         → Transform (clean, validate, reshape in separate engine)
         → Load (write to DWH in final form)

Пример:
PostgreSQL → Informatica ETL Server → clean nulls, join tables, 
                                       apply business rules
                                    → Teradata DWH

Когда ETL

СценарийПочему ETL
PII complianceMask/remove PII BEFORE loading to DWH
Legacy DWHOn-premise DWH без мощного compute (Teradata, Oracle)
Data contractsStrict schema enforcement before storage
Bandwidth constraintsTransform reduces data volume before transfer

ELT: Load Raw, Transform In-Place

ELT Flow:
Source DB → Extract → Load raw data to DWH/Lake
                   → Transform inside DWH (SQL, dbt)

Пример:
PostgreSQL → Fivetran (extract+load raw) → Snowflake (raw tables)
          → dbt (SQL transforms in Snowflake) → analytics tables

Когда ELT

СценарийПочему ELT
Cloud DWHSnowflake/BigQuery have massive compute for transforms
Data explorationRaw data available for ad-hoc analysis
SpeedLoad fast, transform later — faster data availability
IterationChange transforms without re-extracting

dbt: ключевой инструмент ELT

dbt (Data Build Tool):
  - SQL-based transformations
  - Version controlled (Git)
  - Testing built-in (schema tests, data tests)
  - Documentation auto-generated
  - Lineage tracking
  
dbt model example:
  -- models/marts/dim_customers.sql
  SELECT
    c.customer_id,
    c.name,
    c.email,
    COUNT(o.order_id) as total_orders,
    SUM(o.amount) as lifetime_value
  FROM {{ ref('stg_customers') }} c
  LEFT JOIN {{ ref('stg_orders') }} o ON c.customer_id = o.customer_id
  GROUP BY 1, 2, 3

Zero-ETL: Direct Integration

Zero-ETL:
  Source → native connector → DWH (no separate pipeline)

Примеры:
  Amazon Aurora → zero-ETL → Redshift (AWS native)
  AlloyDB → zero-ETL → BigQuery (GCP native)
  
Ограничения:
  - Vendor lock-in (only within cloud provider)
  - Limited to supported source/destination pairs
  - Less control over transformation timing

Comparison Matrix

ETL vs ELT vs Zero-ETL
Aspect
ETL
ELT
Zero-ETL
TIP

Современный default: ELT

Для большинства новых проектов ELT — default choice. Fivetran/Airbyte для extract+load, dbt для transform. Raw data preserved for exploration. Zero-ETL — дополнение для specific sources, не замена.

Проверка знанийKnowledge check
ОтветAnswer

Проверьте понимание

Результат: 0 из 0
Прикладной
Вопрос 1 из 2. Компания хранит PII данные (имена, email, телефоны). Регуляция запрещает хранение raw PII в DWH. Какая pipeline-модель?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4