ETL vs ELT на собеседовании Data Engineer

Проверь себя · 1/3разбор после ответа
В таблице метрик есть dt, platform, dau. Нужно вывести значение dau за предыдущий день для той же платформы, чтобы посчитать дневное изменение. Какое выражение верное?

Зачем спрашивают на собесе DE

ETL vs ELT — фундаментальная архитектурная развилка. На собесе DE: «отличие», «почему ELT стал стандартом», «что такое медальон».

Классический ETL

Extract → Transform → Load.

Source → ETL Engine (in-memory) → Target DWH
                ↑
                трансформации здесь

Стек 2000-2010:

  • Informatica, IBM DataStage, Talend, SSIS.
  • Трансформации в специальных engines (RAM-based, Java/.NET).
  • Target DWH — Oracle / Teradata, дорогие, не для тяжёлых трансформаций.

Принципы:

  • Очистка, бизнес-правила применяются до загрузки.
  • DWH хранит «чистые» данные.
  • Engine — отдельная инфраструктура, дорогая в эксплуатации.

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

Extract → Load → Transform.

Source → Data Lake / DWH → Transformation in DWH
                                    ↑
                                    SQL, dbt, Spark

Стек 2015-2026:

  • Loaders: Airbyte, Fivetran, Stitch, Debezium.
  • DWH/Lakehouse: Snowflake, BigQuery, Databricks, ClickHouse.
  • Transformation: dbt, Spark SQL, ClickHouse SQL.

Принципы:

  • Сырые данные сначала загружаются в DWH (raw layer).
  • Трансформации внутри DWH (push-down).
  • DWH — мощный compute, не только storage.

Почему ELT победил

  1. Облачные DWH стали дешёвыми и мощными. Snowflake / BigQuery масштабируются elastically. Compute дешевле, чем содержать ETL-engine.

  2. Schema-on-read. Лучше загрузить «как есть» и разобраться позже. Изменения схемы источника не ломают пайплайн.

  3. dbt стандартизировал transformation в SQL. Версионирование, тесты, документация — всё в одном месте.

  4. Time-to-value быстрее. Загрузить сырьё за день, трансформировать инкрементально.

  5. Reusability. Из одного raw слоя можно построить разные витрины.

ETL остаётся в legacy-системах и в местах, где compute дороже storage (например, on-prem банки).

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Медальон-архитектура

Стандартный паттерн ELT:

Bronze (raw). Сырые данные, минимум преобразований (только тип-касты).

Silver (cleansed). Очистка, дедупликация, нормализация, joining.

Gold (curated). Бизнес-витрины (star schema, marts).

Source → Bronze → Silver → Gold → BI

Преимущества:

  • Bronze — переиграть трансформации без перезагрузки.
  • Silver — единая «правда» для аналитиков.
  • Gold — оптимизирован под конкретные use-case.

В Databricks / Lakehouse это родной паттерн. В Snowflake / Postgres / CH — реализуется через схемы (raw., staging., marts.).

Reverse ETL

Обратное направление: из DWH в operational системы.

DWH → Reverse ETL tool → Salesforce / HubSpot / ad platforms

Зачем:

  • Customer 360 в DWH → синхронизировать в CRM.
  • ML-скоры в Marketing tool для активации.
  • Сегменты в рекламные платформы.

Tools: Hightouch, Census, Polytomic.

Частые ошибки

Делать transformation на источнике (старый ETL) при наличии облачного DWH. Лишний middleware, сложнее поддерживать.

Сразу строить gold без bronze. Без сырого слоя — переделать что-то позже невозможно без ре-extract.

Загружать сырьё в production schema. Bronze должен быть отделён.

Не версионировать transformation код. dbt + git — стандарт.

Tests только на gold. Тесты на каждом слое: bronze (sanity), silver (uniqueness, completeness), gold (бизнес).

Игнорировать data lineage. В медальоне особенно важно — какая колонка из какого источника.

ETL-инструмент для современного стека. Если есть Snowflake / BQ / CH — Informatica / SSIS не нужен.

Связанные темы

FAQ

Spark — ETL или ELT?

Зависит от использования. Spark на staging cluster для трансформаций до DWH — ETL. Spark внутри Databricks Lakehouse — ELT. Инструмент тот же, паттерн разный.

ELT медленнее ETL?

Не обязательно. Современные DWH специально оптимизированы под mass-аналитику. На больших данных compute в DWH часто быстрее, чем в RAM ETL-engine.

Когда оправдан Informatica в 2026?

Legacy enterprise (банки, страховщики, госсектор) с большим existing pipeline. Новые проекты — почти всегда ELT.

Это официальная информация?

Нет. Статья основана на материалах dbt Labs, Databricks, Snowflake и опыте отрасли.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.