Треки релизов в dbt Cloud
С мая 2024 года новые возможности в рамках dbt доставляются непрерывно в dbt Cloud. Ваши проекты и окружения обновляются автоматически с частотой, которую вы выбираете, в зависимости от вашего плана dbt Cloud.
Ранее клиенты закреплялись за минорной версией dbt Core и получали только патч-обновления в течение активного периода поддержки этой версии. Треки релизов обеспечивают актуальность вашего проекта с современными возможностями dbt Cloud и последними версиями dbt Core.
Это потребует от вас одного финального обновления ваших текущих заданий и окружений. После этого вам больше не придется думать об управлении, координации или обновлении версий dbt.
Переместив свои окружения и задания на треки релизов, вы сможете получать все функции в dbt Cloud, как только они будут готовы. На треке релизов "Latest" это включает доступ к функциям до их появления в финальных релизах dbt Core OSS.
- "Latest" (доступен для всех планов, ранее назывался "Versionless"): Обеспечивает непрерывный выпуск последних функций в dbt Cloud. Включает ранний доступ к новым функциям dbt до их появления в open source релизах dbt Core.
- coming soon "Compatible" (доступен для Team + Enterprise): Обеспечивает ежемесячный выпуск, согласованный с последними open source версиями dbt Core и адаптеров, плюс функции, доступные исключительно в dbt Cloud.
- coming soon "Extended" (доступен для Enterprise): Обеспечивает отложенный выпуск предыдущего месяца "Compatible".
Первый выпуск "Compatible" состоится в декабре 2024 года, после финального релиза dbt Core v1.9.0. В декабре 2024 года "Extended" будет таким же, как "Compatible". Начиная с января 2025 года, "Extended" будет отставать от "Compatible" на один месяц.
Чтобы настроить окружение в dbt Cloud Admin API или Terraform для использования трека релизов, установите dbt_version
на имя трека релизов:
latest
(ранее назывался versionless
; старое имя все еще поддерживается)
compatible
(доступен для Team + Enterprise)
extended
(доступен для Enterprise)
Выберите трек релизов "Latest", чтобы непрерывно получать новые функции, исправления, улучшения производительности — последние и лучшие возможности dbt. Это настройка по умолчанию для всех клиентов dbt Cloud.
Выберите треки релизов "Compatible" и "Extended", если вам нужна менее частая частота выпусков, возможность тестировать новые релизы dbt перед их запуском в производстве и/или постоянная совместимость с последними open source релизами dbt Core.
По умолчанию - большинство клиентов на всех планах
- Приоритет немедленного доступа к исправлениям и функциям
- Оставьте все окружения на треке релизов "Latest" (настройка по умолчанию)
Гибрид - Team, Enterprise
- Приоритет постоянной совместимости между dbt Cloud и dbt Core для разработки и развертывания с использованием обоих продуктов в одних и тех же проектах dbt
- Настройте все окружения для использования трека релизов "Compatible"
- Понимание того, что новые функции не будут доступны, пока они не будут впервые выпущены в dbt Core OSS (несколько месяцев после трека релизов "Latest")
Осторожный - Enterprise, Business Critical
- Приоритет времени "выпекания" для новых функций и исправлений
- Настройте окружения разработки и тестирования для использования трека релизов "Compatible"
- Настройте пред-производственные и производственные окружения для использования трека релизов "Extended"
- Понимание того, что новые функции не будут доступны, пока они не будут впервые выпущены в dbt Core OSS + Compatible track
Виртуальный частный dbt или одноарендный
- Изменения всех треков релизов внедряются в рамках обновлений экземпляра dbt Cloud раз в неделю
Если вы регулярно разрабатываете свой проект dbt в dbt Cloud и все еще используете устаревшую версию dbt Core, dbt Labs рекомендует попробовать обновить ваш проект в среде разработки. Переопределите вашу версию dbt в разработке. Затем запустите IDE или Cloud CLI и продолжайте свою работу как обычно. Все должно работать, как вы ожидаете.
Если вы заметите что-то неожиданное или удивительное, вернитесь к предыдущей версии и зафиксируйте различия, которые вы наблюдали. Свяжитесь с поддержкой dbt Cloud с вашими находками для более детального расследования.
Далее мы рекомендуем попробовать обновить среду развертывания вашего проекта. Если у вашего проекта есть среда развертывания для тестирования, обновите ее и попробуйте поработать с ней несколько дней, прежде чем переходить к обновлению производственной среды.
Если в вашей организации несколько проектов dbt, мы рекомендуем начать обновление с проектов, которые меньше, новее или более знакомы вашей команде. Таким образом, если вы столкнетесь с какими-либо проблемами, их будет легче и быстрее устранить, прежде чем переходить к обновлению более крупных или сложных проектов.
Чтобы узнать больше о том, как dbt Labs развертывает стабильные обновления dbt безопасным образом в dbt Cloud, мы рекомендуем прочитать наш блог: Как мы обеспечиваем уверенный переход на трек релизов "Latest" в dbt Cloud.
Если вы используете версию dbt 1.6 или старше, пожалуйста, знайте, что ваша версия dbt Core достигла конца срока службы (EOL) и больше не поддерживается. Мы настоятельно рекомендуем обновиться до более новой версии как можно скорее.
dbt Labs продлила период критической поддержки dbt Core v1.7 для клиентов dbt Cloud Enterprise до 31 января 2024 года. В этот момент мы будем просить всех клиентов выбрать трек релизов для получения постоянных обновлений dbt в dbt Cloud.
Если вы используете версию dbt v1.6 или старше, пожалуйста, знайте, что ваша версия dbt Core достигла конца срока службы (EOL) и больше не поддерживается. Мы настоятельно рекомендуе м обновиться до более новой версии как можно скорее.
dbt Labs продлила период "Критической поддержки" dbt Core v1.7 для клиентов dbt Cloud Enterprise, пока мы работаем над миграцией с этими клиентами на треки релизов. В это время версия v1.7 будет продолжать быть доступной в dbt Cloud для клиентов Enterprise, задания и окружения на v1.7 для этих клиентов не будут автоматически мигрированы на "Latest", и dbt Labs продолжит исправлять критические ошибки и проблемы безопасности.
Аккаунты dbt Cloud на планах Developer и Team будут мигрированы на трек релизов "Latest" после 1 ноября 2024 года. Если вы знаете, что ваш проект не будет совместим с обновлением по одной из описанных здесь причин или по другой причине, выявленной в вашем собственном тестировании, вам следует связаться с поддержкой dbt Cloud, чтобы запросить продление.
Если ваш аккаунт был мигрирован на трек релизов "Latest", и вы видите новые сбои в ваших запланированных заданиях dbt, вам также следует связаться с поддержкой dbt Cloud, чтобы запросить продление.
Если вы обновляетесь с очень старой неподдерживаемой версии dbt Core, вы можете столкнуться с одной из этих крайних ситуаций после обновления до более новой версии:
- [v1.1] Клиенты на BigQuery должны знать, что dbt Cloud устанавливает по умолчанию тайм-аут на выполнение модели в 5 минут. Вы можете переопределить эту настройку в деталях подключения. Более старые версии dbt (включая v1.0) не корректно учит ывали эту настройку тайм-аута.
- [v1.3] Клиенты с не-dbt
.py
файлами, определенными в их директориях проектов, таких как models/
. Начиная с v1.3, dbt ожидает, что эти файлы будут валидными Python моделями. Клиенту необходимо переместить эти файлы из их директории models/
или игнорировать их через .dbtignore
.
- [v1.5] Клиенты, у которых в определениях заданий используется
--m
вместо -m
или --models
. Это автозаполнение (--m[odels]
для --models
) никогда не было официально задокументировано или поддержано. Это было неявным поведением argparse (библиотека CLI, используемая в dbt-core v1.0-1.4), которое не поддерживается click
(библиотека CLI, используемая в dbt-core с версии v1.5+).
- [v1.5] Пустая недействительная конфигурация
tests
начинает вызывать ошибку валидации](https://docs.getdbt.com/docs/dbt-versions/core-upgrade/upgrading-to-v1.5). Замените пустую конфигурацию tests
на tests: []
или удалите ее полностью.
- [v1.6] Оптимизация производительности для
load_result
означает, что вы не можете вызывать его на одном и том же результате запроса несколько раз. Вместо этого сохраните его в локальную переменную один раз и используйте эту переменную повторно (контекст: dbt-core#7371).
Вам следует связаться с поддержкой dbt Cloud, чтобы запросить продление, в течение которого вам нужно будет внести эти изменения.
Для подавляющего большинства клиентов никаких дополнительных действий не требуется.
Если вы видите новые сбои в ваших запланированных заданиях, теперь, когда они работают на более новой версии dbt, вам может потребоваться обновить код вашего проекта, чтобы учесть одну из крайних ситуаций, описанных на этой странице. Вам следует связаться с поддержкой dbt Cloud, чтобы запросить продление, в течение которого вам нужно будет внести эти изменения.
Когда мы говорим о последней версии, мы имеем в виду основное время выполнения для dbt, а не версии пакетов, которые вы устанавливаете. Наш непрерывный выпуск для dbt включает тестирование против нескольких популярных пакетов dbt. Это гарантирует, что обновления, которые мы вносим в dbt-core, адаптеры или в любое другое место, совместимы с кодом в этих пакетах.
Если новая версия пакета dbt включает критическое изменение (например, изменение одного из макросов в dbt_utils
), вам не нужно сразу использовать новую версию. В вашей конфигурации packages
(в dependencies.yml
или packages.yml
) вы все еще можете указать, какие версии или диапазоны версий пакетов вы хотите, чтобы dbt устанавливал. Если вы еще этого не делаете, мы настоятельно рекомендуем проверять package-lock.yml
в систему контроля версий для предсказуемых установок пакетов в средах развер тывания и четкой истории изменений при установке обновлений.
Если вы обновитесь до трека релизов "Latest" и сразу увидите что-то, что ломается, пожалуйста, свяжитесь с поддержкой и, в это время, понизьте версию обратно до v1.7.
Если вы уже находитесь на треке релизов "Latest" и наблюдаете критическое изменение (например, что-то работало вчера, но сегодня не работает или работает неожиданно/по-другому), пожалуйста, свяжитесь с поддержкой немедленно. В зависимости от вашего контракта на поддержку, команда dbt Labs ответит в течение нашего времени SLA, и мы постараемся откатить изменение и/или выпустить исправление (так же, как мы бы сделали для любой другой части dbt Cloud). Это одинаково, независимо от того, является ли коренной причиной критического изменения код проекта или код пакета.
Если пакет, который вы установили, полагается на недокументированную функциональность dbt, он не имеет тех же гарантий, что и функциональность, которую мы задокументировали и протестировали. Однако мы все равно сделаем все возможное, чтобы избежать их поломки.
Нет. В дальнейшем клиенты будут получать доступ к новой функциональности и постоянной поддержке в dbt Cloud, получая автоматические обновления. Мы считаем, что это лучший способ предложить надежное, стабильное и безопасное время выполнения для dbt, и для вас, как пользователей dbt, чтобы вы могли последовательно использовать новые функции.
В 2023 году (и ранее) от клиентов ожидалось, что они будут управлять своими собственными обновлениями, выбирая версии dbt Core, вплоть до dbt Core v1.7, который был выпущен в октябре 2023 года. (Еще в 2021 году клиенты dbt Cloud выбирали конкретные патч-релизы dbt Core, такие как обновление с v0.21.0
до v0.21.1
. Мы прошли долгий путь с тех пор!)
В 2024 году мы изменили способ, которым новая функциональность dbt становится доступной для клиентов dbt Cloud. Изменения поведения или критические изменения скрыты за флагами, которые можно включить. Пользов ателям не нужно тратить ценное время на управление своими собственными обновлениями. В настоящее время возможно получать непрерывные (ежедневные) обновления. Мы добавляем другие варианты частоты выпусков для управляемых клиентов dbt Cloud к концу года.
Выбор частоты выпусков с автоматическими обновлениями необходим для доступа к любой новой функциональности, которую мы выпустили в 2024 году и в дальнейшем.
Мы продолжаем выпускать новые минорные версии dbt Core (OSS), включая v1.9, которая будет доступна позже в этом году. Когда мы это делаем, это будет подмножество функциональности, которая уже доступна клиентам dbt Cloud, и всегда после того, как функциональность была доступна в dbt Cloud.
Если у вас есть комментарии или вопросы, мы будем рады помочь. Если вы являетесь существующим клиентом dbt Cloud, вы можете обратиться к вашей команде аккаунта или связаться с поддержкой.