Zajednica Valkey najavio je izdanje Valkey 9.1 — nova stabilna verzija visokoučinkovitog, otvorenog koda (BSD licenca) pohranjivanja podataka ključ-vrijednost koja podržava različite slučajeve upotrebe, kao što su predmemoriranje i redovi poruka, a može djelovati i kao primarna baza podataka. Projekt podržava Linux Zaklada, osiguravajući njegovu kontinuiranu dostupnost kao otvorenog koda.
Projekt je fork Redisa i nastao je nakon promjene u njegovom licenciranju.
Ovo izdanje uključuje nove značajke, poboljšanja u sigurnosti, nadzoru, performansama i učinkovitosti alata. U izdanju je sudjelovalo više od 80 ljudi.
Velike promjene
Lua je premještena u zaseban modul.
U Valkeyju 9.1, Lua skriptni mehanizam je odvojen od glavnog poslužitelja i premješten u zaseban modul. Ovo odvajanje smanjuje površinu napada Valkeyjeve jezgre i omogućuje administratorima da potpuno onemoguće Luu ako se skripte ne koriste. Kako bi se lakše razumjelo koji su skriptni mehanizmi učitani u sustavu, naredba INFO sada ima novi odjeljak odgovora: Scripting Engines.Nove sigurnosne ispravke.
Stabilno izdanje 9.1.0 uključuje ispravke za tri ranjivosti: ranjivost "use-after-free" u mehanizmu otključavanja klijenta, nevažeći pristup memoriji u naredbi 7RESTORE i ranjivost "use-after-free" tijekom pune sinkronizacije tijekom izvršavanja Lua/funkcijskog koda s prinosom izvršenja. Ove ranjivosti navedene su u bilješkama kao CVE-2026-23479, CVE-2026-25243 i CVE-2026-23631.ACL na razini baze podataka.
Dodan je sustav kontrole pristupa na razini baze podataka. To omogućuje preciznije definirane dozvole u konfiguracijama s više korisnika i nadilazi globalna pravila pristupa za cijelu Valkey instancu.Automatsko ponovno učitavanje TLS certifikata.
Valkey 9.1 sada podržava automatsko ponovno učitavanje TLS certifikata. Za administratore to znači manje ručnih koraka prilikom rotacije certifikata i praktičnije rukovanje sigurnim instalacijama.Novi HGETDEL tim.
Naredba atomski dohvaća i briše jedno ili više polja iz hash strukture. To je posebno korisno za scenarije poput redova čekanja ili jednokratne potrošnje podataka, gdje je prije bilo potrebno kombinirati HGET i HDEL putem transakcije.Novi MSETEX tim.
MSETEX vam omogućuje postavljanje više ključeva s dijeljenim životnim vijekom pomoću jedne naredbe. Prije je ovaj scenarij zahtijevao više SETEX poziva ili kombinaciju SET i EXPIRE poziva putem cjevovoda. Nova naredba smanjuje broj poziva i pojednostavljuje tipičan kod za sesiju i privremene podatke.Novi CLUSTERSCAN tim.
Klasteri sada imaju jednu naredbu za skeniranje ključeva na svim čvorovima. Prije su klijenti morali ručno pokretati SCAN na svakom čvoru i spajati rezultate. CLUSTERSCAN pojednostavljuje klijentske biblioteke, administratorske alate i operativne zadatke poput pretraživanja ključeva prema uzorku ili vrsti na cijelom klasteru.Optimizacija potrošnje memorije nizova znakova.
Pokazalo se da optimizacije internih pokazivača za nizove kraće od 128 bajtova smanjuju potrošnju memorije do 20%. To je posebno važno za tipična opterećenja predmemoriranja koja pohranjuju veliki broj malih vrijednosti.Manje memorije za sortirane skupove.
Optimizacije preskakanja smanjuju potrošnju memorije za sortirane skupove do 10%. Operacije na sortiranim skupovima, uključujući upite poput ZRANGEBYSCORE i ZRANGEBYLEX, također su ubrzane.Ubrzani rad s ponovnim preradom.
Interna realokacija hash tablice, koja se često događa kada se ključevni prostor povećava, optimizirana je kako bi se smanjila latencija. Bilješke o izdanju također spominju smanjenje skokova latencije zbog inkrementalnog objavljivanja stranica.Poboljšani model niti za ulazno/izlazne operacije.
Kandidat za izdanje 9.1.0-rc2 preradio je model interakcije I/O niti korištenjem redova čekanja bez zaključavanja. Bilješke o izdanju ukazuju na povećanje propusnosti od 8–17%.Ubrzajte GET i SET.
Valkey sada koristi hardverski sat prema zadanim postavkama gdje god je to moguće, smanjujući opterećenje sistemskih poziva povezanih s vremenom. Projekt tvrdi da će ukupno poboljšati performanse do 3% za GET i SET operacije.Brže uklanjanje velikih količina.
Valkey sada privremeno obustavlja internu promjenu veličine hash tablica tijekom operacija poput SREM, ZREM i HDEL kako bi se izbjeglo nepotrebno ponovno hashiranje i ubrzalo skupno brisanje elemenata.Učinkovitije stvaranje replika tijekom AOF-a.
Prilikom stvaranja replike s omogućenim AOF-om, rezultirajuća RDB datoteka sada se ponovno koristi umjesto generiranja novog snapshota za početnu osnovnu AOF datoteku. To bi trebalo smanjiti nepotrebno opterećenje prilikom implementacije replika.Poboljšanja za valkey-cli i valkey-benchmark.
Podrška za migraciju atomskih slotova dodana je u valkey-cli putem parametra --cluster-use-atomic-slot-migration za operacije --cluster rebalance i --cluster reshard. Izlaz RPS distribucije dodan je u valkey-benchmark, zajedno s parametrima --warmup i --duration, što testiranje performansi čini lakšim za upravljanje.
Odvojeno zajedno s Valkey 9.1 u ekosustavu promoviraju se povezani projekti: Valkey Admin za vizualno upravljanje klasterima, Valkey pretraga 1.2 s pretraživanjem cijelog teksta, numeričkim filterima, oznakama i vektorskim pretraživanjem, kao i klijentskom bibliotekom Valkey GLIDE.
Valkey 9.1 je značajno ažuriranje s gledišta performansi: manje memorije na uobičajenim strukturama, manja latencija tijekom internih ponovnih izgradnja, nove naredbe za klastere i privremene podatke te točniji sigurnosni model za produkcijske instalacije.
Izvor: linux.org.ru
