Логотип

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

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

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

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

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

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

Читать  Pilet: Модульный портативный мини-компьютер на базе Raspberry Pi

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

Раньше развертывание кластера было привязано к одной базе данных (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 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


Загрузка...

Спасибо!

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

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