Логотип

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

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

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

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

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

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

Читать  Обновление IPFire 2.29. Core 197. Брандмауэр добавляет OpenVPN 2.6

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

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

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

  • 1 миллиард запросов в секунду: повышенная отказоустойчивость кластера позволяет масштабировать его до 2000 узлов и обрабатывать до миллиарда запросов в секунду.
  • Предварительная выборка памяти конвейера: повышает пропускную способность до 40 %.
  • Ответы с нулевым копированием: сокращают нагрузку на память и улучшают обработку больших запросов.
  • Поддержка Multipath TCP: снижает задержку примерно на 25 % при использовании многопутевых сетевых соединений.
  • SIMD-оптимизация: добавляет векторизованную обработку для BITCOUNT и HyperLogLog, повышая производительность до 200 %.
  • Условное удаление: новая команда DELIFEQ удаляет ключи только в том случае, если их значения соответствуют заданному условию.
  • Фильтрация списка клиентов: позволяет выполнять фильтрацию по флагам, именам, IP-адресам и другим параметрам для более точного мониторинга.

 

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

Редактор: AndreyEx

Рейтинг: 5 (1 голос)

Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.

Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала