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

Функция box.snapshot

box.snapshot()

Memtx

Создает снимок всех данных и сохраняет его в snapshot.dir/{<latest-lsn>}.snap. Для создания снимка Tarantool сначала переходит в режим отложенной сборки мусора для всех данных. В этом режиме сборщик мусора Tarantool не удаляет файлы, созданные до начала создания снимка, вплоть до его завершения. Для сохранения согласованности первичного ключа, используемого для итерации по кортежам, применяется техника копирования при записи (copy-on-write). Если главный процесс изменяет часть первичного ключа, соответствующая страница процесса разделяется, и процесс создания снимка получает старую копию страницы. Таким образом, процесс создания снимка использует управление конкурентным доступом с помощью многоверсионности, чтобы избежать копирования изменений, которые устаревают во время его выполнения.

Поскольку снимок записывается последовательно, можно ожидать очень высокой производительности записи (в среднем 80 МБ/с на современных дисках), что означает, что сохранение среднего экземпляра базы данных занимает несколько минут. Ограничить скорость можно, изменив параметр snapshot.snap_io_rate_limit.