Tarantool DB 1.2.0 | Tdb

Tarantool DB 1.2.0

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

В релизе Tarantool DB 1.2.0 добавлен ряд новых возможностей и обновлений.

Основные изменения:

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

Автоматическое удаление устаревших данных

Начиная с версии Tarantool DB 1.2.0, в модуле expirationd можно автоматически удалять из спейса кортежи с истекшим сроком жизни. Такое удаление запускается, если не указана пользовательская функция, определяющая время жизни кортежа. Для автоматического удаления задают две опции:

  • lifetime_in_seconds – срок жизни в секундах. Удаляются все кортежи старше указанного значения;

  • time_create_field – название поля, по которому проверяется время жизни кортежа.

Если для обработки устаревающих данных требуется более сложная логика, ее, как и раньше, можно описать в Lua-коде.

Пример конфигурации с автоматическим удалением

expirationd:
  task_name1:
    space: test
    options:
      args:
        lifetime_in_seconds: 15
        time_create_field: dt

Здесь:

  • task_name1 – название задачи по устареванию данных;

    • space – название спейса, по которому идет поиск устаревших кортежей;

    • options.args – дополнительные опции конфигурации:

      • lifetime_in_seconds – время жизни кортежа в секундах;

      • time_create_field – название поля, по которому проверяется время жизни кортежа.

Полное описание опций конфигурации expirationd вы найдете в соответствующем разделе Справочника по конфигурации.

Проверка устаревших кортежей через универсальную функцию

В версии 1.2.0 добавлен запускаемый пример expirationd_universal_func, который использует модуль expirationd. В отличие от примера expirationd_user_logic, где для обработки кортежей заданы три пользовательские функции, здесь для контроля и обработки устаревших кортежей во всех спейсах используется одна универсальная функция is_tuple_expired. Функция проверяет кортежи в трех спейсах и удаляет из спейсов все кортежи, которые старше заданного времени.

Узнать больше: Проверка устаревших кортежей с помощью универсальной функции.

Исправлен порядок включения роли expirationd

До версии 1.2.0 персистентные функции, необходимые для работы модуля, требовалось объявлять перед применением конфигурации для роли expirationd. Таким образом, до версии 1.2.0 нужно было сначала применить миграции с функциями, и только после этого можно было включать роли. Иной порядок запуска приводил к возникновению ошибок.

Начиная с версии 1.2.0, эти ограничения исправлены: теперь порядок запуска не имеет значения. Если роль expirationd не включена, в веб-интерфейсе Tarantool DB появляется соответствующее сообщение.

Имя файла с топологией в утилите bootstrap.sh

Клиентская утилита bootstrap.sh выполняет настройку топологии кластера. Начиная с версии 1.2.0, в bootstrap.sh можно задать имя файла с описанием топологии. Это полезно, когда нужно поднять два одинаковых кластера. Имя файла указывается в переменной окружения TARANTOOLDB_TOPOLOGY_FILENAME. Название файла по умолчанию – topology.json.

Нашли ответ на свой вопрос?
Обратная связь