Najavljeno je izdanje nove verzije «Valkey 8.1», fork Redis-a koji je nastao nakon njegovog prelaska na vlasničku licencu, i koji nastoji održati otvorenu filozofiju originalnog projekta.
Valkey 8.1 Sadrži veliki broj poboljšanja i promjena, čiji je glavni fokus na optimizaciji performansi koja smanjuje kašnjenje, povećava efikasnost memorije i nove modularne mogućnosti.
Ključne nove funkcije u Valkey 8.1
Uno od najznačajnijih promena u ovoj verziji je kompletno prepisivanje hash tablice, koristi se i za pohranu podataka ključ/vrijednost i za strukturirane tipove podataka kao što su Hash, Set i Sortirani skup. 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 definirani vijek trajanja. Osim toga, smanjenje slučajnog pristupa memoriji dovelo je do 10% poboljšanja performansi u jednonitnim I/O okruženjima.
Još jedna nova karakteristika 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 sistem za predučitavanje keša, što omogućava da sljedeći ključ bude dostupan prije početka obrade. Ovaj pristup je povećao brzinu traženja ključa za 3,5 puta boljim korištenjem predmemorije procesora.
Višenitna I/O i TLS poboljšanja
Valkey nastavlja svoju tranziciju na višenitni I/O model. Sada, the Obrada TLS veze se izvodi u odvojenim tokovima, što je utrostručilo kapacitet za prihvatanje novih veza. Funkcije kao što su SSL_pending() i ERR_clear_error() su također izolirane u zasebne niti, što je rezultiralo povećanjem performansi od 10% za SET operacije i povećanjem od 22% za GET operacije.
Replikacija je poboljšana, posebno u okruženjima s aktivnim TLS-om, eliminirajući suvišne operacije kao što su nepotrebni kontrolni sumi. Ovo je rezultiralo 18% poboljšanja pune sinhronizacije tokom replikacije bez diska i 47% smanjenja troškova operacija kopiranja i pisanja.
Optimizacije na uređenim skupovima i probabilističkim tipovima
El ZRANK komanda za naručene skupove je optimiziran i Sada je 45% brži, dok je ZADD usvojio SIMD instrukcije za postizanje veće efikasnosti. Za probabilističke tipove podataka, upotreba HyperLogLog-a je poboljšana tako da koristi samo 12 KB fiksne memorije, a upotreba AVX2 instrukcija je omogućila da se performanse PFMERGE i PFCOUNT operacija pomnože do 12 puta, a BITCOUNT do 5 puta.
Neprekidna aktivna defragmentacija i veća kontrola nad registrima
El sistem aktivne defragmentacije je takođe poboljšan kako biste izbjegli blokade ili kašnjenja. Sada, svaki ciklus defragmentacije traje samo 500 mikrosekundi, a implementirana je strategija protiv gladovanja kako bi se spriječilo odlaganje ovih zadataka zbog dugotrajnih operacija.
Uvedeni su Nove opcije konfiguracije za formatiranje zapisa, uključujući prilagođene formate vremena i novi COMMANDLOG mod koji bilježi dugačke zahtjeve i odgovore. Dodatno, komanda LATENCY LATEST je proširena novim metrikama, pružajući veću vidljivost zabilježenih vršnih i obimnih kašnjenja.
Nove karakteristike, moduli i podrška
Valkey sada vam omogućava da izvršite operaciju SET IFEQ, što uslovljava pisanje ključa na trenutnu vrijednost. Također Uvedena je modularna podrška za skript mašine, otvarajući mogućnost korištenja alternativnih jezika za Lua kroz prilagođene module.
U ovoj verziji takođe nekoliko modula debituje:
- Modul za pretraživanje (Google): Tražilica vektorske sličnosti, idealna za slučajeve mašinskog učenja koji zahtijevaju nisko kašnjenje i visoku propusnost.
- JSON modul (AWS): omogućava direktnu manipulaciju fragmentima JSON dokumenta, izbjegavajući potpunu obradu sadržaja na klijentu.
- Modul filtera Bloom (AWS): Implementacija Bloom filtera, korisnih za određivanje mogućeg članstva elementa u skupu, sa probabilističkom efikasnošću
Konačno, ako ste zainteresovani da saznate više o tome, možete pogledati detalje u sljedeći link.