Позволяет описывать SQL-процессы в виде версионного кода, с автоматическим тестированием и документацией
⚡ Когда использовать?
- ✅ Очистка и преобразование сырых данных
- ✅ Построение витрин для BI и аналитики
- ✅ Автоматизация пайплайнов с Git-контролем
👨💻 Пример из практики:
В ML команде часто обновляются фичи для модели, нужно в прод выкатить модель с 15-ю обновлениями в фичах и 5 новыми фичами. Надо прогнать тесты, сделать валидационные выборки и чтобы ничего не потерять.
Без dbt
- Фичи хранятся в разных SQL-файлах / Jupiter файлах
- Изменение одной фичи может случайно сломать всю витрину фичей
- Нет контроля зависимостей
- Ошибки ловятся постфактум, когда падает обучение или прод
- Документация по фичам устаревшая
- Нет истории изменений (только по git репо)
С DBT:
- ✅ Все фичи описаны как модели в dbt
- ✅ Новая фича - это SQL модуль
- ✅ Граф зависимостей фичей в lineage
- ✅ Автотесты перед деплоем
- ✅ Автодокументация с WebUI
- ✅ Все изменения через PR -> Review -> CI (встроенный процесс)
- ✅ Гарантия обновления Prod модели
Результат:
Сильно упрощает процесс работы команды, уменьшается время поставки модели в прод, легче онбордить новичков и делиться экспертизой + управлять изменениями в ML-команде



