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