Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Вторник, 23 декабря, 2025

Хранилище данных Valkey 9.0 в оперативной памяти обеспечивает атомарную миграцию слотов и кластеризацию баз данных

Хранилище данных Valkey 9.0 в оперативной памяти обеспечивает атомарную миграцию слотов и кластеризацию баз данных

После выхода версии v8.0 ( год назад) вышла Valkey 9.0 — вторая крупная версия этого хранилища данных с открытым исходным кодом, совместимого с Redis. Главное изменение — атомарная миграция слотов, фундаментальная переработка способа перемещения данных между узлами в кластере.

Раньше Valkey использовал поключевой подход: каждый ключ перемещался, удалялся и повторно вставлялся отдельно. Это работало достаточно хорошо, но при высокой нагрузке или работе с большими наборами данных это могло привести к снижению производительности, блокировке миграции и даже к недоступности данных до завершения процесса.

В Valkey 9.0 эта функция заменена системой миграции на основе слотов. Вместо того чтобы передавать ключи по одному, целые слоты, каждый из которых содержит группу ключей, переносятся атомарно с использованием формата файла только для добавления. Это позволяет эффективно передавать такие коллекции, как наборы или списки, не перегружая входной буфер целевого узла. В результате миграция проходит более плавно, требуется меньше повторных попыток, а частичное состояние данных не сохраняется.

Кроме того, в этом обновлении добавлена функция истечения срока действия хэш-полей. До сих пор в Valkey можно было установить срок действия только на уровне ключа, то есть если нужно было истечь срок действия одного поля, приходилось удалять весь хэш. В новой версии появились такие команды, как HEXPIREHEXPIREATHGETEX, и HPERSIST, которые позволяют детально контролировать истечение срока действия на уровне полей.

Ещё одно заметное изменение, которое отличается от устаревшего дизайна предыдущей версии, — это полная поддержка пронумерованных баз данных в кластерном режиме.

Раньше развертывание кластера было привязано к одной базе данных (db 0), что ограничивало масштабируемость. Однако теперь пользователи могут логически разделять рабочие нагрузки и избегать конфликтов ключей, не отказываясь от функциональности кластера. Это удобная возможность для многопользовательских сред или сегментированных приложений.

Помимо важных функций, в Valkey 9.0 реализован длинный список оптимизаций, направленных на повышение пропускной способности и снижение задержек:

 

Наконец, в рамках проекта были пересмотрены 25 ранее устаревших команд, и они были восстановлены. Для получения дополнительной информации см. объявление: https://valkey.io/blog/introducing-valkey-9/. Valkey 9.0 теперь доступен в виде двоичных файлов, контейнеров и исходного кода, а дистрибутивные пакеты появятся в ближайшее время.

Exit mobile version