Версионирование YDB
Релизы YDB именуются версией, представляющей собой строку, состоящую из нескольких компонентов. В зависимости от контекста часть находящихся справа компонентов может быть опущена. Упорядоченный список компонентов:
- Две последние цифры года выпуска;
- Номер мажорной версии внутри года;
- Номер минорной версии внутри мажорной;
- Номер патча внутри минорной;
- Тип релиза.
Таким образом, мажорные релизы обычно идентифицируются двумя компонентами, например, 24.3
— третий мажорный релиз в 2024 году. Минорные релизы идентифицируются тремя компонентами, например, 24.3.14
— четырнадцатый релиз в рамках третьей мажорной версии в 2024 году.
Список доступных версий можно получить на странице загрузки. Релизная политика YDB описана более детально в статье Управление релизами в разделе документации для разработчиков YDB.
Совместимость версий
Примечание
Раньше версия сервера YDB состояла из 3 чисел (например, v24.3.3
), начиная с мажорной версии 25.1
, добавлена четвертое число, которое обозначает номер патча (например, v25.1.1.3
). Подробнее про изменения в именовании версий тут.
Совместимыми для обновления являются все минорные версии в рамках одной мажорной версии. Мажорные версии совместимы последовательно. Для обновления на следующую мажорную версию предварительно следует обновиться до последнего доступного минорного релиза текущей мажорной версии. Например:
X.Y.* → X.Y.*
— обновление возможно, все минорные версии в рамках одной мажорной совместимы.X.Y.Z
(последняя доступная вX.Y.*) → X.Y+1.*
- обновление возможно, мажорные версии последовательны.X.Y.*
→X.Y+2.*
— обновление невозможно, мажорные версии непоследовательны.X.Y.* → X.Y-2.*
— обновление невозможно, мажорные версии непоследовательны.
Важно
Также в любом случае нельзя откатываться более чем на 2 мажорные версии назад относительно хотя бы раз установленной версии, так как настолько старая версия может не знать, как работать с данными на дисках, записанными текущей.
Примеры совместимости версий
v.25.1.3.2
->v.25.1.5.5
- обновление возможноv.25.1.5.5
->v.25.2.3.1
- обновление возможно (гдеv25.1.5.*
последняя доступная минорная версия вv.25.1
)v.25.1.4.1
->v.25.2.3.1
- обновление невозможно, необходимо сначала обновиться до последней минорной версии (v.25.1.5.*
)v.25.1.5.5
->v.25.3.5.3
- обновление невозможно, необходимо сначала обновиться до следующей мажорной версии (v.25.2.*.*
).
Формальное описание возможных версий
<valid-version> ::= <version-core> "-" <version-type>
<version-core> ::= <year> "." <major> "." <minor> "." <patch>
<version-type> ::= "testing" | "stable" | "lts"
<year> ::= <positive digit> <digit>
<major> ::= <positive digit>
<minor> ::= <digits>
<patch> ::= <digits>
<digit> ::= "0" | <positive digit>
<positive digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<digits> ::= <digit> | <digit> <digits>
Примеры полных версий
- Тестовая версия:
24.3.13.6-testing
- Стабильная версия:
24.3.14.2-stable
- LTS версия:
24.3.14.2-lts