Сравнение конфигураций кластера YDB: V1 и V2

В YDB существует два основных подхода к управлению конфигурацией кластера: V1 и V2. Начиная с версии YDB 25.1, поддерживается конфигурация V2, которая унифицирует управление кластерами YDB, позволяет работать с конфигурацией полностью через YDB CLI, а также автоматизирует наиболее сложные аспекты конфигурации (управление статической группой и State Storage).

Совет

Новые кластеры YDB рекомендуется разворачивать сразу с использованием конфигурации V2. Если кластер был развёрнут на конфигурации V1, то она продолжит использоваться даже после обновления на версию YDB 25.1 или выше. После такого обновления рекомендуется запланировать и провести миграцию на V2, так как в будущих версиях YDB поддержка V1 будет прекращена. Узнать, какая версия конфигурации используется на кластере, можно по инструкции.

В этой статье описываются ключевые различия между этими двумя подходами.

Характеристика Конфигурация V1 Конфигурация V2
Структура конфигурации Раздельная: статическая и динамическая. Единая конфигурация.
Управление файлами Статическая: ручное размещение файла на каждом узле.
Динамическая: централизованная загрузка через CLI.
Единая: централизованная загрузка через CLI, автоматическая доставка на все узлы.
Механизм доставки и применения Статическая: читается и применяется из локального файла при запуске.
Динамическая: через таблетку Console.
Полностью автоматически через механизм распределённой конфигурации. Технические подробности.
Управление State Storage и статической группой Ручное: через обязательные секции domains_config и blob_storage_config в статической конфигурации. Автоматическое: управляется системой распределённой конфигурации.
Рекомендуется для версий YDB Все версии до 25.1. Версия 25.1 и выше.

Конфигурация V1

Конфигурация V1 кластера YDB состоит из двух частей:

  • Статическая конфигурация: управляет ключевыми параметрами узлов, включая конфигурацию State Storage и статической группы (секции domains_config и blob_storage_config соответственно). Требует ручного размещения одного и того же файла конфигурации на каждом узле кластера. Путь до конфигурации указывается при запуске узла через опцию --yaml-config.
  • Динамическая конфигурация: управляет остальными параметрами кластера. Загружается централизованно с помощью команды ydb admin config replace и распространяется на узлы базы данных.

Если ваш кластер работает на конфигурации V1, рекомендуется выполнить миграцию на конфигурацию V2.

Конфигурация V2

Начиная с версии YDB 25.1, поддерживается конфигурация V2. Ключевые особенности:

  • Единый конфигурационный файл: вся конфигурация кластера хранится и управляется как единое целое.
  • Централизованное управление: конфигурация загружается на кластер с помощью команды ydb admin cluster config replace и автоматически доставляется до всех узлов самим кластером YDB через механизм распределённой конфигурации.
  • Ранняя валидация: проверка корректности происходит ещё до доставки конфигурационного файла на узлы кластера, а не при рестарте серверных процессов.
  • Автоматическое управление State Storage и статической группой: V2 поддерживает автоматическую конфигурацию, что позволяет не указывать эти секции в конфигурационном файле вручную.
  • Хранение на узлах: актуальная конфигурация автоматически сохраняется каждым узлом в специальной директории (указывается опцией --config-dir при запуске ydbd) и используется при последующих перезапусках.

Использование конфигурации V2 является рекомендуемым для всех кластеров YDB версии 25.1 и выше.