Вышла новая версия персистентной in-memory NoSQL СУБД Tarantool. Проект написан на языке C и позволяет программировать хранимые процедуры на Lua (движок LuaJIT).
Главные изменения:
- Стабилизировано MVCC (Многоверсионное управление конкурентным доступом) в in-memory движке memtx.
- Добавлена поддержка транзакционности в бинарном протоколе IPROTO. Раньше для транзакции необходимо было написать хранимую процедуру на языке Lua.
- Добавлена синхронная репликация, работающая потаблично (per-table).
- Реализован механизм автоматического переключения мастера (failover) на базе протокола RAFT. В Tarantool уже реализована асинхронная WAL-based репликация, теперь можно не следить за мастером вручную.
- Автоматическое переключение мастера также доступно в случае топологии с шардированием данных (библиотека vshard). Vshard — это библиотека, распределяющая данные по серверам с помощью виртуальных корзин (bucket).
- Tarantool Cartridge теперь он лучше держит нагрузку при работе в виртуальных средах. Tarantool Cartridge — это фреймворк для построения кластерных приложений.
- Ускорена работа Ansible-роли для развертывания кластера в 15-20 раз. Работа с большими кластерами стала проще. Появился инструмент для упрощенной миграции со старых версий >1.6 и < 1.10, который доступен с помощью дополнительной опции при старте без необходимости развёртывания промежуточной версии 1.10.
- Оптимизировано хранения кортежей небольшого размера.
- Добавлена поддержка UUID в SQL, улучшено преобразование типов.
Стоит отметить, что с версии 2.10 будет осуществлен переход на новую политику релизов.
>>> Русскоязычное сообщество в Telegram
>>> Подробности