Окружения dbt
dbt позволяет легко поддерживать отдельные окружения для разработки и продакшена с помощью целевых окружений (targets) в рамках профиля. При локальном использовании dbt (например, при запуске из командной строки) типичный профиль содержит целевое окружение с именем dev, заданное по умолчанию. Это означает, что при внесении изменений ваши объекты будут создаваться в целевом окружении для разработки, не затрагивая запросы конечных пользователей в продакшене. Убедившись в корректности изменений, вы можете развернуть код в продакшене, запустив проект dbt с целевым окружением prod.
Вы можете узнать больше о различных способах запуска dbt в производственной среде в этой статье.
Цели предлагают гибкость в решении, как реализовать ваши отдельные среды — хотите ли вы использовать отдельные схемы, базы данных или полностью разные кластеры! Мы рекомендуем использовать разные схемы в одной базе данных для разделения ваших сред. Это самое простое в настройке и наиболее экономичное решение в современной облачной архитектуре данных.
На практике это означает, что большинство деталей в цели будут одинаковыми для всех целей, за исключением schema и учетных данных пользователя. Если у вас несколько пользователей dbt, пишущих код, часто имеет смысл, чтобы каждый пользователь имел свою собственную разработческую среду. Полезным шаблоном, который мы нашли, является установка схемы вашей dev цели как dbt_<username>. Учетные данные пользователя также должны различаться между целями, чтобы каждый пользователь dbt использовал своего собственного пользователя в хранилище данных.