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

Каналы релизов на платформе dbt

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

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

Набор каналов релизов, доступных для вашего проекта, зависит от основной версии dbt.

Каналы релизов dbt v2​

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

v2 Stable используется по умолчанию для всех новых проектов на базе dbt v2.

Канал релизовПериодичностьОписаниеДоступность по тарифным планамЗначение для API
v2 NightlyКаждую ночьСамая свежая ночная сборка. Включает ранний доступ к новым функциям.Все тарифные планыfusion-nightly
v2 Stable (по умолчанию)ЕженедельноЕженедельный релиз, обеспечивающий баланс между стабильностью и доступом к новым функциям.
Все тарифные планыfusion-stable
v2 ExtendedЕжемесячноПоследний релиз v2 Stable за предыдущий месяц. Предназначен для тех, кому нужны максимальная стабильность и дополнительное время на тестирование.Enterprise, Enterprise+fusion-extended
v2 FallbackЕжемесячноРелиз v2 Extended за предыдущий месяц. Вариант экстренного отката для администраторов аккаунта.Enterprise+fusion-fallback

Каналы релизов dbt v1​

Канал релизовОписаниеДоступность по тарифным планамЗначение для API
v1 LatestОбеспечивает непрерывное получение самых новых возможностей в dbt platform.

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

Подробнее см. в журнале изменений канала v1 Compatible.
Starter, Enterprise, Enterprise+compatible
v1 ExtendedРелиз v1 Compatible за предыдущий месяц.Enterprise, Enterprise+extended
v1 FallbackРелиз v1 Extended за предыдущий месяц.Enterprise+fallback

Каналы релизов в API​

Различия в названиях в API

Названия каналов релизов в API отличаются от названий в интерфейсе. В API по-прежнему используются прежние названия. В ближайшее время мы планируем добавить псевдонимы для новых названий. Когда они станут доступны, мы уведомим клиентов и обновим эту страницу.

Названия с префиксом fusion относятся к v2. Названия без этого префикса относятся к v1.

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

  • fusion-nightly
  • fusion-stable (ранее — latest-fusion)
  • fusion-extended
  • fusion-fallback
  • latest
  • compatible
  • extended

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

Мы рекомендуем использовать dbt v2 во всех новых проектах. Проекты, которые всё ещё используют каналы релизов v1, можно обновить до v2, а проекты на устаревших версиях v1.x следует перевести на каналы релизов.

Выбор канала релизов dbt v2​

Выберите v2 Stable (канал по умолчанию для новых проектов), чтобы получать еженедельные релизы, обеспечивающие баланс между стабильностью и доступом к новым функциям. Это рекомендуемая отправная точка для большинства клиентов, переходящих на dbt v2.

Выберите v2 Nightly, если хотите получать самые новые функции и готовы к ежедневным релизам. Этот канал идеально подходит командам, для которых приоритетен доступ к самым новым возможностям.

Выберите v2 Extended, если вашей команде нужны максимальная стабильность и больше времени на тестирование до развертывания обновлений. Этот канал обычно отстаёт от v2 Stable на один месяц и доступен для аккаунтов Enterprise и Enterprise+.

Используйте v2 Fallback только как экстренную меру. Это вариант временного отката для аккаунтов Enterprise+, не предназначенный для постоянного использования.

Администраторы аккаунта могут задать для всей организации канал релизов по умолчанию для новых проектов с помощью переключателя в разделе Account Settings. Затем владельцы отдельных проектов могут переопределить это значение для каждой среды.

Выбор канала релизов dbt v1​

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

Выберите каналы релизов v1 Compatible и v1 Extended, если вам нужны менее частые релизы, возможность тестировать новые релизы dbt до их внедрения в рабочую среду и/или постоянная совместимость с последними релизами dbt v1 с открытым исходным кодом.

Использование канала релизов v2 Fallback​

Канал релизов v2 Fallback предоставляет администраторам аккаунта возможность экстренного отката при подозрении на регрессию в канале «v2 Extended». Эта возможность доступна только для dbt v2 в аккаунтах Enterprise+.

  1. Перейдите в раздел Account settings
  2. Нажмите кнопку Revert to Fallback для смены канала релизов в интерфейсе dbt platform. Эта возможность недоступна в настройках среды.
  3. Заполните сведения во всплывающем окне Revert to Fallback, чтобы подтвердить действие и передать информацию службе поддержки dbt.

Переход на v2 Fallback уведомляет службу поддержки dbt, которая может связаться с вами, чтобы помочь решить проблему. Этот канал предназначен только для временной подстраховки, позволяющей продолжить работу, а не для постоянного использования. После устранения проблемы вернитесь на «v2 Extended» или «v2 Stable» (dbt v2) / «v1 Compatible» (dbt v1).

Кнопка перехода на канал релизов v2 Fallback на платформе dbtКнопка перехода на канал релизов v2 Fallback на платформе dbt
Всплывающее окно перехода на канал релизов v2 Fallback на платформе dbtВсплывающее окно перехода на канал релизов v2 Fallback на платформе dbt

Типовые схемы использования​

Схемы использования каналов dbt v2​

По умолчанию — Все тарифные планы

  • Отдавайте приоритет еженедельным релизам, обеспечивающим баланс между стабильностью и новыми функциями
  • Оставьте все среды на канале релизов v2 Stable (по умолчанию для новых проектов с момента общедоступного выпуска)

С акцентом на скорость обновлений — Все тарифные планы

  • Отдавайте приоритет немедленному доступу к самым новым функциям и исправлениям v2
  • Настройте все среды на использование канала релизов v2 Nightly

Осторожный подход — Enterprise, Enterprise+

  • Отдавайте приоритет максимальной стабильности и дополнительному времени на тестирование
  • Настройте рабочие среды на использование v2 Extended (отстаёт от v2 Stable на один месяц)
  • Настройте среды разработки на использование v2 Stable, чтобы разработчики получали доступ к предстоящим изменениям до их внедрения в рабочую среду

Схемы использования каналов dbt v1​

По умолчанию — Большинство клиентов на всех тарифных планах

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

Гибридный подход — Starter, Enterprise, Enterprise+

  • Отдавайте приоритет постоянной совместимости между dbt и dbt v1 для разработки и развертывания с использованием обоих продуктов в одних и тех же проектах dbt
  • Настройте все среды на использование канала релизов v1 Compatible
  • Учитывайте, что новые функции станут доступны только после их первого выпуска в dbt v1 с открытым исходным кодом (через несколько месяцев после появления в канале релизов v1 Latest)

Осторожный подход — Enterprise, Enterprise+, Business Critical

  • Отдавайте приоритет периоду обкатки новых функций и исправлений
  • Настройте среды разработки и тестирования на использование канала релизов v1 Compatible
  • Настройте предпроизводственные и рабочие среды на использование канала релизов v1 Extended
  • Учитывайте, что новые функции станут доступны только через месяц после их первого выпуска в dbt v1 с открытым исходным кодом и в канале v1 Compatible. Разработчики (на v1 Compatible) получат доступ к новым функциям раньше, чем смогут использовать эти возможности в рабочей среде (на v1 Extended), и должны учитывать эту дополнительную задержку.

Virtual Private dbt или Single Tenant

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

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

Как обновиться​

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

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

Что следует учитывать​

Чтобы подробнее узнать, как dbt Labs безопасно развертывает стабильные обновления dbt в dbt, рекомендуем прочитать нашу статью в блоге: Как мы обеспечиваем уверенный переход на канал релизов «Latest» в dbt.

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

Если вы используете версию v1.3–v1.7, необходимо выполнить действия для ваших проектов, описанные в разделе Переход с устаревших версий. Если вы не завершите переход до 31 января 2027 года, то потеряете доступ к этим проектам. Если у вас есть вопросы или опасения, обратитесь в службу поддержки

 Какие ещё известные проблемы возникают при обновлении со старых версий v1?

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

  • [v1.3] Клиенты, у которых в каталогах проекта, например models/, находятся файлы .py, не относящиеся к dbt. Начиная с 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 начинает вызывать ошибку валидации](/docs/dbt-versions/dbt-upgrade/Older%20versions/upgrading-to-v1.5). Замените пустую конфигурацию tests на tests: [] или удалите её полностью.
  • [v1.6] Из-за оптимизации производительности load_result эту функцию нельзя вызывать несколько раз для одного и того же результата запроса. Вместо этого один раз сохраните результат в локальную переменную и затем используйте её повторно (подробности: dbt-labs/dbt#7371

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

 Я вижу, что мой аккаунт переведён на v1 Latest. Что мне делать

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

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

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

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

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

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

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

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

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

0
Loading