Tarantool DataBase 1.1.0
Дата релиза: 03.06.2024.
В релизе Tarantool DB 1.1.0 добавлен ряд новых возможностей и обновлений.
Основные изменения:
-
SDK обновлен до версии 2.11.3-0-r633;
-
обновлены следующие модули:
-
отключён модуль DDL.
Подробная информация о Tarantool DB приведена в документации продукта.
В версии Tarantool DB 1.1.0 существенно обновлен модуль migrations.
В частности, в модуле изменён способ хранения названий применённых миграций.
Теперь список применённых миграций хранится по отдельности на каждом узле кластера в спейсе _migrations.
Чтобы модуль работал корректно при обновлении с предыдущих версий на версию 1.1.0, выполните на любом узле кластера следующую команду:
require('migrator').move_migrations_state()
Метод move_migrations_state() копирует имена применённых миграций из конфигурации всего кластера в спейс _migrations на лидерах.
Если копирование на все лидеры завершено успешно, метод удаляет список применённых миграций из конфигурации всего кластера.
Узнать больше: Дополнительные шаги после установки через ATE.
В Tarantool DB 1.1.0 все утилиты теперь хранятся в директории tools:
- В директорию
tools/clientперенесены клиентские утилиты —bootstrap.sh,migrate.sh,health_check.sh,java_make_settings.sh. - В директорию
tools/serverдобавлены скрипты от команды технической поддержки:tarabrt.sh— сбор дампов памяти и их упаковка в архив;gdb.sh— отладчик проекта GNU Debugger;luajit-gdb.py— проверка внутреннего устройства LuaJIT.
В версии Tarantool DB 1.1.0 добавлены новые методы для работы со словарями — таблицами, хранящими одинаковые данные на разных узлах кластера.
Добавлены следующие методы модуля dictionary:
- dictionary_router.get_keys() и dictionary.get_keys() — получение всех ключей для словаря;
- dictionary_router.get_entity() и dictionary.get_entity() — получение всех данных словаря;
- dictionary_router.get_batch() и dictionary.get_batch() — получение значения словаря по списку ключей;
- dictionary_router.set_batch() и dictionary.set_batch() — задание набора значений словаря;
- dictionary_router.del_entity() и dictionary.del_entity() — удаление всех значений словаря.
Методы модуля dictionary используются на узлах с включенной технологической ролью dictionary.roles.router или dictionary.roles.storage.
Подробный пример использования словарей можно найти в разделе Запись и получение данных в словаре.