Хранение в оперативной памяти
Пример на 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: 1073741824min_tuple_size: 8max_tuple_size: 5242880