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

Треки релизов в dbt platform

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

Ранее клиенты фиксировались на минорной версии dbt Core и получали только патч-обновления в течение периода активной поддержки этой версии. Треки релизов обеспечивают актуальность вашего проекта, предоставляя доступ к современным возможностям dbt и последним версиям dbt Core.

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

Перенеся ваши окружения и задания на release tracks, вы сможете получать всю функциональность dbt сразу после того, как она станет доступна. На release track «Latest» это, в том числе, означает доступ к возможностям до того, как они станут доступны в финальных релизах dbt Core OSS.

Какие треки релизов доступны?

Release trackDescriptionPlan availabilityAPI value
LatestРанее назывался «Versionless». Предоставляет непрерывный выпуск самой актуальной функциональности платформы dbt.

Включает ранний доступ к новым возможностям фреймворка dbt до того, как они станут доступны в open source‑релизах dbt Core.
Все тарифыlatest (или versionless)
CompatibleПредоставляет ежемесячный релиз, синхронизированный с самыми свежими open source‑версиями dbt Core и адаптеров, а также функциональность, доступную исключительно в платформе dbt.

Подробнее см. Compatible track changelog.
Starter, Enterprise, Enterprise+compatible
ExtendedРелиз «Compatible» за предыдущий месяц.Enterprise, Enterprise+extended
Loading table...

Чтобы настроить окружение в dbt Admin API или Terraform для использования определённого release track, установите параметр dbt_version в значение имени release track:

  • latest (или versionless, старое название всё ещё поддерживается)
  • compatible
  • extended

Какой трек релизов выбрать?

Выберите трек релизов "Latest", чтобы постоянно получать новые возможности, исправления и улучшения производительности — самые свежие и лучшие версии dbt. Этот вариант используется по умолчанию для всех клиентов в dbt.

Выберите треки релизов "Compatible" и "Extended", если вам нужен более редкий график выпусков, возможность протестировать новые релизы dbt до их вывода в промышленную эксплуатацию и/или длительная совместимость с последними open source‑релизами dbt Core.

Общие архитектуры

Default — Большинство клиентов на всех тарифных планах

  • Приоритет — немедленный доступ к исправлениям и новым возможностям
  • Оставляйте все окружения на треке релизов "Latest" (конфигурация по умолчанию)

Hybrid — Starter, Enterprise, Enterprise+

  • Приоритет — постоянная совместимость между dbt и dbt Core для разработки и деплоя при использовании обоих продуктов в одних и тех же dbt‑проектах
  • Настройте все окружения на использование трека релизов "Compatible"
  • Учитывайте, что новые возможности будут недоступны до тех пор, пока они сначала не выйдут в dbt Core OSS (обычно через несколько месяцев после трека "Latest")

Cautious — Enterprise, Enterprise+, Business Critical

  • Приоритет — дополнительное время на «обкатку» новых возможностей и исправлений
  • Настройте окружения разработки и тестирования на использование трека релизов "Compatible"
  • Настройте pre-production и production окружения на использование трека релизов "Extended"
  • Учитывайте, что новые возможности будут недоступны до месяца после их первого релиза в dbt Core OSS и на треке Compatible. Разработчики (на "Compatible") получат доступ к новым возможностям раньше, чем смогут использовать их в production (на "Extended"), и должны учитывать эту дополнительную задержку.

Virtual Private dbt или Single Tenant

  • Изменения во всех треках релизов выкатываются в рамках обновлений инстанса dbt один раз в неделю

Обновление с более старых версий

Как обновить

Если вы регулярно разрабатываете свой проект dbt в dbt и при этом всё ещё используете устаревшую версию dbt Core, dbt Labs рекомендует попробовать обновить проект в среде разработки. Переопределите версию dbt в среде разработки. Затем запустите Studio IDE или Cloud CLI и продолжайте разработку в обычном режиме. Всё должно работать так, как вы ожидаете.

Если же вы заметите что‑то неожиданное или непривычное, вернитесь к предыдущей версии и зафиксируйте обнаруженные различия. Свяжитесь со службой поддержки dbt и передайте им свои наблюдения для более детального анализа.

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

Если в вашей организации несколько проектов dbt, мы рекомендуем начать обновление с проектов, которые меньше, новее или более знакомы вашей команде. Таким образом, если вы столкнетесь с какими-либо проблемами, их будет легче и быстрее устранить, прежде чем переходить к обновлению более крупных или сложных проектов.

Соображения

Чтобы узнать больше о том, как dbt Labs безопасно развёртывает стабильные обновления dbt в dbt, мы рекомендуем прочитать наш блог-пост: How we're making sure you can confidently switch to the "Latest" release track in dbt.

Если вы используете dbt версии 1.6 или старше, обратите внимание, что ваша версия dbt Core достигла конца жизненного цикла (EOL) и больше не поддерживается. Мы настоятельно рекомендуем как можно скорее обновиться до более новой версии.

dbt Labs продлила период критической поддержки dbt Core версии 1.7 для клиентов dbt уровня Enterprise до марта 2025 года. После этого мы будем рекомендовать всем клиентам выбрать Release Track для получения регулярных обновлений в dbt.

 Я использую более старую версию dbt на платформе dbt. Что мне делать? Что произойдёт, если я ничего не буду делать?

Если вы используете версию dbt v1.6 или старше, пожалуйста, знайте, что ваша версия dbt Core достигла конца срока службы (EOL) и больше не поддерживается. Мы настоятельно рекомендуем обновиться до более новой версии как можно скорее.

dbt Labs продлила период Critical Support для dbt Core v1.7 для клиентов dbt уровня Enterprise на то время, пока мы вместе с этими клиентами выполняем миграцию на Release Tracks. Это означает, что v1.7 продолжит быть доступной в dbt для Enterprise‑клиентов, задания и окружения этих клиентов, работающие на v1.7, не будут автоматически переведены на Latest, а dbt Labs продолжит исправлять критические баги и проблемы безопасности.

Начиная с октября 2024 года, аккаунты dbt на тарифах Developer и Starter (ранее Teams) были мигрированы с более старых версий dbt Core на release tracks. Если ваш аккаунт был мигрирован на release track Latest и вы заметили новые сбои в запланированных заданиях, пожалуйста, обратитесь в поддержку dbt, чтобы сообщить о проблеме или запросить продление.

 Я использую устаревшие определения метрик из версии dbt Core ≤1.5. Что мне делать?

Устаревший dbt Semantic Layer был снят с поддержки во второй половине 2023 года. Мы рекомендуем вам обратиться к руководству по миграции устаревшего dbt Semantic Layer для получения дополнительной информации.

 Какие еще известные проблемы могут возникнуть при обновлении с более старых версий dbt Core?

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

  • [v1.1] Клиентам на BigQuery следует учитывать, что <Constant name="cloud" /> устанавливает значение по умолчанию для тайм-аута выполнения на уровне модели, равное 5 минутам. Вы можете переопределить эту настройку в параметрах подключения. Более старые версии dbt (включая v1.0) некорректно учитывали эту конфигурацию тайм-аута.
  • [v1.3] Клиенты, у которых в каталогах проекта (например, models/) определены .py‑файлы, не относящиеся к dbt. Начиная с v1.3, dbt ожидает, что такие файлы будут валидными Python models. Необходимо либо переместить эти файлы из каталога models/, либо игнорировать их с помощью .dbtignore.
  • [v1.5] Клиенты, которые используют --m в определениях своих job, вместо -m или --models. Это автодополнение (--m[odels] для --models) никогда официально не документировалось и не поддерживалось. Это было неявным поведением argparse (CLI‑библиотеки, используемой в dbt-core v1.0–1.4), которое не поддерживается click (CLI‑библиотекой, используемой в dbt-core начиная с v1.5+).
  • [v1.5] Пустая невалидная конфигурация tests начинает вызывать ошибку валидации](/docs/dbt-versions/core-upgrade/Older%20versions/upgrading-to-v1.5). Замените пустую конфигурацию tests на tests: [] или полностью удалите её.
  • [v1.6] Оптимизация производительности для load_result означает, что вы больше не можете вызывать её несколько раз для одного и того же результата запроса. Вместо этого сохраните результат в локальную переменную один раз и повторно используйте эту переменную (контекст: dbt-core#7371).

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

 Я вижу, что мой аккаунт был мигрирован на Latest. Что мне делать?

Для подавляющего большинства клиентов никаких дополнительных действий не требуется.

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

 Что насчет критических изменений в пакетах (поддерживаемых dbt Labs или другими)?

Когда мы говорим о последней версии, мы имеем в виду основное время выполнения для dbt, а не версии пакетов, которые вы устанавливаете. Наш непрерывный выпуск для dbt включает тестирование против нескольких популярных пакетов dbt. Это гарантирует, что обновления, которые мы вносим в dbt-core, адаптеры или в любое другое место, совместимы с кодом в этих пакетах.

Если новая версия пакета dbt включает критическое изменение (например, изменение одного из макросов в dbt_utils), вам не нужно сразу использовать новую версию. В вашей конфигурации packagesdependencies.yml или packages.yml) вы все еще можете указать, какие версии или диапазоны версий пакетов вы хотите, чтобы dbt устанавливал. Если вы еще этого не делаете, мы настоятельно рекомендуем проверять package-lock.yml в систему контроля версий для предсказуемых установок пакетов в средах развертывания и четкой истории изменений при установке обновлений.

Если вы обновитесь до трека релизов "Latest" и сразу увидите что-то, что ломается, пожалуйста, свяжитесь с поддержкой и, в это время, понизьте версию обратно до v1.7.

Если вы уже используете ветку релизов Latest и замечаете ломающие изменения (например, вчера всё работало, а сегодня — нет, или работает неожиданным/другим образом), пожалуйста, немедленно обратитесь в поддержку. В зависимости от условий вашего договора поддержки команда dbt Labs ответит в рамках нашего SLA и постарается откатить изменение и/или выпустить исправление (так же, как и для любой другой части dbt). Это правило действует независимо от того, находится ли первопричина ломающего изменения в коде вашего проекта или в коде используемого пакета.

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

 Я вижу, что dbt Core версии 1.8 был выпущен в апреле 2024 года. Будет ли версия 1.8 доступна в платформе dbt?

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

В 2023 году (и ранее) от клиентов требовалось самостоятельно управлять обновлениями, выбирая версии dbt Core, вплоть до dbt Core v1.7, который был выпущен в октябре 2023 года. (Ещё в 2021 году клиенты dbt выбирали конкретные патч‑релизы dbt Core, например обновляясь с v0.21.0 до v0.21.1. С тех пор мы прошли большой путь!)

В 2024 году мы изменили подход к тому, как новый функционал dbt становится доступным для клиентов dbt. Изменения поведения или ломающие изменения теперь скрыты за opt‑in флагами. Пользователям больше не нужно тратить ценное время на самостоятельное управление обновлениями. В настоящее время можно получать непрерывные (ежедневные) обновления. До конца года мы добавим другие варианты периодичности релизов для управляемых клиентов dbt.

Выбор частоты выпусков с автоматическими обновлениями необходим для доступа к любой новой функциональности, которую мы выпустили в 2024 году и в дальнейшем.

Мы продолжаем выпускать новые минорные версии dbt Core (OSS). Самая свежая версия — dbt Core v1.9 — была выпущена 9 декабря 2024 года. Эти релизы всегда включают лишь часть функциональности, которая уже доступна клиентам платформы dbt, и выходят только после того, как соответствующая функциональность появилась в dbt platform.

Если у вас есть комментарии или вопросы, мы будем рады помочь. Если вы уже являетесь клиентом dbt, вы можете обратиться к своему аккаунт-менеджеру или связаться со службой поддержки.

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

0
Loading