Spoločenstva Valkey oznámil vydanie Valkey 9.1 — nová stabilná verzia vysokovýkonného úložiska dát s otvoreným zdrojovým kódom (licencia BSD) typu kľúč-hodnota, ktoré podporuje rôzne prípady použitia, ako napríklad ukladanie do vyrovnávacej pamäte a fronty správ, a môže slúžiť aj ako primárna databáza. Projekt je podporovaný spoločnosťou Linux Nadácia, ktorá zabezpečuje jeho nepretržitú dostupnosť ako otvoreného zdrojového kódu.
Projekt je forkom Redisu a bol vytvorený po zmeny v jeho licenciách.
Toto vydanie obsahuje nové funkcie, vylepšenia v oblasti zabezpečenia, monitorovania, výkonu a efektivity nástrojov. Na vydaní sa podieľalo viac ako 80 ľudí.
Hlavné zmeny
Lua bola presunutá do samostatného modulu.
Vo verzii Valkey 9.1 bol skriptovací engine Lua oddelený od hlavného servera a presunutý do samostatného modulu. Toto oddelenie znižuje plochu jadra Valkey pre útoky a umožňuje správcom úplne deaktivovať Lua, ak sa skripty nepoužívajú. Aby bolo jednoduchšie pochopiť, ktoré skriptovacie enginy sú v systéme načítané, príkaz INFO má teraz novú sekciu odpovede: Skriptovacie enginy.Nové bezpečnostné opravy.
Stabilná verzia 9.1.0 obsahuje opravy troch zraniteľností: zraniteľnosť typu „use-after-free“ v mechanizme odomykania klienta, neplatný prístup k pamäti v príkaze 7RESTORE a zraniteľnosť typu „use-after-free“ počas úplnej synchronizácie počas vykonávania kódu Lua/funkcie s výnosom vykonania. Tieto zraniteľnosti sú v poznámkach uvedené ako CVE-2026-23479, CVE-2026-25243 a CVE-2026-23631.ACL na úrovni databázy.
Bol pridaný systém riadenia prístupu na úrovni databázy. To umožňuje podrobnejšie nastavenie oprávnení v konfiguráciách pre viacerých používateľov a ide nad rámec globálnych pravidiel prístupu pre celú inštanciu Valkey.Automatické opätovné načítanie certifikátov TLS.
Valkey 9.1 teraz podporuje automatické opätovné načítanie certifikátov TLS. Pre administrátorov to znamená menej manuálnych krokov pri rotácii certifikátov a pohodlnejšiu prevádzku zabezpečených inštalácií.Nový tím HGETDEL.
Príkaz atomicky načíta a vymaže jedno alebo viacero polí z hašovacej štruktúry. Toto je obzvlášť užitočné v scenároch, ako sú fronty alebo jednorazová spotreba dát, kde bolo predtým potrebné kombinovať HGET a HDEL prostredníctvom transakcie.Nový tím MSETEX.
MSETEX umožňuje nastaviť viacero kľúčov so zdieľanou životnosťou pomocou jedného príkazu. Predtým tento scenár vyžadoval viacero volaní SETEX alebo kombináciu volaní SET a EXPIRE prostredníctvom kanála. Nový príkaz znižuje počet volaní a zjednodušuje typický kód pre dáta relácie a dočasné dáta.Nový tím CLUSTERSCAN.
Klastre majú teraz jeden príkaz na skenovanie kľúčov naprieč všetkými uzlami. Predtým museli klienti manuálne spúšťať SCAN na každom uzle a zlúčiť výsledky. CLUSTERSCAN zjednodušuje klientske knižnice, nástroje pre správu a prevádzkové úlohy, ako je vyhľadávanie kľúčov podľa vzoru alebo typu v celom klastri.Optimalizácia spotreby pamäte reťazcami.
Optimalizácia interných ukazovateľov pre reťazce kratšie ako 128 bajtov preukázateľne znižuje spotrebu pamäte až o 20 %. To je obzvlášť dôležité pre typické úlohy ukladania do vyrovnávacej pamäte, ktoré ukladajú veľké množstvo malých hodnôt.Menej pamäte pre zoradené množiny.
Optimalizácie štruktúr preskakovacích zoznamov znižujú spotrebu pamäte pre zoradené množiny až o 10 %. Zrýchlili sa aj operácie s zoradenými množinami vrátane dotazov ako ZRANGEBYSCORE a ZRANGEBYLEX.Zrýchlená práca s opätovným prepracovaním.
Interná realokácia hašovacej tabuľky, ku ktorej často dochádza pri raste kľúčového priestoru, bola optimalizovaná na zníženie latencie. Poznámky k vydaniu tiež spomínajú zníženie nárastov latencie v dôsledku postupného uvoľňovania stránok.Vylepšený model vláknovania I/O.
Verzia 9.1.0-rc2 prepracovala model interakcie I/O vlákien pomocou frontov bez uzamknutia. Poznámky k vydaniu uvádzajú zvýšenie priepustnosti o 8 – 17 %.Zrýchlite GET a SET.
Valkey teraz štandardne používa hardvérové hodiny, kdekoľvek je to možné, čím sa znižuje réžia systémových volaní súvisiacich s časom. Projekt deklaruje celkové zvýšenie výkonu až o 3 % pre operácie GET a SET.Rýchlejšie hromadné odstraňovanie.
Valkey teraz dočasne pozastavuje internú zmenu veľkosti hašovacích tabuliek počas operácií ako SREM, ZREM a HDEL, aby sa predišlo zbytočnému opätovnému hašovaniu a urýchlilo sa hromadné mazanie prvkov.Efektívnejšie vytváranie replík počas AOF.
Pri vytváraní repliky s povoleným AOF sa výsledný súbor RDB teraz opätovne použije namiesto generovania novej snímky pre pôvodný základný súbor AOF. Toto by malo znížiť zbytočné réžie pri nasadzovaní replík.Vylepšenia vo funkciách valkey-cli a valkey-benchmark.
Do rozhrania valkey-cli bola pridaná podpora migrácie atómových slotov prostredníctvom parametra --cluster-use-atomic-slot-migration pre operácie --cluster rebalance a --cluster reshard. Do rozhrania valkey-benchmark bol pridaný výstup distribúcie RPS spolu s parametrami --warmup a --duration, vďaka čomu je testovanie výkonu lepšie zvládnuteľné.
Samostatne spolu s Valkey 9.1 v ekosystéme súvisiace projekty sú propagované: Valkey Admin pre vizuálnu správu klastrov, Vyhľadávanie Valkey 1.2 s fulltextovým vyhľadávaním, numerickými filtrami, tagmi a vektorovým vyhľadávaním, ako aj klientskou knižnicou Valkey GLIDE.
Valkey 9.1 je významná aktualizácia z hľadiska výkonu: menej pamäte na bežných štruktúrach, menšia latencia počas interných prestavieb, nové príkazy pre klastre a dočasné dáta a presnejší bezpečnostný model pre produkčné inštalácie.
Zdroj: linux.org.ru
