TDB Documentation portal logo
Помощь
Обновлена 30 июля 2026 г. в 16:49

Tarantool DataBase 2.0.0

Дата релиза: 19.09.2024.

Релиз Tarantool DB 2.0 основан на Tarantool 3.x. В этом релизе добавлена поддержка централизованного хранилища конфигураций и Tarantool Cluster Manager, значительно обновлен модуль словарей, а также добавлены новые запускаемые примеры. В документе приведен краткий обзор наиболее заметных изменений и новой функциональности.

Подробная информация о продукте приведена в документации Tarantool DB.

Поддержка Tarantool 3.x

Релиз Tarantool DB 2.0 основан на Tarantool 3.2. Это означает, что Tarantool DB 2.0 поддерживает веб-интерфейс Tarantool Cluster Manager и новый подход к конфигурации кластера. Теперь вы можете задать полную топологию кластера с помощью декларативной YAML-конфигурации и хранить все данные конфигурации в едином месте.

До версии Tarantool DB 2.0 конфигурация хранилась на каждом экземпляре кластера и обновлялась кластерной транзакцией. Начиная с версии Tarantool DB 2.0, поддерживается использование централизованного хранилища конфигураций. Данные конфигурации при этом хранятся в едином месте — в хранилище на базе etcd или Tarantool. Все изменения конфигурации экземпляры кластера получают из этого централизованного хранилища. Новый способ хранения позволяет строить большие кластеры, делает более удобным управление master-узлами и отслеживание состояния основного кластера.

Веб-интерфейс Tarantool Cluster Manager

Начиная с Tarantool DB 2.0, в качестве веб-интерфейса кластера Tarantool DB используется Tarantool Cluster Manager, или TCM. Tarantool Cluster Manager — это административная панель для настройки и отслеживания кластеров, а также управления ими. TCM поддерживает только те кластеры Tarantool EE, которые используют централизованное хранилище конфигураций на базе etcd или Tarantool.

TCM позволяет выполнять широкий спектр задач, в их числе:

  • управление несколькими кластерами одновременно;
  • создание и изменение конфигурации кластера;
  • выполнение команд в интерактивном режиме на конкретных экземплярах;
  • отслеживание статуса кластеров и отдельных экземпляров;
  • управление доступом на основе ролей;
  • LDAP-авторизация.

Интерфейс TCM

Подробная информация о TCM приведена в документации Tarantool.

Переход с 1.x на 2.0

В Tarantool DB 2.0 внесен ряд заметных изменений в сравнении с версиями 1.x:

Изменения в работе словарей, внесенные в Tarantool DB 2.0, описаны отдельно в разделе ссылка.

Конфигурация кластера

Начиная с Tarantool DB 2.0, есть только два способа загрузки конфигурации в кластер:

Начиная с Tarantool DB 2.0, обновление конфигурации через HTTP API или Lua API недоступно.

Узнать больше о конфигурации кластера можно в разделе Конфигурация кластера и в документации Tarantool.

Клиентские утилиты

Начиная с версии Tarantool DB 2.0, изменились процессы запуска кластера и миграций. Клиентские утилиты, которые использовались для этих целей до версии 2.0.0, устарели и были удалены. Удаленные утилиты:

  • bootstrap.sh — настройка топологии кластера. В Tarantool DB 2.0 настроить топологию кластера можно через централизованную конфигурацию. Топология кластера указывается в конфигурации и применяется сразу после запуска узлов кластера. Дополнительных действий при этом не требуется;
  • migrate.sh — загрузка и применение миграций. Начиная с Tarantool DB 2.0, для загрузки и применения миграций вместо migrate.sh используется утилита tt CLI или TCM;
  • health_check.sh — проверка здоровья кластера. Скрипт был нужен для утилит migrate.sh и bootstrap.sh;
  • java_make_settings.sh — создание файла конфигурации для загрузки Java-коннектора. Начиная с версии 2.0, загрузить Java-коннектор с сайта Tarantool можно с помощью утилиты download_java_tarantool.sh.

Утилиты, добавленные в Tarantool DB 2.0:

  • wait_config_ready.sh — ожидание окончания загрузки конфигурации;
  • wait_etcd_ready.sh — ожидание готовности узла etcd-кластера;
  • wait_instance_ready.sh — ожидание готовности узла кластера Tarantool DB;
  • download_java_tarantool.sh — загрузка Java-коннектора с сайта tarantool.io.

Настройка шардирования

Начиная с Tarantool DB 2.0, удалены технологические роли vshard-router и vshard-storage. Теперь для настройки модуля шардирования используется раздел sharding в конфигурации кластера.

Пример

sharding:  bucket_count: 30000

Обновленный модуль dictionary

В Tarantool DB 2.0 обновлен модуль для работы со словарями — таблицами, хранящими одинаковые данные на разных узлах кластера. Модуль обновлен до версии 2.3.2. Начиная с Tarantool DB 2.0, в работу словарей внесены следующие изменения:

  • Изменён подход к хранению ролей. Теперь имена ролей имеют вид roles.*. Для удобства перехода старые роли сохранены и имеют такую же функциональность, как и новые:
    • dictionary.roles.routerroles.dictionary-router;
    • dictionary.roles.storageroles.dictionary-storage;
  • Изменен формат названий методов модуля. Tarantool DB 2.0 поддерживает как новый формат названий методов API (dictionary_router_get()), так и старый (dictionary_router.get()). Методы, добавленные в версии 2.0, поддерживают оба формата названий. Сравнительная таблица названий методов в старом и новом форматах приведена в разделе Модуль dictionary;
  • Добавлены новые методы модуля dictionary:
    • dictionary_check_key_consistency() — вычислить хэш одного ключа для каждого узла со словарем;
    • dictionary_wait_key_consistency() — ждать, когда данные по ключу на всех узлах со словарями станут одинаковыми;
    • dictionary_notify_neighbors() — выполнить асинхронную попытку оповестить ближайший доступный экземпляр о новых данных;
  • Добавлены опции конфигурации словарей:
  • Удалена опция конфигурации словарей logging.

Методы модуля dictionary используются на узлах с включенной технологической ролью dictionary.roles.router или dictionary.roles.storage. Узнать больше о работе со словарями можно в разделе Начало работы с модулем dictionary.

Запускаемые примеры

Для удобства в Tarantool DB используются готовые примеры на основе Docker Compose, которые позволяют быстро запустить и попробовать ту или иную функциональность. В Tarantool DB 2.0 добавлены следующие запускаемые примеры:

Кластер Tarantool DB как централизованное хранилище конфигураций

Tarantool DB 2.0 поддерживает использование централизованного хранилища на базе Tarantool. Хранилище конфигураций на базе Tarantool — это набор реплик, который хранит конфигурацию кластера в синхронных спейсах. Узнать больше о хранилище конфигураций на базе Tarantool можно в документации Tarantool.

Этот способ развертывания кластера описан в новом примере tdb_as_config_storage. В примере запущены два кластера:

  • основной кластер Tarantool DB;
  • вспомогательный кластер Tarantool DB, который выступает в роли централизованного хранилища конфигураций.

Чтобы узлы в наборе реплик Tarantool действовали как хранилище конфигураций, для узлов задана технологическая роль config.storage. Конфигурация узлов при этом может выглядеть так:

groups:  storages:    roles:      - config.storage      - roles.metrics-export    roles_cfg:      config.storage:        status_check_interval: 3

Запуск кластера без централизованной конфигурации

Tarantool DB 2.0 позволяет развернуть кластер Tarantool DB без централизованной конфигурации etcd или Tarantool. Попробовать такой способ запуска кластера можно в новом примере up_without_etcd. Работа через веб-интерфейс TCM при этом способе запуска недоступна. Для подключения к узлу и работы с данными используется утилита tt CLI.

JSON-пути

Tarantool DB 2.0 поддерживает обновление данных в спейсе с помощью JSON-путей. Инструкция по работе с JSON-путями приведена в новом запускаемом примере json_path.

Узнать больше о JSON-путях можно в соответствующем разделе документации Tarantool.