Заедница Долина го објави објавувањето Валки 9.1 — нова стабилна верзија на високо-перформансно складиште на податоци со отворен код (BSD лиценца) кое поддржува различни случаи на употреба, како што се кеширање и редови на пораки, а може да дејствува и како примарна база на податоци. Проектот е поддржан од Linux Фондацијата, која гарантира нејзина континуирана достапност како отворен изворен код.
Проектот е форк на Redis и е создаден по промени во неговото лиценцирање.
Ова издание вклучува нови функции, подобрувања во безбедноста, мониторингот, перформансите и ефикасноста на алатките. Над 80 луѓе придонесоа за изданието.
Големи промени
Луа е преместена во посебен модул.
Во Valkey 9.1, моторот за скриптирање Lua е одделен од главниот сервер и преместен во посебен модул. Ова одвојување ја намалува површината за напад на јадрото Valkey и им овозможува на администраторите целосно да го оневозможат Lua ако не се користат скрипти. За полесно да се разбере кои мотори за скриптирање се вчитани во системот, командата INFO сега има нов дел за одговор: Мотори за скриптирање.Нови безбедносни поправки.
Стабилното издание 9.1.0 вклучува поправки за три ранливости: use-after-free во механизмот за отклучување на клиентот, невалиден пристап до меморијата во командата 7RESTORE и use-after-free за време на целосна синхронизација за време на извршување на Lua/функционален код со резултат на извршување. Овие ранливости се наведени во белешките како CVE-2026-23479, CVE-2026-25243 и CVE-2026-23631.ACL на ниво на база на податоци.
Додаден е систем за контрола на пристап на ниво на база на податоци. Ова овозможува подетално дефинирани дозволи во конфигурации со повеќе корисници и оди подалеку од глобалните правила за пристап за целата инстанца на Valkey.Автоматско повторно вчитување на TLS сертификати.
Valkey 9.1 сега поддржува автоматско повторно вчитување на TLS сертификати. За администраторите, ова значи помалку рачни чекори при ротирање на сертификати и поудобно работење на безбедни инсталации.Нов тим на HGETDEL.
Командата атомски презема и брише едно или повеќе полиња од хеш структурата. Ова е особено корисно за сценарија како што се редици или еднократна потрошувачка на податоци, каде што претходно беше потребно да се комбинираат HGET и HDEL преку трансакција.Нов тим на MSETEX.
MSETEX ви овозможува да поставите повеќе клучеви со споделен животен век користејќи една команда. Претходно, ова сценарио бараше повеќекратни повици од SETEX или комбинација од повици SET и EXPIRE преку цевководот. Новата команда го намалува бројот на повици и го поедноставува типичниот код за сесиски и привремени податоци.Нов тим на CLUSTERSCAN.
Кластерите сега имаат една команда за скенирање на клучеви низ сите јазли. Претходно, клиентите мораа рачно да извршуваат SCAN на секој јазол и да ги спојат резултатите. CLUSTERSCAN ги поедноставува библиотеките на клиентите, административните алатки и оперативните задачи како што е пребарување на клучеви по шема или тип низ целиот кластер.Оптимизирање на потрошувачката на меморија од стрингови.
Внатрешните оптимизации на покажувачите за низи пократки од 128 бајти покажаа намалување на потрошувачката на меморија до 20%. Ова е особено важно за типични оптоварувања со кеширање кои складираат голем број мали вредности.Помалку меморија за сортирани множества.
Оптимизациите за прескокнување на листите ја намалуваат потрошувачката на меморија за сортирани сетови до 10%. Операциите на сортирани сетови, вклучувајќи ги и барањата како ZRANGEBYSCORE и ZRANGEBYLEX, исто така се забрзани.Забрзана работа со прераскажување.
Внатрешната прераспределба на хеш-табелата, која често се случува кога расте просторот за клучеви, е оптимизирана за да се намали латенцијата. Белешките за изданието, исто така, споменуваат намалување на скоковите на латенцијата поради постепеното објавување на страницата.Подобрен модел на I/O нишки.
Кандидатот за издание 9.1.0-rc2 го преработи моделот за интеракција на I/O нишки користејќи редови без заклучување. Белешките за изданието укажуваат на зголемување на пропусноста од 8–17%.Забрзајте ги GET и SET.
Valkey сега го користи хардверскиот часовник по дифолт каде што е можно, намалувајќи го оптоварувањето на системските повици поврзани со времето. Проектот бара вкупно зголемување на перформансите до 3% за GET и SET операциите.Побрзо отстранување на големи количини.
Valkey сега привремено го суспендира внатрешното менување на големината на хеш-табелите за време на операции како SREM, ZREM и HDEL за да се избегне непотребно повторно хеширање и да се забрза масовното бришење на елементите.Поефикасно креирање реплики за време на AOF.
При креирање реплика со овозможен AOF, добиената RDB датотека сега се користи повторно наместо да се генерира нова снимка за почетната основна датотека на AOF. Ова треба да ги намали непотребните трошоци при распоредување на реплики.Подобрувања на valkey-cli и valkey-benchmark.
Поддршката за миграција на атомски слотови е додадена на valkey-cli преку параметарот --cluster-use-atomic-slot-migration за операциите за ребалансирање на --cluster и reshard на --cluster. Излезот за дистрибуција на RPS е додаден на valkey-benchmark, заедно со параметрите --warmup и --duration, што го прави тестирањето на перформансите полесно управливо.
Одделно заедно со Valkey 9.1 во екосистемот се промовираат поврзани проекти: Администратор на Валки за визуелно управување со кластери, Пребарување на Valkey 1.2 со пребарување на целосен текст, нумерички филтри, ознаки и векторски пребарување, како и клиентска библиотека Валки ГЛАЈД.
Valkey 9.1 е значајно ажурирање од аспект на перформанси: помалку меморија на вообичаените структури, помала латенција за време на внатрешните реконструкции, нови команди за кластери и привремени податоци и попрецизен безбедносен модел за производствени инсталации.
Извор: linux.org.ru
