Перейти к основному содержимому

Переход на платформу dbt: советы по оптимизации

Миграция
Платформа dbt
Средний уровень
Menu

    Введение​

    Переход с самостоятельно размещённого dbt на dbt platform упрощает рабочие процессы аналитической инженерии: команды могут разрабатывать, тестировать, развёртывать и исследовать продукты данных с помощью единого, полностью управляемого программного сервиса. Это не просто более совершенные инструменты — это снижение совокупной стоимости владения, обеспечение ИИ надёжными данными и масштабирование за счёт самообслуживания с контролем и управлением.

    Ознакомьтесь с нашей серией руководств из трёх частей о переходе с самостоятельно размещённого dbt на dbt platform. Эта серия идеально подходит пользователям, которые стремятся упростить рабочие процессы и расширить возможности аналитики:

    Руководство
    Информация
    Аудитория
    Переход на dbt platform: что нужно знатьУзнайте, что следует учесть при переходе на dbt platform и какие способы перехода доступны.Руководители команд
    Администраторы
    Переход на dbt platform: начало работыИзучите шаги, необходимые для перехода на dbt platform.Разработчики
    Инженеры данных
    Аналитики данных
    Переход на dbt platform: советы по оптимизацииУзнайте, как повысить эффективность работы с dbt platform, на примере распространённых сценариев и полезных советов.Все пользователи

    Зачем переходить на платформу dbt?

    Если ваша команда сейчас использует dbt в собственной инфраструктуре, возможно, вы читаете это руководство по следующим причинам:

    • Вы осознали, сколько сил требует поддержка такого развёртывания.
    • Сотрудник, который всё настроил, уже покинул команду.
    • Вас интересует, как dbt platform может помочь управлять сложным развёртыванием dbt, расширить круг участников или улучшить практики обеспечения безопасности и управления данными.
    • Вам нужна управляемая основа данных для ИИ — общие определения, отслеживание происхождения данных и тестирование, чтобы результаты аналитики и ИИ заслуживали доверия бизнеса.

    Истинная стоимость самостоятельного размещения скрывается в часах работы инженеров и напрасно расходуемых вычислительных ресурсах. Платформа dbt устраняет эти накладные расходы благодаря управляемой инфраструктуре и разработке в браузере: больше людей могут участвовать в работе, а вы не становитесь узким местом.

    Оркестрация с учётом состояния теперь называется dbt State

    dbt State работает со всеми движками и средами: dbt v1, dbt platform и dbt v2.

    Если вы использовали оркестрацию с учётом состояния до 1 июня 2026 года, вы можете продолжить её использовать. После запуска бесплатного пробного периода dbt State его продолжительность будет увеличена по сравнению со стандартными 30 днями. Если продление не применилось к вашей учётной записи, свяжитесь с командой, которая её сопровождает. Чтобы начать, обратитесь к разделу Переход с оркестрации с учётом состояния.

    Слой данных — это слой ИИ: убедитесь, что данные проверены, чётко определены и заслуживают доверия на всех этапах обработки.

    Переход на dbt platform упрощает рабочие процессы благодаря полностью управляемой среде, которая улучшает совместную работу, безопасность и оркестрацию. С dbt platform вы получаете доступ к таким возможностям, как взаимодействие между командами (dbt Mesh), управление версиями, оптимизированные процессы CI/CD, Catalog для всестороннего изучения данных и многое другое — всё это упрощает управление сложными развёртываниями dbt и позволяет эффективно масштабировать рабочие процессы обработки данных.

    Это идеальный вариант для команд, которые хотят сократить затраты на поддержку собственной инфраструктуры, одновременно улучшая управление данными и повышая продуктивность.

    Что вы узнаете​

    Возможно, вы уже начали переход на dbt platform и ищете советы, которые помогут оптимизировать работу с dbt platform. В этом руководстве приведены советы и оговорки по следующим направлениям:

    Адаптеры и подключения​

    В dbt platform можно напрямую подключиться к вашей платформе данных и проверить подключение одним нажатием кнопки. Это особенно полезно для пользователей, которые только начинают работать с dbt platform или хотят упростить настройку подключения. Вот несколько советов и оговорок, которые стоит учитывать:

    Советы​

    • Управляйте версиями dbt и обеспечивайте совместную работу команды с помощью функции dbt platform, позволяющей выбирать версию одним нажатием: она избавляет от ручных обновлений и расхождений версий. Выберите канал выпусков для непрерывного получения обновлений, чтобы всегда иметь актуальные исправления и при желании получать ранний доступ к новым возможностям для вашего проекта dbt.
    • dbt platform поддерживает множество облачных провайдеров, включая Snowflake, Databricks, BigQuery, Fabric и Redshift, и это лишь некоторые из них.
    • Используйте расширенные атрибуты, чтобы задать фрагмент profiles.yml, который изменяет способ подключения dbt platform к платформе данных. На этой странице объясняется, где настраивать их для сред развёртывания и разработки.
      • Например, если в вашем profiles.yml есть поле, которое вы хотели бы добавить в пользовательский интерфейс адаптера dbt platform, вы можете задать его с помощью расширенных атрибутов.

    Оговорки​

    • Не все параметры доступны для адаптеров.
    • Проект может использовать только один тип хранилища данных.

    Инструменты разработки​

    dbt platform позволяет специалистам по данным разрабатывать проекты в удобном для них инструменте. В состав платформы входят CLI dbt platform (локальный инструмент) и Studio IDE (браузерный инструмент) для создания, тестирования, запуска проектов dbt и управления их версиями.

    Оба инструмента разработки рассчитаны на разные категории пользователей и предпочтения внутри вашей команды. Чтобы упростить рабочий процесс команды, важно понимать, кто предпочтёт Studio IDE, а кто — CLI dbt platform. Этот раздел поможет разобраться в этих предпочтениях.

    Studio IDE​

    Веб-интерфейс для создания, тестирования, запуска проектов dbt и управления их версиями. Он компилирует код dbt в SQL и выполняет его непосредственно в вашей базе данных. Studio IDE ускоряет и упрощает разработку, позволяя как начинающим, так и опытным специалистам по данным создавать и тестировать изменения.

    Кто может предпочесть Studio IDE?

    • Новые пользователи dbt или пользователи, переходящие с других инструментов, которым удобнее работать в браузерном интерфейсе с подсказками.
    • Участники команды, которым важны скорость и удобство начала работы с новым или существующим проектом.
    • Пользователи, для которых важна непосредственная обратная связь от Studio IDE, например отображение несохранённых изменений.

    Основные возможности

    • Studio IDE предоставляет упрощённые функции Git:
      • Создание веток для разработки функциональности от ветки, настроенной в среде разработки.
      • Просмотр сохранённых, но ещё не включённых в коммит изменений кода непосредственно в Studio IDE.
    • Форматирование и линтинг кода с помощью sqlfluff или sqlfmt. Также поддерживается добавление собственных правил линтинга.
    • Встроенная возможность использовать метаданные production-среды через defer непосредственно в рабочих процессах разработки, что сокращает количество объектов.
    • Поддержка одновременного запуска нескольких команд dbt благодаря безопасному параллельному выполнению — возможности, доступной в инфраструктуре dbt platform. В отличие от неё, локальный dbt не поддерживает безопасное параллельное выполнение нескольких вызовов в одном процессе.

    Studio IDE предоставляет упрощённый интерфейс, доступный всем пользователям независимо от их технической подготовки. Однако некоторые возможности намеренно отсутствуют в Studio IDE, поскольку основной акцент сделан на простоте и удобстве использования:

    • Pre-commit для автоматических проверок перед созданием коммита кода недоступен (пока).
    • Массовое создание файлов и взаимодействие с файловой системой недоступны.
    • Объединение команд и передача данных через конвейер, например dbt run -s (bash command), недоступны.

    dbt platform CLI

    dbt platform CLI позволяет выполнять команды dbt в вашей среде разработки dbt platform из локальной командной строки. Этот инструмент предназначен для пользователей, которым нужен полный контроль над средой разработки, и идеально подходит тем, кто уверенно работает с командной строкой.

    При переходе с самостоятельно размещённого dbt на dbt platform обязательно проверьте, что файл .gitignore содержит необходимые папки. dbt не взаимодействует с git, поэтому dbt platform не добавляет и не проверяет записи в файле .gitignore автоматически. Кроме того, если репозиторий уже содержит код dbt и не требует инициализации, dbt platform не добавит недостающие записи в файл .gitignore.

    Кто может предпочесть CLI dbt platform?

    • Специалисты по данным, привыкшие работать с определённым набором инструментов разработки.
    • Пользователи, которым нужен детальный контроль над рабочими процессами Git (например, pre-commit для автоматических проверок перед созданием коммита кода).
    • Специалисты по данным, которым необходимо выполнять сложные операции, такие как массовое создание файлов или определённые комбинации команд.

    Основные возможности

    • Возможность выполнять команды dbt в своей среде разработки dbt platform из локальной командной строки с минимальной настройкой.
    • Встроенная возможность использовать метаданные production-среды через defer непосредственно в рабочих процессах разработки, что сокращает количество объектов.
    • Поддержка одновременного запуска нескольких команд dbt благодаря безопасному параллельному выполнению — возможности, доступной в инфраструктуре dbt platform. В отличие от неё, локальный dbt не поддерживает безопасное параллельное выполнение нескольких вызовов в одном процессе.
    • Возможность использовать расширения Visual Studio (VS) Code

    Оркестрация​

    dbt platform предоставляет надёжные средства оркестрации, которые позволяют легко планировать, запускать и отслеживать задания dbt. Вот несколько советов и оговорок, которые стоит учитывать при использовании возможностей оркестрации dbt platform:

    Советы​

    • Включите частичный разбор между заданиями в dbt platform, чтобы значительно ускорить разбор проекта за счёт обработки только изменённых файлов и оптимизировать производительность крупных проектов.
    • Запускайте несколько заданий CI/CD одновременно, не блокируя запуски в production-среде. Планировщик заданий автоматически отменяет устаревшие запуски при отправке нового коммита. Это возможно благодаря тому, что каждый PR выполняется в собственной схеме.
    • dbt platform автоматически отменяет запуск по расписанию, если предыдущий запуск ещё выполняется. Это предотвращает ненужные повторные выполнения.
    • Защитите свою работу и актуальность данных от сбоев сторонних сервисов: включите кэширование Git-репозитория в dbt platform, которое сохраняет кэш Git-репозитория проекта. EnterpriseEnterprise +
    • Связывайте задания развёртывания между проектами dbt platform, настроив задание или используя для этого Create Job API. StarterEnterprise
    • Повторно запускайте задания с начала или с места сбоя, если выполнение задания dbt завершилось со статусом Error.

    Оговорки​

    • Чтобы автоматизировать настройку и конфигурирование вашей платформы dbt, можно хранить конфигурации заданий в виде кода в репозитории:
      • Ознакомьтесь с нашим провайдером Terraform.
      • Также ознакомьтесь с нашим репозиторием jobs-as-code — инструментом для управления заданиями dbt platform с помощью YAML-файла с чётко определённой структурой.
    • Пользователи dbt platform и внешние адресаты электронной почты могут получать уведомления об ошибке, успешном выполнении или отмене задания. Чтобы получать уведомления о предупреждениях, можно создать подписку на вебхук и отправлять сообщения в Slack.

    dbt Mesh​

    Mesh помогает организациям со зрелыми и сложными процессами преобразования данных в dbt повысить гибкость и производительность своих проектов dbt. Он позволяет использовать несколько взаимосвязанных проектов dbt вместо одного большого монолитного проекта.

    Он позволяет связывать разные проекты и модели и переходить между ними с помощью межпроектных зависимостей, улучшая совместную работу и управление данными.

    Вот несколько советов и оговорок, которые стоит учитывать при использовании Mesh:

    Советы​

    • Для динамического разрешения межпроектных ссылок все разработчики должны вести разработку в dbt platform (используя CLI dbt platform или Studio IDE). В самостоятельно размещённом dbt нет встроенной поддержки межпроектных ссылок: для этого нужно устанавливать исходный код вышестоящих проектов в виде пакетов
    • Связывайте модели из разных проектов, чтобы обеспечить модульный и масштабируемый подход к организации проекта и работы команд.
    • Управляйте доступом к моделям dbt как внутри проектов, так и между ними с помощью следующих возможностей:
      • Группы — Объединяйте логически связанные узлы в DAG dbt и назначайте владельца для всей группы.
      • Доступ к моделям — Определяйте, какие другие модели или проекты могут ссылаться на эту модель.
      • Версии моделей — Обеспечивайте внедрение новых и вывод из эксплуатации устаревших версий моделей по мере их развития.
      • Контракты моделей — Задавайте чёткие требования к структуре данных, чтобы изменения данных до их обработки в dbt или изменения логики проекта не нарушали работу продуктов данных нижестоящих потребителей.

    Оговорки​

    • Для использования межпроектных ссылок в dbt каждый проект dbt должен соответствовать только одному проекту dbt platform. Мы настоятельно не рекомендуем создавать несколько проектов для одной и той же кодовой базы, даже если вы хотите управлять правами доступа, подключаться к разным хранилищам данных или разделять производственные и непроизводственные данные. Хотя раньше это было необходимо, такие возможности, как промежуточные среды, RBAC на уровне среды (скоро появится) и расширенные атрибуты, устранят эту необходимость.
    • Зависимости проектов однонаправленны, то есть действуют только в одном направлении. Это означает, что dbt проверяет наличие циклов между проектами (циклических зависимостей) и выдаёт ошибки при их обнаружении. Однако мы рассматриваем возможность в будущем разрешить проектам зависеть друг от друга в обоих направлениях: dbt по-прежнему будет проверять циклы на уровне узлов, но разрешит циклы на уровне проектов.
    • Все пользователи аккаунта могут просматривать метаданные публичных моделей, что упрощает поиск продуктов данных. Это не связано с доступом к самим данным, который регулируется правами в хранилище данных. Для случаев, когда даже метаданные о повторно используемом ресурсе данных являются конфиденциальными, мы рассматриваем дополнительное расширение возможностей защищённых моделей.

    Другие вопросы рассмотрены в разделе часто задаваемых вопросов о Mesh.

    dbt Semantic Layer​

    Используйте Semantic Layer на базе MetricFlow, чтобы создать единое представление бизнес-метрик и обеспечить их согласованность во всех аналитических инструментах. Слой данных — основа как для ИИ, так и для аналитики — общие определения и сведения о происхождении данных обеспечивают ИИ и BI единым надёжным контекстом, благодаря чему ответы согласованы и применимы на практике. Вот несколько советов и оговорок, которые стоит учитывать при использовании Semantic Layer:

    Советы​

    • Определите семантические модели и метрики один раз в dbt platform с помощью Semantic Layer (на базе MetricFlow). Повторно используйте их на разных аналитических платформах, сокращая дублирование и количество ошибок.
    • Используйте API Semantic Layer для запросов метрик в нижестоящих инструментах, чтобы получать согласованные и надёжные показатели.
    • Подключайте различные приложения для работы с данными — от инструментов бизнес-аналитики до блокнотов, электронных таблиц, каталогов данных и других инструментов — для запросов ваших метрик. Доступные интеграции включают Tableau, Google Sheets, Hex и другие.
    • Используйте экспорт, чтобы по расписанию сохранять результаты часто используемых запросов непосредственно в вашей платформе данных.

    Оговорки​

    • Semantic Layer в настоящее время поддерживает выполнение запросов в среде развёртывания. Возможность выполнения запросов в среде разработки появится в ближайшее время.
    • Выполняйте запросы и команды семантического слоя в CLI dbt platform; выполнение запросов и команд семантического слоя в Studio IDE пока не поддерживается.
    • Semantic Layer не поддерживает использование единого входа (SSO) для учётных данных production-среды Semantic Layer, однако SSO поддерживается для учётных записей пользователей в среде разработки.

    Дополнительную информацию см. в разделе часто задаваемых вопросов о Semantic Layer.

    dbt Catalog​

    Catalog расширяет возможности поиска, изучения ресурсов данных и устранения связанных с ними проблем благодаря подробным метаданным и визуализации происхождения данных. Поиск ресурсов и сведения о происхождении данных необходимы для управления данными и предоставления надёжного контекста рабочим процессам ИИ. Вот несколько советов и оговорок, которые стоит учитывать при использовании Catalog:

    Советы​

    • Используйте поиск и фильтры в Catalog, чтобы быстро находить модели, источники и тесты, упрощая рабочий процесс.
    • Просматривайте все проекты и публичные модели в аккаунте, места определения публичных моделей и способы их использования, чтобы лучше понимать ресурсы, используемые между проектами.
    • Используйте функцию Lenses — слои для DAG, подобные слоям карты, доступные на графе происхождения данных вашего проекта. Lenses помогают лучше понимать контекстные метаданные проекта в большом масштабе, в частности выделять определённую модель или подмножество моделей.
    • Получайте доступ к сведениям о происхождении данных на уровне столбцов (CLL) для ресурсов вашего проекта dbt. EnterpriseEnterprise +

    Оговорки​

    • Чтобы Catalog заполнился информацией, в производственной среде развёртывания должен быть хотя бы один успешный запуск задания.

    Ознакомьтесь с функциями Catalog, чтобы в полной мере использовать его возможности и не упустить способы повысить эффективность.

    Дополнительную информацию см. в разделе часто задаваемых вопросов о Catalog.

    Что дальше?​

    Поздравляем с завершением руководства 🎉!

    Надеемся, вы получили полезные сведения и советы, которые помогут вам при переходе. Важно помнить: переход с самостоятельно размещённого dbt на dbt platform — это не только развитие ваших проектов данных, но и выход на новый уровень совместной работы, управления, эффективности и инноваций в команде, а также создание слоя данных, готового к использованию ИИ.

    В качестве следующих шагов продолжите изучение нашей серии руководств из трёх частей о переходе с самостоятельно размещённого dbt на dbt platform:

    Руководство
    Информация
    Аудитория
    Переход на dbt platform: что нужно знатьУзнайте, что следует учесть при переходе на dbt platform и какие способы перехода доступны.Руководители команд
    Администраторы
    Переход на dbt platform: начало работыИзучите шаги, необходимые для перехода на dbt platform.Разработчики
    Инженеры данных
    Аналитики данных
    Переход на dbt platform: советы по оптимизацииУзнайте, как повысить эффективность работы с dbt platform, на примере распространённых сценариев и полезных советов.Все пользователи

    Зачем переходить на платформу dbt?

    Если ваша команда сейчас использует dbt в собственной инфраструктуре, возможно, вы читаете это руководство по следующим причинам:

    • Вы осознали, сколько сил требует поддержка такого развёртывания.
    • Сотрудник, который всё настроил, уже покинул команду.
    • Вас интересует, как dbt platform может помочь управлять сложным развёртыванием dbt, расширить круг участников или улучшить практики обеспечения безопасности и управления данными.
    • Вам нужна управляемая основа данных для ИИ — общие определения, отслеживание происхождения данных и тестирование, чтобы результаты аналитики и ИИ заслуживали доверия бизнеса.

    Истинная стоимость самостоятельного размещения скрывается в часах работы инженеров и напрасно расходуемых вычислительных ресурсах. Платформа dbt устраняет эти накладные расходы благодаря управляемой инфраструктуре и разработке в браузере: больше людей могут участвовать в работе, а вы не становитесь узким местом.

    Оркестрация с учётом состояния теперь называется dbt State

    dbt State работает со всеми движками и средами: dbt v1, dbt platform и dbt v2.

    Если вы использовали оркестрацию с учётом состояния до 1 июня 2026 года, вы можете продолжить её использовать. После запуска бесплатного пробного периода dbt State его продолжительность будет увеличена по сравнению со стандартными 30 днями. Если продление не применилось к вашей учётной записи, свяжитесь с командой, которая её сопровождает. Чтобы начать, обратитесь к разделу Переход с оркестрации с учётом состояния.

    Слой данных — это слой ИИ: убедитесь, что данные проверены, чётко определены и заслуживают доверия на всех этапах обработки.

    Переход на dbt platform упрощает рабочие процессы благодаря полностью управляемой среде, которая улучшает совместную работу, безопасность и оркестрацию. С dbt platform вы получаете доступ к таким возможностям, как взаимодействие между командами (dbt Mesh), управление версиями, оптимизированные процессы CI/CD, Catalog для всестороннего изучения данных и многое другое — всё это упрощает управление сложными развёртываниями dbt и позволяет эффективно масштабировать рабочие процессы обработки данных.

    Это идеальный вариант для команд, которые хотят сократить затраты на поддержку собственной инфраструктуры, одновременно улучшая управление данными и повышая продуктивность.

    Ресурсы​

    Если вам нужна дополнительная помощь или у вас есть вопросы, воспользуйтесь следующими ресурсами:

    Для получения индивидуальной помощи воспользуйтесь следующими ресурсами:

    Нашли ошибку?

    0