Valkey — открытое хранилище данных типа «ключ-значение» в оперативной памяти, совместимое с Redis — только что выпустило версию 9.1, в которой добавлены списки контроля доступа на уровне баз данных, позволяющие администраторам ограничивать доступ пользователей к конкретным базам данных.
Ранее списки ACL применялись ко всем базам данных без исключения. Теперь доступ пользователей можно ограничить, например, базами данных 0 и 1, запретив им доступ к другим, таким как база данных 2.
Скрипты на языке Lua были перенесены в отдельный модуль, что уменьшило уязвимости ядра сервера и позволяет операторам отключать Lua, когда в ней нет необходимости. Кроме того, команда INFO теперь включает раздел «Scripting Engines» (Механизмы скриптинга) для отображения загруженных механизмов скриптинга.
Также была улучшена обработка TLS: теперь команда INFO сообщает даты истечения срока действия сертификатов TLS. Автоматическая перезагрузка сертификатов TLS в фоновом режиме позволяет осуществлять их ротацию без простоев, а для конфигураций mTLS добавлена поддержка аутентификации по URI альтернативного имени субъекта (Subject Alternative Name) сертификата.
Еще одним важным нововведением в Valkey 9.1 является введение показателей использования главного потока и потока ввода-вывода для улучшения наблюдаемости. Поскольку использование ЦП само по себе может вводить в заблуждение, эти совокупные показатели дают операторам более четкое представление о фактической нагрузке на сервер.
Кроме того, в этом выпуске добавлено ведение журналов в формате JSON с помощью нового параметра log-format json, что позволяет выводить журналы сервера в виде структурированных объектов JSON для упрощения обработки с помощью инструментов мониторинга и управления журналами.
Что касается производительности, Valkey 9.1 демонстрирует значительные улучшения, достигая до 2,1 миллиона запросов в секунду на одном сервере с полезными данными размером 512 байт, девятью потоками ввода-вывода и глубиной конвейера в 10 команд. Переработанная модель многопоточности ввода-вывода увеличивает пропускную способность на 17% при различных нагрузках.
Оптимизированы потоковые операции. Команды XRANGE и XREVRANGE работают на 30% быстрее благодаря усовершенствованиям «горячих путей». Пропускная способность GET для команд со строковыми данными GET увеличилась на 30% после повышения порогового значения размера встраивания строк.
Производительность отсортированных наборов также улучшена за счёт изменений в обработке запросов к спискам пропусков. Кроме того, кэширование ответа COMMAND может сократить время установки соединения для клиентов. Также теперь по умолчанию включено использование аппаратных часов, что снижает накладные расходы на системные вызовы и повышает производительность операций GET и SET на 3%.
Что касается эффективности использования памяти, в Valkey 9.1 внутренние оптимизации указателей сокращают потребление памяти для строк размером менее 128 байт на 20%, а оптимизации списков пропусков — потребление памяти сортированными наборами — на 10%. Перехеширование хеш-таблиц также было оптимизировано для минимизации задержки при расширении пространства ключей.
Кроме того, добавлены три новые команды. Команда HGETDEL атомарно извлекает и удаляет одно или несколько полей из хеша, устраняя необходимость объединять команды HGET и HDEL в одной транзакции. Команда MSETEX устанавливает несколько ключей с общим сроком действия в одной команде, сокращая количество циклов обмена данными при истечении срока действия ключей. CLUSTERSCAN позволяет выполнять сканирование ключей по всему кластеру, благодаря чему клиентам больше не нужно сканировать каждый узел по отдельности и объединять результаты.
Наконец, обновления инструментария включают поддержку атомарной миграции слотов в valkey-cli с помощью опции --cluster-use-atomic-slot-migration для операций перебалансировки кластера и перераспределения шардов. Инструмент valkey-benchmark теперь выводит распределение запросов в секунду и добавляет параметры --warmup и --duration для более контролируемого тестирования производительности.
Дополнительные сведения см. в объявлении. Valkey 9.1 уже доступен в виде бинарных файлов, контейнеров и исходного кода; пакеты для дистрибутивов появятся в ближайшее время.




Комментарии (0)