Najavljeno je izdanje nove verzije «Valkey 8.1», fork Redisa koji je rođen nakon prelaska na vlasničku licencu, i koji nastoji održati otvorenu filozofiju izvornog projekta.
Valkey 8.1 Sadrži veliki broj poboljšanja i promjena, čiji je glavni fokus na optimizacijama performansi koje smanjuju latenciju, povećavaju učinkovitost memorije i nove modularne mogućnosti.
Ključne nove značajke u Valkeyju 8.1
Uno od najznačajnijih promjena u ovoj verziji je potpuno prepisivanje hash tablice, koji se koristi u pohranjivanju podataka ključ-vrijednost i strukturiranih tipova podataka kao što su Hash, Set i Sorted Set. Zahvaljujući ovom redizajnu, Postignuto je smanjenje upotrebe memorije: 20 bajtova manje po ključu bez TTL-a, i do 30 bajtova ako ključ ima definiran životni vijek. Osim toga, smanjenje nasumičnog pristupa memoriji dovelo je do poboljšanja performansi od 10% u jednonitnim I/O okruženjima.
Još jedna nova značajka u Valkey 8.1 je iteracija preko ključeva u operacijama kao što su naredba KEYS ili Prijenos ključeva između čvorova u klasteru sada ima sustav predučitavanja predmemorije, što omogućuje da sljedeći ključ bude dostupan prije početka obrade. Ovaj je pristup povećao brzinu traženja ključa za 3,5 puta boljim korištenjem predmemorije procesora.
Poboljšanja I/O i TLS-a s više niti
Valkey nastavlja svoju tranziciju na I/O model s više niti. Sada, Obrada TLS veze izvodi se u zasebnim tokovima, čime je utrostručen kapacitet prihvaćanja novih veza. Funkcije kao što su SSL_pending() i ERR_clear_error() također su izolirane u zasebne niti, što je rezultiralo povećanjem performansi od 10% za SET operacije i 22% povećanjem za GET operacije.
Replikacija je poboljšana, posebno u okruženjima s aktivnim TLS-om, eliminirajući suvišne operacije poput nepotrebnih kontrolnih zbrojeva. To je rezultiralo 18% poboljšanjem u potpunoj sinkronizaciji tijekom replikacije bez diska i 47% smanjenjem troškova kopiranja i pisanja.
Optimizacije na uređenim skupovima i probabilističkim tipovima
El ZRANK naredba za naručene setove je optimiziran i Sada je 45% brži, dok je ZADD usvojio SIMD upute za postizanje veće učinkovitosti. Za probabilističke tipove podataka, korištenje HyperLogLog-a poboljšano je da koristi samo 12 KB fiksne memorije, a korištenje AVX2 instrukcija omogućilo je da se performanse PFMERGE i PFCOUNT operacija umnože do 12 puta, a BITCOUNT do 5 puta.
Neometana aktivna defragmentacija i veća kontrola nad registrima
El poboljšan je i sustav aktivne defragmentacije kako biste izbjegli blokade ili kašnjenja. Sada svaki ciklus defragmentacije traje samo 500 mikrosekundi, i implementirana je strategija protiv gladovanja kako bi se spriječilo odgađanje ovih zadataka zbog dugotrajnih operacija.
Uvedeni su Nove mogućnosti konfiguracije za formatiranje zapisa, uključujući prilagođene formate vremena i novi način COMMANDLOG koji bilježi duge zahtjeve i odgovore. Dodatno, naredba LATENCY LATEST proširena je novim metričkim podacima, pružajući bolju vidljivost zabilježenih vršnih i volumenskih latencija.
Nove značajke, moduli i podrška
Valkey sada vam omogućuje da izvršite operaciju SET IFEQ, što uvjetuje upisivanje ključa na trenutnu vrijednost. Također Predstavljena je modularna podrška za motore skripti, otvarajući mogućnost korištenja alternativnih jezika za Lua kroz prilagođene module.
U ovoj verziji također nekoliko modula debitira:
- Modul pretraživanja (Google): Tražilica sličnosti vektora, idealna za slučajeve strojnog učenja koji zahtijevaju nisku latenciju i visoku propusnost.
- JSON modul (AWS): omogućuje izravnu manipulaciju fragmentima JSON dokumenta, izbjegavajući potpunu obradu sadržaja na klijentu.
- Bloom filter modul (AWS): Implementacija Bloomovih filtera, korisnih za određivanje mogućeg članstva elementa u skupu, uz vjerojatnosnu učinkovitost
Konačno, ako ste zainteresirani da možete saznati više o tome, možete pogledati detalje u sljedeći link.