ETL и ELT
ETL и ELT — не противоположные технологии, а разные точки в архитектуре пайплайна данных. Выбор обычно зависит от того, где у вас «горит» — в источниках или в хранилище.
ETL
- Логика преобразований — на отдельном слое или сервере.
- Хранилище получает уже «причёсанные» таблицы.
- Хорошо подходит, когда нельзя или дорого считать в хранилище.
- Обычно дольше внедряется и сложнее меняется.
ELT
- Сырые данные сначала попадают в хранилище.
- Все преобразования — внутри хранилища (например, через dbt).
- Гибче: можно пересчитать модель данных без переподключения источников.
- Требует мощного и относительно дешёвого хранилища: BigQuery, Snowflake, Redshift, ClickHouse.
Когда применять и когда нет
Применять
- Новый проект и современное облачное хранилище — обычно подходит ELT
- Большой корпоративный стек с уже работающим ETL — менять подход редко имеет смысл
- Очень тяжёлые трансформации с особыми требованиями — иногда ETL до сих пор удобнее
Не применять
- Маленький проект без аналитики — обоих подходов достаточно: хватит прямого SQL-запроса к боевой базе
Примеры применения
Стартап в SaaS строит аналитический стек с нуля. Источники — Postgres продукта, Stripe, Amplitude, рекламные кабинеты. Команда выбирает ELT: Fivetran выкачивает сырые данные в BigQuery, dbt описывает все трансформации SQL-моделями, а Metabase строит дашборды поверх готовых витрин. На каждый новый источник нужен день, на новую модель данных — час. С классическим ETL это заняло бы заметно больше времени и потребовало бы отдельной команды дата-инженеров.
Часто задаваемые вопросы
Сегодня для новых проектов чаще удобнее ELT — за счёт дешёвых облачных хранилищ и удобных инструментов вроде dbt. Но это не универсальный ответ: при определённых требованиях к безопасности, частоте загрузок или нагрузке ETL до сих пор остаётся правильным выбором.
dbt (data build tool) — популярный инструмент для ELT-преобразований внутри хранилища. Он позволяет описывать модели данных в виде SQL-файлов, выстраивать их зависимости как граф и автоматически тестировать качество. Сегодня это де-факто стандарт «T» в ELT-стеке.