Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Различие между движками memtx и vinyl

Основное различие между движками memtx и vinyl в том, что memtx – in-memory движок, тогда как vinyl – это дисковый движок. Обычно in-memory движок быстрее: время выполнения запроса, как правило, менее 1 мс. Поэтому движок memtx оправданно используется в Tarantool по умолчанию. Однако если база данных не помещается в доступную память, а дополнительную память добавить невозможно, то лучше использовать дисковый движок, в данном случае vinyl.

Параметр

memtx

vinyl

Поддерживаемые типы индексов.

TREE, HASH, RTREE или BITSET.

TREE.

Временные спейсы.

Поддерживается.

Не поддерживается.

Функция random().

Поддерживается.

Не поддерживается.

Функция alter().

Поддерживается.

Поддерживается начиная с релиза 1.10.2 (первичный индекс изменить нельзя).

Функция len().

Возвращает количество кортежей в спейсе.

Возвращает приблизительное максимальное количество кортежей в спейсе.

Функция count().

Занимает фиксированное время.

Занимает переменное время в зависимости от состояния БД.

Функция delete().

Возвращает удаленный кортеж, если он есть.

Всегда возвращает nil.

yield.

Не передаёт управление при запросах select, если только транзакция не зафиксирована в WAL.

Передаёт управление при запросах select или их эквивалентах: get() или pairs().