Релиз открытого проекта хранилища данных «in-memory data store» Valkey 9.0.0

21 октября 2025 года состоялся релиз открытого проекта хранилища данных «in-memory data store» Valkey 9.0.0 (BSD-клон Redis) от Linux Foundation и с поддержкой организаций от Amazon/AWS до Google Cloud и Oracle. Исходный код этого решения написан на C и Tcl и опубликован на GitHub под лицензией BSD 3-Clause License. Выпуск Valkey 8.0.0 случился в сентябре 2024 года. Поддерживается работа в Linux, macOS, OpenBSD, NetBSD и FreeBSD.

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

Последнее время проект Valkey пользуется растущей поддержкой со стороны различных поставщиков IT-решений и разработчиков как ведущая альтернатива с открытым исходным кодом программному обеспечению Redis. Это произошло после изменения схемы лицензирования Redis на несвободные лицензии с доступным (source-available) исходным кодом. Также последняя версия Valkey доступна для тестирования производительности оборудования ЦП/системы/памяти на OpenBenchmarking.org

По информации OpenNET, основные обновления и доработки в Valkey 9.0.0:

для переноса данных между узлами в кластере задействована техника атомарной миграции слотов, при которой данные переносятся не на уровне отдельных ключей (один ключ за другим), а на уровне атомарного перемещения 16 384 байтовых слотов хранения данных. Перенос осуществляется с использованием формата AOF, позволяющего отправлять отдельные элементы коллекций вместо всех данных, связанных с ключом. Подобный подход заметно повышает производительность, позволяет избежать перенаправлений и исключает задержки, возникавшие при доступе клиента к переносимому ключу;

добавлена возможность определения отдельного времени жизни для разных полей в хэшах, связанных с одним ключом (ранее время жизни привязывалось к ключу и охватывало разом все поля). Для управления временем жизни данных добавлены новые команды: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX и HTTL;

предоставлена возможность использования в кластерном режиме нумерованных БД, в которых пространство ключей разделяется на несколько разных БД (по умолчанию 16);

повышена эффективность работы больших кластеров — продемонстрирован кластер из 2000 узлов, способный обрабатывать миллиард запросов в секунду;

добавлена оптимизация, позволяющая в некоторых ситуациях на 40% повысить пропускную способность за счёт упреждающей загрузки группируемых (pipelining) команд в память;

добавлена оптимизация, позволяющая в некоторых ситуациях на 20% повысить пропускную способность за счёт исключения копирования данных в памяти (zero copy) во время обработки крупных запросов;

добавлена поддержка технологии Multipath TCP для организации доставки пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Применение Multipath TCP позволяет в некоторых ситуациях снизить задержки на 25%;

в BITCOUNT и HyperLogLog добавлены оптимизации, использующие процессорные инструкции SIMD, в некоторых ситуациях позволяющие увеличить пропускную способность на 200%;

в геопространственные индексы добавлена поддержка запросов местоположения по координатам многоугольника;

добавлена команда «DELIFEQ» для удаления ключа, если связанное с ним значение соответствует указанному;

в команде «CLIENT LIST» реализована возможность задания фильтров, отсеивающих элементы по имени, флагам, активности, БД, IP-адресу и полномочиям;

возобновлена поддержка 25 команд, ранее объявленных устаревшими.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии