Zajednica Valkey najavila je izdanje Valkey 9.1 — nove stabilne verzije visokoučinkovitog skladišta podataka tipa 'ključ-vrijednost' s otvorenim kodom (BSD licencija), koje podržava različite scenarije korištenja, kao što su keširanje i redovi poruka, te može služiti kao primarna baza podataka. Projekt podržava Linux Foundation, što osigurava njegovu trajnu dostupnost u obliku otvorenog koda.
Projekt je fork Redis i stvoren je nakon promjena u njegovoj licenciji.
Ovo izdanje uključuje nove mogućnosti, poboljšanja u sigurnosti, nadzoru, performansama i efikasnosti alata. U pripremi izdanja sudjelovalo je više od 80 ljudi.
Glavne promjene
Lua je izdvojena u poseban modul.
U Valkey 9.1, Lua skriptni engine je odvojen od glavnog servera i premješten u samostalni modul. Ova podjela smanjuje površinu napada jezgre Valkey i omogućava administratorima da potpuno isključe Lua ako se skripte na njoj ne koriste. Kako bi se lakše razumjelo koji su skriptni motori učitani u sustavu, tim INFO je dobio novu sekciju odgovora — Skriptni Motori.Nove sigurnosne ispravke.
U stabilno izdanje 9.1.0 uključene su ispravke triju ranjivosti: use-after-free u mehanizmu otključavanja klijenta, nekorektni pristup memoriji u naredbi 7RESTORE, kao i use-after-free tijekom potpune sinhronizacije tokom izvođenja Lua/function-koda s prepuštanjem izvršavanja. U bilješkama se navode kao CVE-2026-23479, CVE-2026-25243 i CVE-2026-23631.ACL na razini baze podataka.
Dodana je sustav kontrole pristupa na razini pojedinačnih baza podataka. To omogućuje finije dijeljenje prava u višekorisničkim konfiguracijama i ne ograničava se samo na globalna pravila pristupa na razini cijelog Valkey instance.Automatsko ponovo učitavanje TLS certifikata.
Valkey 9.1 dobio je podršku za automatsko ponovo učitavanje TLS certifikata. Za administratore to znači manje ručnih operacija pri rotaciji certifikata i ugodniju upotrebu zaštićenih instalacija.Nova naredba HGETDEL.
Tim atomarno dobiva i uklanja jedno ili više polja iz hash-strukture. Praktično značenje — scenariji slični redu ili jednokratnoj potrošnji podataka, gdje je prethodno bilo potrebno kombinirati HGET i HDEL putem transakcije.Nova komanda MSETEX.
MSETEX omogućava postavljanje više ključeva s zajedničkim vremenom života jednim pozivom. Ranije su za takav scenarij bile potrebne višestruke pozive SETEX ili kombinacija SET i EXPIRE putem pipeline-a. Nova komanda smanjuje broj poziva i pojednostavljuje tipičan kod za sesijske i privremene podatke.Nova komanda CLUSTERSCAN.
U klasterima je uvedena jedinstvena komanda za skeniranje ključeva na svim čvorovima. Ranije su klijenti morali sami izvršavati SCAN na svakom čvoru i kombinirati rezultate. CLUSTERSCAN pojednostavljuje klijentske biblioteke, admins tools i operativne zadatke kao što su pretraživanje ključeva po obrascu ili tipu u cijelom klasteru.Optimizacija potrošnje memorije nizovima.
Zahvaljujući unutarnjim optimizacijama pokazivača za nizove kraće od 128 bajtova, prijavljeno je smanjenje potrošnje memorije do 20%. Ovo je posebno važno za tipične keširajuće terete, gdje se čuva veliki broj malih vrijednosti.Manje memorije za sorted sets.
Optimizacije skiplist-struktura smanjuju potrošnju memorije za sorted set do 10%. Dodatno su ubrzane operacije nad sortiranim skupovima, uključujući upite poput ZRANGEBYSCORE i ZRANGEBYLEX.Ubrzana obrada s rehashingom.
Unutarnje redistribucije hash-tablica, koja se često manifestira pri rastu keyspace-a, optimizirana su kako bi se smanjile kašnjenja. U bilješkama o izdanju također je spomenuto smanjenje latency spikes zahvaljujući incremental page release.Poboljšani model I/O threading-a.
U izdanju kandidata 9.1.0-rc2 revidiran je model interakcije I/O niti koristeći lock-free queues. U bilješkama se navodi povećanje propusnosti od 8–17%.Ubrzanje GET i SET.
Valkey sada prema zadanim postavkama koristi hardverske satove gdje god je to moguće, što smanjuje troškove sistemskih poziva povezanih s vremenom. Projekt navodi povećanje performansi GET i SET do 3% u ukupnom.Brži masovni brisanja.
Kod operacija poput SREM, ZREM i HDEL, Valkey sada privremeno obustavlja unutarnju promjenu veličine hash-tablica kako bi izbjegao suvišno rehashiranje i ubrzao masovno brisanje elemenata.Efikasnije stvaranje replika pri AOF.
Prilikom stvaranja replike s uključenim AOF sada se ponovo koristi dobiveni RDB-datoteka umjesto generiranja novog snimka za početnu AOF osnovnu datoteku. To bi trebalo smanjiti dodatno opterećenje prilikom raspoređivanja replika.Poboljšanja valkey-cli i valkey-benchmark.
U valkey-cli dodana je podrška za atomske migracije slota putem parametra —cluster-use-atomic-slot-migration za operacije —cluster rebalance i —cluster reshard. U valkey-benchmark dodan je ispis raspodjele RPS, kao i parametri —warmup i —duration, što čini testiranje performansi upravljivijim.
Odvojeno zajedno s Valkey 9.1 u ekosustavu promoviraju se povezani projekti: Valkey Admin za vizualno upravljanje klasterima, Valkey Search 1.2 s punotextualnom pretragom, numeričkim filtrima, oznakama i vektorskom pretragom, kao i klijentskom bibliotekom Valkey GLIDE.
Valkey 9.1 — značajno ažuriranje s aspekta operativnosti: manje memorije na tipičnim strukturama, manje kašnjenja tijekom unutarnjih rekonstrukcija, nove naredbe za klastere i vremenske podatke, kao i precizniji model sigurnosti za produkcijske instalacije.
Izvor: linux.org.ru
