Tarantool — это программное решение с открытым исходным кодом, совмещающее в себе сервер приложений Lua и систему управления базами данных. Исходный код открыт для всех и распространяется бесплатно согласно лицензии BSD license.

file

Создателем Tarantool’а — а также его основным пользователем — является компания Mail.Ru

КЛЮЧЕВЫЕ ВОЗМОЖНОСТИ:

Пространство ключей
Пространства — это коллекции объектов. Можно думать о пространствах, как об отдельных таблицах. Это удобно, поскольку в одной коллекции, как правило, находятся сущности одного типа. У каждого пространства в Tarantool может быть свой набор индексов.

Целочисленные ключи
Наряду со строковыми ключами в Tarantool есть поддержка целочисленных ключей (32 и 64 бита).

Вторичные индексы
Большинство key-value хранилищ ограничиваются доступом по первичному ключу.

Вторичные индексы могут быть не уникальны
Это означает, что запрос по не уникальному полю может возвращать множество значений.

Композитные индексы
В один вторичный индекс можно включить несколько полей кортежа. Это полный аналог композитных индексов в «традиционных» (SQL) базах данных. Композитные индексы позволяют делать запросы по неполному совпадению (wildcard). Когда известна только первая часть индекса, Tarantool вернет все подходящие значения.

Выборки по диапазонам значений
В отличие от большинства key-value хранилищ, в Tarantool есть возможность извлекать диапазоны значений (только для целочисленных ключей и только при использовании индекса типа TREE)

Хранимые функции на Lua
В Tarantool можно писать хранимые функции на Lua. Lua очень простой язык, который поддерживает JIT-компиляцию.

Фоновые процессы внутри базы данных
На Lua можно сделать не только обработку отдельных запросов, но и реализовать фоновые обработчики (в режиме кооперативной многозадачности).

Простой SQL-клиент
Стоит использовать, прежде всего, для экспериментов и интроспекции при разработке. Поддерживаются простые SQL-запросы, типа SELECT * FROM t0 WHERE k0 = 42.

Обновлено 17 сентября 2018 г.