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

Хранение в оперативной памяти

Пример на GitHub: memtx

В Tarantool все данные по умолчанию хранятся в оперативной памяти (RAM). Для этого используется движок хранения memtx.

В этом разделе описано, как задать базовые настройки хранения в оперативной памяти в разделе memtx файла YAML-конфигурации – например, объем памяти и максимальный размер кортежа. Подробности о настройках, связанных с аллокатором и потоками сортировки, см. в описании соответствующих параметров memtx в справочнике по конфигурации.

Объем памяти

В Tarantool данные хранятся в спейсах. Каждый спейс состоит из кортежей – записей базы данных. Чтобы задать объем памяти, выделяемый Tarantool для хранения кортежей, используйте параметр конфигурации memtx.memory.

В примере ниже объем памяти задан равным 1 ГБ (1073741824 байт):

memtx:  memory: 1073741824

Сервер не выделяет под кортежи больше этого лимита. Для индексов и информации о подключениях используется дополнительная память.

При достижении лимита memtx.memory запросы INSERT или UPDATE завершаются с ошибкой ER_MEMORY_ISSUE.

Размер кортежа

Можно настроить минимальный и максимальный размер кортежа в байтах.

  • Если кортежи небольшие, можно уменьшить минимальный размер.
  • Если кортежи большие, можно увеличить максимальный размер.

Чтобы задать размер кортежа, используйте параметры конфигурации memtx.min_tuple_size и memtx.max_tuple_size.

В примере минимальный размер задан равным 8 байтам, а максимальный – 5 МБ:

memtx:  memory: 1073741824  min_tuple_size: 8  max_tuple_size: 5242880