Valkey 8.1: Redis fork har ydeevne, hukommelsesforbedringer og nye moduler

Valkey

Det er blevet annonceret udgivelse af den nye version af «Valkey 8.1», en gaffel af Redis, der blev født efter dens overgang til en proprietær licens, og som søger at bevare det originale projekts åbne filosofi.

Valkey 8.1 Den indeholder en lang række forbedringer og ændringer, hvis hovedfokus er på ydeevneoptimeringer, der reducerer latens, øger hukommelseseffektiviteten og nye modulære muligheder.

Nye nøglefunktioner i Valkey 8.1

A af de væsentligste ændringer i denne version er komplet omskrivning af hash-tabellen, brugt i både nøgleværdi-datalagring og strukturerede datatyper såsom Hash, Set og Sorteret sæt. Takket være dette redesign, Der er opnået en reduktion i hukommelsesforbruget: 20 bytes mindre pr. nøgle uden TTL, og op til 30 bytes, hvis nøglen har en defineret levetid. Derudover har reduktionen i tilfældig hukommelsesadgang ført til en forbedring af ydeevnen på 10 % i enkelttrådede I/O-miljøer.

En anden ny funktion i Valkey 8.1 er, at iteration over nøgler i operationer såsom kommandoen KEYS eller Nøgleoverførsel mellem noder i en klynge har nu et cache-forindlæsningssystem, som gør det muligt for den næste nøgle at være tilgængelig, før behandlingen begynder. Denne tilgang har øget nøgleopslagshastigheden med 3,5 gange ved at gøre bedre brug af processorcachen.

Multi-threaded I/O og TLS forbedringer

Valkey fortsætter sin overgang til en multi-threaded I/O-model. Nu, den TLS-forbindelsesbehandling udføres i separate strømme, hvilket har tredoblet kapaciteten til at acceptere nye forbindelser. Funktioner såsom SSL_pending() og ERR_clear_error() er også blevet isoleret i separate tråde, hvilket resulterer i en 10 % ydelsesforøgelse for SET-operationer og en stigning på 22 % for GET-operationer.

Replikering er blevet forbedret, især i miljøer med aktiv TLS, eliminerer redundante operationer såsom unødvendige kontrolsummer. Dette har resulteret i en forbedring på 18 % i fuld synkronisering under diskløs replikering og en reduktion på 47 % i omkostningerne til kopiering og skriveoperationer.

Optimeringer på bestilte sæt og probabilistiske typer

El ZRANK kommando for bestilte sæt er optimeret og Det er nu 45 % hurtigere, mens ZADD har vedtaget SIMD-instruktioner at opnå større effektivitet. For probabilistiske datatyper er brugen af ​​HyperLogLog blevet forbedret til kun at bruge 12 KB fast hukommelse, og brugen af ​​AVX2-instruktioner har gjort det muligt at gange ydeevnen af ​​PFMERGE- og PFCOUNT-operationer med op til 12 gange og BITCOUNT med op til 5 gange.

Uafbrudt aktiv defragmentering og mere kontrol over registre

El aktivt defragmenteringssystem er også blevet forbedret for at undgå blokeringer eller forsinkelser. Nu varer hver defragmenteringscyklus kun 500 mikrosekunder, og der er implementeret en anti-sultstrategi for at forhindre, at disse opgaver udskydes på grund af langsigtede operationer.

Er blevet introduceret Nye konfigurationsmuligheder for postformatering, inklusive brugerdefinerede tidsformater og en ny COMMANDLOG-tilstand, der logger lange anmodninger og svar. Derudover er LATENCY LATEST-kommandoen blevet udvidet med nye metrics, der giver større synlighed i peak- og volumenforsinkelser, der er registreret.

Nye funktioner, moduler og support

Valkey giver dig nu mulighed for at udføre SET IFEQ operationen, som betinger skrivningen af ​​en nøgle til den aktuelle værdi. Også Modulær understøttelse af script-motorer introduceres, åbner muligheden for at bruge alternative sprog til Lua gennem brugerdefinerede moduler.

I denne version også flere moduler debuterer:

  • Søgemodul (Google): Vektor-lighedssøgemaskine, ideel til maskinlæringssager, der kræver lav latenstid og høj gennemstrømning.
  • JSON-modul (AWS): tillader direkte manipulation af JSON-dokumentfragmenter og undgår fuldstændig behandling af indholdet på klienten.
  • Bloom Filter Module (AWS): Implementering af Bloom-filtre, nyttigt til at bestemme det mulige medlemskab af et element i et sæt, med sandsynlig effektivitet

Endelig, hvis du er interesseret i at kunne vide mere om det, kan du konsultere detaljerne i følgende link.