# dbt – управление трансформацией данных как кодом

> Позволяет описывать SQL-процессы в виде версионного кода, с автоматическим тестированием и документацией Когда использовать?

Инструмент · Алексей Ишманов · 12 октября 2025 · https://aleksishmanov.ru/tools/dbt-upravlenie-transformatsiey-dannyh-kak-kodom/

![](/media/tools/dbt-upravlenie-transformatsiey-dannyh-kak-kodom/550c38a547afe403.jpg)

![](/media/tools/dbt-upravlenie-transformatsiey-dannyh-kak-kodom/9b6687130d7100f8.jpg)

Позволяет описывать SQL-процессы в виде версионного кода, с автоматическим тестированием и документацией

**⚡ Когда использовать?**
✅ Очистка и преобразование сырых данных
✅ Построение витрин для BI и аналитики
✅ Автоматизация пайплайнов с Git-контролем

👨‍💻 Пример из практики:
В ML команде часто обновляются фичи для модели, нужно в прод выкатить модель с 15-ю обновлениями в фичах и 5 новыми фичами. Надо прогнать тесты, сделать валидационные выборки и чтобы ничего не потерять.

**Без dbt**
- Фичи хранятся в разных SQL-файлах / Jupiter файлах
- Изменение одной фичи может случайно сломать всю витрину фичей
- Нет контроля зависимостей
- Ошибки ловятся постфактум, когда падает обучение или прод
- Документация по фичам устаревшая
- Нет истории изменений (только по git репо)

**С DBT:**
✅ Все фичи описаны как модели в dbt
✅ Новая фича - это SQL модуль
✅ Граф зависимостей фичей в lineage
✅ Автотесты перед деплоем
✅ Автодокументация с WebUI
✅ Все изменения через PR -> Review -> CI (встроенный процесс)
✅ Гарантия обновления Prod модели

**Результат:**
Сильно упрощает процесс работы команды, уменьшается время поставки модели в прод, легче онбордить новичков и делиться экспертизой + управлять изменениями в ML-команде
