В данной публикации мы рассказываем о релизах последней версии платформы и флагманских Enterprise-продуктов Tarantool c 1 января 2024 года по 5 сентября 2024 года.
Tarantool DB
Tarantool DB — коробочная версия in-memory NoSQL СУБД из экосистемы Tarantool. Является Enterprise-продуктом на базе платформы Tarantool.
Подробнее о Tarantool DB. Примеры использования.
04.09.2024 — Tarantool DB 1.2.0
Это версия Tarantool DB с модулями в Enterprise-версии и улучшенным деплоем: убраны ограничения на порядок включения роли expirationd, а также обновлена документация по установке. Кроме того, данная версия является обязательной для перехода на Tarantool DB 2.0.
Список обновлений:
- В клиентской утилите bootstrap.sh теперь можно указывать имя файла topology.json.
- Добавлен пример с модулем expirationd без написания клиентской логики (без Lua-кода).
- Добавлен пример с модулем expirationd с универсальной функцией.
- SDK обновлен до версии 2.11.3-0-r648.
Обновлены модули:
- cartridge 2.12.2;
- crud-ee 1.7.0;
- dictionary 2.3.1;
- metrics 1.1.0;
- migrations-ee 1.2.0;
- expirationd-ee 1.8.0;
- vshard-ee 0.1.27.
13.05.2024 — Tarantool DB 1.0.0
Вышел первый релиз продукта, основанного на платформе Tarantool EE и предоставляющего коробочное решение для развертывания «горячего» хранилища данных. Ключевой особенностью первого релиза является сокращение TTM за счет разделения клиентского кода и кода платформы. Также мы обновили и дополнили документацию.
Основные обновления:
- Обновление клиентского кода хранилища данных без необходимости передеплоя всего кластера — обновлен модуль migrations.
- Поддержка словарей в кластере.
- Управление временем жизни данных.
- Работа с СУБД через новый Java-коннектор.
- Совместимость с Tarantool Clusters Federation.
Подробнее о Tarantool DB 1.0.0.
19.02.2024 — TDB-Redis 1.1.0.
TDB-Redis — это механизм drop-in замены Redis на Tarantool. Добавлена команда scan.
Коннекторы, используемые в TDB
Коннектор JAVA TARANTOOL
Коннектор JAVA обеспечивает удобную работу с хранилищем данных из бизнес-приложений, написанных на языке JAVA.
09.07.2024 — tarantool-java-ee 1.1.1.
Релиз содержит поддержку интерфейса Limit из spring-data 3.2.x и багфиксы.
28.06.2024 — tarantool-java-ee 1.1.0.
Представлены библиотеки tarantool-spring-data-31 и tarantool-spring-data-32, которые могут работать с spring-data 3.1.x и 3.2.x соответственно и совместимы с релизами spring-boot 3.1.x, и spring-boot 3.2.x:
- Реализован базовый репозиторий для интерфейса PagingAndSortingRepository;
- Добавлен способ делать запросы с разбивкой на страницы в модулях spring-data:
- Добавлены реализации интерфейсов Pageable и Slice;
- Реализована поддержка интерфейса Page;
- Реализованы и интегрированы ScrollPosition и WindowIterator.
16.04.2024 — tarantool-java-ee 1.0.0.
Полная поддержка всего протокола IPROTO (включая фичи 3.x). Гибкий маппинг с использованием библиотеки Jackson.
Работа со схемой:
- как в net.box'e через fetch_schema(автоматическое обновление при изменении schema_version);
- с помощью 3.x TUPLE_FORMAT.
Crud Client:
- Полное проксирование всех методов и опций к tarantool/crud.
Изменена работа с буферами данных, улучшение перформанса относительно cartridge-java.
Spring-data 2.7.x:
- Поддержка конфигурации клиента через yaml-файл.
- Derived query methods: декларативное описание методов интерфейса, реализация прописывается библиотекой.
Коннектор GO TARANTOOL
Коннектор GO обеспечивает удобную работу с хранилищем данных из бизнес-приложений, написанных на языке GO.
06.03.2024 — go-tarantool 2.1.0
Теперь ConnectionPool может быть создан для пользователя без execute access на box.info, если подключаемся к Tarantool >= 3.0. Подробнее.
12.02.2024 — go-tarantool 2.1.0.
В новой мажорной версии много изменений, главные из которых:
- Тег сборки go_tarantool_msgpack_v5 больше не нужен, теперь всегда используется библиотека msgpack/v5.
- Тег сборки go_tarantool_ssl_disable больше не нужен, коннектор не имеет по умолчанию зависимости от OpenSSL. Для подключения к Tarantool EE по TLS (и включение зависимости от OpenSSL) можно опционально подключать библиотеку tarantool/go-tlsdialer.
- Тег сборки go_tarantool_call_17 больше не нужен, теперь CallRequest — это Call17Request.
Заметки по обновлению; go-tlsdialer.
11.01.2024 — патч-релиз go-tarantool 1.12.2
Подробнее.
Поправлены замечания статического анализатора svacer.
Модули внутри Tarantool DB
Подробнее про модули.
Дополнительные подробности.
08.04.2024 — crud 1.5.0
Релиз содержит поддержку ролей для конфигурации Tarantool 3.x, набор улучшений для работы с Tarantool 3.x, более корректное получение статуса стораджей и несколько исправлений в условиях операций чтения.
01.04.2024 — migrations 1.0.0
Релиз содержит изменения, которые можно отнести к breaking change.
Принципиальным отличием от 0.х.х версий является хранение состояния (списка примененных миграций) на уровне репликасета в служебном спейсе вместо хранения состояния в кластерном конфиге. Подобный подход решает проблему, при которой после добавления нового репликасета в кластер после вызова команды /up он не проигрывал миграции, которые прежде были применены на старых репликасетах.
Чтобы начать использовать 1.х.х в приложении, которое сейчас работает на migrations 0.х.х, необходимо после обновления зависимости явно вызвать процедуру апгрейда.
Инструкция. До вызова процедуры апгрейда вызов команды \up будет возвращать ошибки с требованием провести процедуру апгрейда. В случае возникновения проблем при работе с новой версией доступна процедура даунгрейда. Если вы пользуетесь сценариями, не поддерживаемыми официально (например, перенакат миграций через ручное редактирование конфига), после переезда на 1.х.х они с большой вероятностью потребуют изменения.
25.03.2024 — expirationd и expirationd-ee 1.6.0
Релизы содержат роль для Tarantool 3.0
Tarantool 3.0
Tarantool 3 — релиз платформы Tarantool с долгим циклом поддержки. Релиз предлагает пользователям новую архитектуру построения кластерного хранилища и упрощенную процедуру запуска Tarantool как базы данных.
Подробнее о версии 3: в блоге, на Хабре.
Подробнее о платформе Tarantool Enterprise.
Платформа Tarantool развивается в двух направлениях: Community Edition и Enterprise Edition.
Коробочные Enterprise-продукты Tarantool (DB, Queue Enterprise, Column Store, Graph DB) созданы на базе платформы Tarantool.
Платформа Tarantool Enterprise содержит следующие значимые компоненты:
- TT CLI — интерфейс командной строки для управления кластером;
- Tarantool Cluster Manager (TCM) — графический интерфейс управления кластером;
- Ansible Tarantool Enterprise (ATE) — инструмент для деплоя.
26.08.2024 — Tarantool 3.2
Версия Tarantool 3.2 добавляет следующие основные функции продукта и улучшения для редакций Community и Enterprise.
Версия для сообщества (CE):
- Новый экспериментальный модуль для проверки конфигураций ролей.
- Первоначальная поддержка кодирования структурированных данных с использованием Protobuf.
- Итераторы префиксов «Следующий» и «Предыдущий».
- Поддержка всех версий UUID.
- Автоматическая загрузка наиболее часто используемых встроенных модулей в консольную среду.
Корпоративная версия (EE)
- Время жизни (TTL) ключей в хранилище конфигураций на базе Tarantool.
Подробнее. Больше подробностей.
31.07.2024 — Tarantool 3.1.1
16.04.2024 — Tarantool 3.1.0
Версия Tarantool 3.1 продолжает разработку нового подхода к конфигурации кластера, представленного в версии 3.0. Также добавлены следующие функции и улучшения в версии Community и Enterprise.
Версия для сообщества (CE):
- Улучшена обработка ошибок с использованием box.error модуля.
- Введены типы числовых полей фиксированного размера: uint8, int8, uint16 и другие.
- Добавлена функциональность RPC для доступа к пользовательским ролям из конфигурации.
- tt-утилита для управления инстансами теперь полностью совместима с последней версией Tarantool.
Корпоративная версия (EE):
- Внедрен внешний координатор для автоматического и ручного переключения при сбое.
- Улучшена стабильность работы с централизованной конфигурацией, хранящейся в etcd.
Подробнее:
- https://www.tarantool.io/en/doc/latest/release/3.1.0/.
- https://github.com/tarantool/tarantool/releases/tag/3.1.1
- https://github.com/tarantool/tarantool/releases/tag/3.1.0
- https://www.tarantool.io/en/doc/latest/release/3.0.0/
29.03.2024 — Docker image
Начиная с версии 3.0 Tarantool предоставляет Docker образ нового формата, основанный на Ubuntu 22.04. Новый формат обусловлен изменением содержимого образа: внутри нет никаких роков, только tarantool и tt. Tarantool работает уже в соответствии с новым подходом — через конфигурационный файл. Подробности можно узнать на обновленной страничке Оverview на Docker Hub.
11.07.2024 — metrics-export-role 0.1.0
Роль для экспорта метрик по HTTP для tarantool 3:
- https://github.com/tarantool/metrics-export-role,
- https://github.com/tarantool/metrics-export-role/releases/tag/0.1.0.
10.07.2024 — дашборды в Grafana для Tarantool 3
Дашборд включает в себя поддержку метрик из новых metrics 1.2.0:
- https://grafana.com/grafana/dashboards/21474-tarantool-3-dashboard/,
- https://grafana.com/grafana/dashboards/21484-tarantool-3-dashboard/.
TT CLI
ТТ — Это утилита командной строки, которая предоставляет интерфейс для управления приложениями на основе Tarantool. Она охватывает широкий спектр задач: от установки Tarantool до подключения к удаленным экземплярам и создания приложений.
05.06.2024 — tt 2.3.0.
Добавлены команды для управления наборами реплик через конфигурацию Tarantool 3.x или cartridge: tt rs, tt cluster rs. Ряд улучшений в командах status, coredump, pack. Исправления багов.
06.03.2024 — tt 2.2.0.
Добавлен экспорт/импорт для TDG2 (в ЕЕ), улучшение поддержки systemd в tt pack rpm/deb, багфиксы.
02.02.2024 — tt 2.1.2.
Поддержка сборки на Linux-aarch64 и FreeBSD, новая команда для загрузки Tarantool SDK (tt download), шаблон приложения Tarantool 3.0 + vshard (vshard_cluster).
16.01.2024 — tt: 2.1.1.
Ansible Tarantool Enterprise
Ansible Tarantool Enterprise — инструмент для развертывания и конфигурации кластеров Тарантул и оперативного управления ими. Доступен в Enterprise-версии
02.09.2024 — АТЕ 1.5.0
Состав обновлений:
- Генератор инвентаря для TQE (2.0.0+), TCS (на 3.х), TCF, cartridge, tarantool 3x.
- Поддержка деплоя TQE v2.0.0.
- Инстансы TQE API и Tarantool coordinators больше не попадают в ETCD конфиг.
- Добавлены fiber, compat, failover и conditional поля конфига Tarantool 3.0.
- Выбор бэкапа для восстановления по времени.
- Поддержка бэкапа в Tarantool 3.
- Переменная tqe_binary_name для tqe api инстанса.
03.07.2024 — АТЕ 1.4.0
Состав обновлений:
- Поддержка supervised failover в Tarantool 3.1.
- Поддержка деплоя TCS на Tarantool 3.1.
- Возможность полностью конфигурировать TCM.
- Сценарий expel_instances.
- Сценарий uninstall.
- Сценарий switch_tdg_mode.
02.05.2024 — Релиз АТЕ 1.3.0
Состав обновлений:
- Поддержка деплоя TDB Redis.
- Плейбуки для первичной настройки и проверке серверов под Тарантул.
- Сценарий для создания пользователей в кластере.
Некоторые из багфиксов:
- Можно использовать русские символы в cartridge_app_config.
- Исправлена ошибка No such file or directory во время удаления tmp-файлов.
- Корректно выставляется имя конфига TDG в UI при загрузке с помощью АТЕ.
29.03.2024 — АТЕ 1.2.0
Состав обновлений:
- Поддержка деплоя TCS.
- Развитие генерации конфига для Tarantool 3.0.
- Поддержка ipv6 в advertise_uri для картриджных приложений.
20.02.2024 — АТЕ 1.1.0
- Поддержка деплоя TCM.
- Поддержка деплоя TCF для картриджных приложений.
- Поддержка деплоя и настройки Tarantool DB.
- Пара мелких багфиксов.
Tarantool Cluster Manager
Tarantool Cluster Manager — web UI для администрирования кластеров в Tarantool версии 3. Может использоваться только в EE (Enterprise Edition).
30.07.2024 — Tarantool Cluster Manager 1.2
- Управление пользователями Тарантул для удобства.
- Консольные команды для добавления/удаления кластеров.
- Первоначальные настройки в конфиге.
- Включение/выключение API-токенов.
- Добавлен экран управления миграциями.
- Багфиксы.
15.05.2024 — Tarantool Cluster Manager 1.1.0
- API-токены для автоматизированного доступа, например для чтения Prometheus-метрик всего кластера.
- Access Control List доступ для предоставления доступа только к явно обозначенным спейсам.
- Мониторинг failover 3 и switchover (консистентное переключение лидера).
- Визуальный доступ к спейсам: редактирование схемы, редактирование данных.
- Визуальный доступ к шардированным данным через CRUD.
- Web-терминал к утилите TT.
- Визуализация slab’ов с помощью treemap-графика.
- Выполнение SQL-запросов.
- Двухуровневая группировка узлов по разным критериям, например лидеры дата-центров.
- Подсветка параметров конфига при наведении мышки.
- Базовый онбординг-туториал.
- Runtime issues в stateboard.
- Дополнительные валидации конфига.
Tarantool Queue Enterprise
TQE — горизонтально масштабируемая платформа обработки потоковых данных в реальном времени с высокой пропускной способностью и низкой задержкой. Создана для организации взаимодействия информационных систем по моделям Pub/Sub и Put/Take.
Гарантирует:
- порядок обработки сообщений;
- отсутствие потерь данных;
- доставку получателю в условиях высокой нагрузки.
Продукт Tarantool Queue Enterprise доступен в двух функциональностях — SQ и MQ.
Подробнее о продукте и функциональностях. Подробнее о решаемых задачах. Документация.
Функциональность SQ Классическая очередь с возможностью отправки отложенных сообщений и настройкой приоритетов.
17.04.2024 — Tarantool Queue Enterprise (SQ) 1.0.0.
Добавили роли для Tarantool 3 и улучшили метрики
Функциональность MQ Брокер, гарантирующий строгий порядок обработки сообщений.
23.08.2024 — Tarantool Queue Enterprise (MQ) 2.0.0
Релиз открывает линейку релизов продукта на базе Tarantool 3, сертифицированного ФСТЭК. Теперь мы можем рекомендовать использовать нашу in-memory очередь в проектах для госзаказчиков и финтех-компаний.
Также в рамках релиза мы обновили документацию на сайте и добавили возможность хранения данных очереди на диске.
21.08.2024 — Tarantool Queue Enterprise (MQ) 1.10.0
- Для версии приложения на Tarantool 3 реализован экспорт метрик на HTTP-endpoint.
- Реализован новый режим дедубликации — keep_latest, который позволяет поддерживать только актуальные данные в очереди. В этом режиме при отправке дубликата в очередь новое сообщение публикуется, а найденный дубликат в очереди удаляется.
- Добавлена метрика ядра, которая дает информацию о задержке на разных уровнях работы запросов.
12.07.2024 — Tarantool Queue Enterprise (MQ) 1.9.0.
В этом релизе мы добавили кластерные идентификаторы. Также продукт теперь совместим с tarantool 3.
21.06.2024 — Tarantool Queue Enterprise (MQ) 1.8.0.
- Добавили Data Retention.
- Сделали несколько исправлений в конфигурации статического шардинга.
16.05.2024 — Tarantool Queue Enterprise (MQ) 1.7.0.
В данном релизе добавили возможность кастомизации формата курсора, с которым работает очередь. Для этого служит поле consumer.cursor_serializer в конфигурации модуля API. Также исправили баги в подписке и конфигурации логирования модуля API.
23.04.2024 — Tarantool Queue Enterprise (MQ) 1.6.0
Исправлены баги. Добавили возможность фильтрации по нескольким ключам шардирования и статический шардинг. Реализовали базовые возможности для мониторинга очереди. Они включают в себя метрики и пример дашборда для их отслеживания.
Tarantool CDC
Tarantool CDC — инструмент двусторонней real-time репликации данных на потоке транзакций для основных СУБД (Tarantool, PostgreSQL, Oracle, Clickhouse).
Версия CDCv1. Текущий релиз 1.1.15. Репликация из PostgreSQL в Tarantool. Версия CDCv2. Текущий релиз 1.2.0. Репликация из Oracle Golden Gate в Tarantool.
В активной разработке находится версия продукта CDCv9. Релиз <0.4.0> будет официально внесен в реестр Российского ПО.
Tarantool Clusters Federation
TCF — решение класса xDCR (межкластерная репликация) с поддержкой двухсторонней асинхронной репликации для построения отказоустойчивой инфраструктуры сервисов хранения данных на базе СУБД Tarantool.
Продукт решает задачи:
- Управление переключением независимых кластеров Tarantool без даунтайма.
- Реализация топологии распределенного хранилища информации, при которой у любого компонента в распределенном кластере может быть два независимых взаимозаменяемых экземпляра и более.
- Повышение отказоустойчивости систем класса In-memory.
- Проектирование высоконагруженных Mission Critical сервисов.
- Обеспечение непрерывного функционирования и отсутствия потерь данных в кластере СУБД Tarantool при отказе инстанса, серверного оборудования или ЦОДа.
- Снижение влияния человеческого фактора на доступность ИС при ошибках разработки ПО, ошибках при проведении регламентных работ, автоматизации восстановления после отказа кластера.
Текущий релиз 0.2.0. Плановый релиз 0.3.0 будет сертифицирован ФСТЭК.
Tarantool Graph DB
Tarantool Graph DB — in-memory графово-векторная СУБД для создания высокоскоростных хранилищ графов и векторов.
На данный момент выпущена бета-версия СУБД, доступная по запросу.
Последние обновления:
- Расширение поддержки openCypher.
- Шардирование графа в базовом варианте.
- Автоматизация развертывания.
Tarantool Column Store
Tarantool Column Store — in-memory колоночная СУБД для транзакционно-аналитической обработки данных в реальном времени. Является Enterprise-продуктом на базе платформы Tarantool.
Подробнее о Tarantool Column Store
На данный момент выпущена бета-версия СУБД, доступная по запросу.
Последние обновления:
- Поддержка индексов для всех типов данных.
- Автовытеснение данных при заполнении RAM.
- Добавлена возможность изменять значения столбцов на Null для операции update.
- Потоковые SQL-запросы, которые позволяют делать выборки с большими объемами данных.
- Просмотр и отмена активных запросов.
- Ограничение времени выполнения запроса.
- Для ресурсоемких запросов предусмотрена возможность отправки в отдельную среду выполнения (runtime), где они будут обрабатываться ограниченными ресурсами сервера, не мешая обработке остальных запросов.
- Нематериализованные представления (с ограничением функционирования в рамках сессии).
- Подключение с шифрованием по HTTPS.
- Настройка размера строчного буфера.
- Поддержка балансировки средствами Haproxy.
- Расширение состава метрик мониторинга.
- Поддержка установки и конфигурации кластера средствами ATE.
- Оптимизация производительности операций записи и обновления данных, запросов по временным интервалам.
- Ускорение создания и исполнения prepared statement.
- Доработка failover, scheduler.
- Выпуск документации к СУБД.
Поддержка типов данных:
- i8 — int 8;
- i16 — int 16;
- i32 — int 32;
- i64 — int 64;
- u8 — unsigned int 8;
- u16 — unsigned int 16;
- u32 — unsigned int 32;
- u64 — unsigned int 64;
- f32 — float 32;
- f64 — float 64;
- bool — boolean;
- ts — UNIX timestamp, milliseconds;
- utf8 — UTF-8 encoded string.
Остались вопросы?
Расскажите о ваших задачах и узнайте больше
о реализации на платформе Tarantool