A közösség Valkey bejelentette Valkey 9.1 — az új, stabil verzióját a magas teljesítményű, kulcs-érték típusú adatbázisnak, mely nyílt forráskódú (BSD licenc), és támogatja a különböző felhasználási forgatókönyveket, mint például a gyorsítótárazást és az üzenetsorokat, valamint alapadatbázisként is használható. A projektet a Linux Foundation támogatja, amely garantálja a nyílt forráskódú elérhetőségét.
A projekt a Redis forkja, és a következő licencváltozások után készült.
Ez a kiadás új funkciókat, biztonsági, megfigyelési, teljesítménybeli és hatékonysági fejlesztéseket tartalmaz. A kiadás előkészítésében több mint 80 ember vett részt.
Főbb változások
A Lua külön modulba került.
A Valkey 9.1 esetében a Lua szkriptnyelv motorja el lett választva a fő szervertől, és önálló modulba került. Ez a szétválasztás csökkenti a Valkey kernel támadási felületét, és lehetővé teszi az adminisztrátorok számára, hogy teljesen letiltsák a Lua-t, ha nem használnak szkripteket. Annak érdekében, hogy könnyebben megértsük, milyen szkriptnyelv motorok vannak betöltve a rendszerben, az INFO parancs új részt kapott a válaszában — Scripting Engines.Új biztonsági javítások.
A stabil 9.1.0-as kiadás három sebezhetőség javításait tartalmazza: use-after-free a kliens unlock mechanizmusában, hibás memóriához való hozzáférés a 7RESTORE parancsnál, valamint use-after-free teljes szinkronizálás alatt Lua/funkció kód végrehajtási engedményezése közben. Ezen sebezhetőségeket CVE-2026-23479, CVE-2026-25243 és CVE-2026-23631-ként említik a kiadás jegyzetei.Adatbázis szintű ACL.
Hozzáadták az egyes adatbázisokon belüli hozzáférés-ellenőrző rendszert. Ez lehetővé teszi a jogok finomabb megosztását a többfelhasználós konfigurációkban, nem korlátozva azokat csupán a globális hozzáférési szabályokra a Valkey teljes példányára vonatkozóan.Automatikus TLS tanúsítvány újraindítás.
A Valkey 9.1 támogatást kapott a TLS tanúsítványok automatikus újraindításához. Az adminisztrátorok számára ez kevesebb manuális műveletet jelent a tanúsítványok cseréje során, és kényelmesebbé teszi a védett telepítések használatát.Új HGETDEL parancs.
A parancs atomikusan lekéri és törli az egy vagy több mezőt a hash-struktúrából. A gyakorlati jelentősége — olyan szkriptek, amelyek hasonlóak a sorhoz vagy egyszeri adatfogyasztáshoz, ahol korábban kombinálni kellett a HGET-et és HDEL-t egy tranzakción keresztül.Új MSETEX parancs.
A MSETEX lehetővé teszi, hogy egy parancs segítségével több kulcsot állítsunk be közös élettartammal. Korábban ehhez több SETEX hívásra vagy a SET és EXPIRE párosítására volt szükség a pipeline-on keresztül. Az új parancs csökkenti a hívások számát és egyszerűsíti a tipikus kódot a munkamenetekhez és időalapú adatokhoz.Új CLUSTERSCAN parancs.
A klaszterekben mostantól egyetlen parancs áll rendelkezésre a kulcsok átvizsgálására az összes csomóponton. Korábban az ügyfeleknek maguknak kellett végrehajtaniuk a SCAN-t minden csomóponton és egyesíteniük az eredményeket. A CLUSTERSCAN egyszerűsíti az ügyfélkönyvtárakat, az adminisztrációs eszközöket és az üzemeltetési feladatokat, mint például a kulcsok sablon vagy típus szerint történő keresését az egész klaszterben.A memóriafogyasztás optimalizálása karakterláncokkal.
A 128 bájtnál rövidebb karakterláncok belső mutatóinak optimalizálásával a memóriafogyasztás akár 20%-kal is csökkenthető. Ez különösen fontos a tipikus gyorsítótárazási terhelések esetén, ahol nagy mennyiségű kis értéket tárolnak.Kevesebb memória rendezett halmazokhoz.
A skiplist struktúrára vonatkozó optimalizálások akár 10%-kal csökkentik a memóriafogyasztást a rendezett halmazok számára. Emellett a rendezett halmazokkal kapcsolatos műveletek, például a ZRANGEBYSCORE és ZRANGEBYLEX lekérdezések is gyorsabbá váltak.Gyorsított rehashing folyamat.
A hash-táblák belső újraelosztása, amely gyakran felmerül a kulcstartomány növekedésekor, optimalizálva lett, hogy csökkentse a késleltetéseket. A kiadási jegyzetekben említést nyer a késlekedési csúcsok csökkentése is az inkrementális oldalkiadás révén.Javított I/O szálkezelési modell.
A 9.1.0-rc2 verzióra vonatkozó kiadás-jelöltben a szálak és a bemeneti/kimeneti kezelés modellje lock-free sorok használatával lett átdolgozva. A jegyzetekben említik a kapacitás 8–17%-os növekedését.Gyorsított GET és SET.
A Valkey most már alapértelmezetten hardveres órákat használ, ahol ez lehetséges, csökkentve ezzel a rendszerhívásokra vonatkozó költségeket. A projekt 3%-os teljesítménynövekedést jelent a GET és SET esetén.Gyorsabb tömeges törlések.
Az SREM, ZREM és HDEL műveletek során a Valkey mostantól ideiglenesen felfüggeszti a hash-táblák belső méretezésének módosítását, hogy elkerülje a felesleges rehashing-et és felgyorsítsa a tömeges elemtörlést.Hatékonyabb replika készítés AOF esetén.
AOF engedélyezésével történő replikáláskor mostantól újra felhasználjuk a meglévő RDB-fájlt a kezdeti AOF alapfájl új pillanatképének létrehozása helyett. Ennek csökkentenie kell a terhelést a replikák telepítésekor.A valkey-cli és a valkey-benchmark fejlesztései.
A valkey-cli támogatja az atomikus slot migrációt az —cluster-use-atomic-slot-migration paraméter révén a —cluster rebalance és a —cluster reshard műveletekhez. A valkey-benchmark lehetővé tette az RPS eloszlás kimenetét, valamint a —warmup és a —duration paramétereket, ami a teljesítménytesztelést kezelhetőbbé teszi.
A Valkey 9.1 mellett külön az ökoszisztémában a kapcsolódó projektek előmozdítása történik.: Valkey Admin a klaszterek vizuális kezelésére, Valkey Search 1.2 teljes szöveges kereséssel, numerikus szűrőkkel, címkékkel és vektorkereséssel, valamint kliens könyvtárral. Valkey GLIDE.
A Valkey 9.1 jelentős frissítés a működés szempontjából: kevesebb memória a tipikus struktúrákon, alacsonyabb késleltetések belső átrendeződések során, új parancsok klaszterekre és időbeli adatokra, valamint pontosabb biztonsági modell a production telepítésekhez.
Forrás: linux.org.ru
