Komunita Valkey oznámilo vydanie Valkey 9.1 – novej stabilnej verzie vysoko výkonného úložiska typu 'kľúč-hodnota' s otvoreným zdrojovým kódom (licencia BSD), ktoré podporuje rôzne scenáre použitia, ako je cachovanie a správa správ, a môže fungovať aj ako primárna databáza. Projekt je podporovaný Linux Foundation, čo zaručuje jeho neustálu dostupnosť v podobe otvoreného zdroja.
Projekt je fork Redis a bol vytvorený po zmene jeho licencie.
Toto vydanie zahŕňa nové funkcie, vylepšenia v oblasti bezpečnosti, monitorovania, výkonu a efektivity nástrojov. Na príprave vydania sa podieľalo viac ako 80 ľudí.
Hlavné zmeny
Lua bol presunutý do samostatného modulu.
V Valkey 9.1 bol engine skriptov Lua oddelený od hlavného servera a presunutý do samostatného modulu. Toto oddelenie znižuje útočnú plochu jadra Valkey a ponúka administrátorom možnosť úplne deaktivovať Lua, ak skripty na ňom nie sú používané. Aby bolo jasnejšie, aké skriptové enginy sú načítané v systéme, tím INFO dostal novú sekciu odpovede — Skriptové enginy.Nové bezpečnostné opravy.
Stabilná verzia 9.1.0 obsahuje opravy troch zraniteľností: use-after-free v mechanizme odomykania klienta, nesprávny prístup k pamäti v príkaze 7RESTORE, a use-after-free pri plnej synchronizácii počas vykonávania Lua/function kódu s odovzdaním vykonávania. V poznámkach sú uvedené ako CVE-2026-23479, CVE-2026-25243 a CVE-2026-23631.Prístupové oprávnenia na úrovni databázy.
Pridaný systém prístupu na úrovni jednotlivých databáz. To umožňuje jemnejšie delenie práv v viacužívateľských konfiguráciách a nielen obmedzenie na globálne prístupové pravidlá na úrovni celého inštancie Valkey.Automatické preťažovanie TLS certifikátov.
Valkey 9.1 získal podporu automatického preťažovania TLS certifikátov. Pre administrátorov to znamená menej ručných operácií pri rotácii certifikátov a pohodlnejšiu prevádzku chránených inštalácií.Nový príkaz HGETDEL.
Príkaz atomicky získava a odstraňuje jedno alebo niekoľko polí z hash štruktúry. Praktický význam — skripty podobné frontám alebo jednorázová spotreba údajov, kde predtým bolo potrebné kombinovať HGET a HDEL prostredníctvom transakcie.Nový príkaz MSETEX.
MSETEX umožňuje jednou príkazom nastaviť niekoľko kľúčov s rovnakou dobou života. Predtým sa na takýto scenár vyžadovalo niekoľko volaní SETEX alebo kombinácia SET a EXPIRE prostredníctvom pipeline. Nový príkaz znižuje počet volaní a zjednodušuje typický kód pre reláciové a dočasné údaje.Nový príkaz CLUSTERSCAN.
V clusteroch sa objavil jednotný príkaz na skenovanie kľúčov vo všetkých uzloch. Predtým museli zákazníci vykonávať SCAN na každom uzle a zlúčiť výsledky. CLUSTERSCAN zjednodušuje klientské knižnice, administračné nástroje a prevádzkové úlohy ako vyhľadávanie kľúčov podľa vzoru alebo typu v celom klastri.Optimalizácia spotreby pamäte reťazcami.
Vďaka vnútorným optimalizáciám ukazovateľov pre reťazce kratšie ako 128 bajtov sa uvádza zníženie spotreby pamäte až o 20%. To je obzvlášť dôležité pre typické cache zaťaženia, kde sa uchováva veľké množstvo malých hodnôt.Menej pamäte pre sorted sets.
Optimalizácie skiplist štruktúr znižujú spotrebu pamäte pre sorted sety až o 10%. Navyše sú urýchlené operácie nad zoradenými množstvami, vrátane dopytov ako ZRANGEBYSCORE a ZRANGEBYLEX.Rýchlejšie spracovanie s rehashingom.
Vnútorné preskupenie hash tabuliek, ktoré sa často prejavuje pri raste keyspace, bolo optimalizované tak, aby sa znížili oneskorenia. V poznámkach k vydaniu sa tiež uvádza zníženie latencných špikov vďaka inkrementálnemu uvoľneniu strán.Vylepšený model I/O threading.
V release candidate 9.1.0-rc2 bola prepracovaná interakcia medzi vláknami vstupu a výstupu s použitím lock-free queues. V poznámkach sa uvádza zvýšenie priepustnosti o 8–17%.Zrýchlenie GET a SET.
Valkey teraz vo svojej predvolenej konfigurácii využíva hardvérové hodiny tam, kde je to možné, čo znižuje režijné náklady spojené so systémovými volaniami súvisiacimi s časom. Projekt hlási nárast výkonu GET a SET až o 3% celkovo.Rýchlejšie hromadné mazania.
Pri operáciách ako SREM, ZREM a HDEL Valkey teraz dočasne pozastavuje vnútorné zmeny veľkosti hash tabuliek, aby sa predišlo zbytočnému rehashingu a urýchlilo hromadné mazanie prvkov.Účinnejšie vytváranie replík pri AOF.
Pri vytváraní repliky s povoleným AOF sa teraz znovu používa získaný RDB súbor namiesto generovania novej snímky pre počiatočný AOF base file. To by malo znížiť zbytočnú záťaž pri nasadzovaní replik.Zlepšenia valkey-cli a valkey-benchmark.
V valkey-cli bola pridaná podpora atomickej migrácie slotov cez parameter —cluster-use-atomic-slot-migration pre operácie —cluster rebalance a —cluster reshard. Do valkey-benchmark bol pridaný výstup rozdelenia RPS, ako aj parametre —warmup a —duration, čo robí testovanie výkonu lepšie ovládateľným.
Samostatne, spolu s Valkey 9.1 v ekosystéme sa posúvajú súvisiace projekty: Valkey Admin pre vizuálne riadenie klastrov, Valkey Search 1.2 s plnotextovým vyhľadávaním, číselnými filtrami, tagmi a vektorovým vyhľadávaním, ako aj klientská knižnica Valkey GLIDE.
Valkey 9.1 — významná aktualizácia z pohľadu prevádzky: menej pamäte na typických štruktúrach, menej oneskorení pri vnútorných prestavbách, nové príkazy pre klastre a časové dáta, ako aj presnejší bezpečnostný model pre produkčné inštalácie.
Zdroj: linux.org.ru
