Valkey 8.1: Redis fork piedāvā veiktspēju, atmiņas uzlabojumus un jaunus moduļus

Valkija

Tas ir paziņots "Valkey 8.1" jaunās versijas izlaišana, Redis dakša, kas radās pēc pārejas uz patentētu licenci un kuras mērķis ir saglabāt sākotnējā projekta atvērto filozofiju.

Valkeja 8.1 Tajā ir daudz uzlabojumu un izmaiņu, kura galvenā uzmanība tiek pievērsta veiktspējas optimizācijai, kas samazina latentumu, palielina atmiņas efektivitāti un jaunas moduļu iespējas.

Galvenās jaunās funkcijas Valkey 8.1

Uno no būtiskākajām izmaiņām šajā versijā ir pabeigt jaucēj tabulas pārrakstīšanu, ko izmanto gan atslēgu vērtību datu glabāšanā, gan strukturētos datu tipos, piemēram, jauktā, kopa un šķirotā kopa. Pateicoties šim pārprojektam, Ir panākts atmiņas lietojuma samazinājums: par 20 baitiem mazāk katrai atslēgai bez TTL, un līdz 30 baitiem, ja atslēgai ir noteikts kalpošanas laiks. Turklāt izlases piekļuves atmiņai samazinājums ir veicinājis veiktspējas uzlabojumus par 10% viena pavediena I/O vidēs.

Vēl viena Valkey 8.1 jauna funkcija ir atkārtošana pār taustiņiem tādās darbībās kā KEYS komanda vai Atslēgu pārsūtīšanai starp klastera mezgliem tagad ir kešatmiņas iepriekšējas ielādes sistēma, kas ļauj nākamajai atslēgai būt pieejamai pirms apstrādes sākuma. Šī pieeja ir palielinājusi atslēgu meklēšanas ātrumu 3,5 reizes, labāk izmantojot procesora kešatmiņu.

Daudzpavedienu I/O un TLS uzlabojumi

Valkey turpina pāreju uz daudzpavedienu I/O modeli. Tagad, TLS savienojuma apstrāde tiek veikta atsevišķās plūsmās, kas ir trīskāršojis spēju pieņemt jaunus savienojumus. Tādas funkcijas kā SSL_pending() un ERR_clear_error() arī ir izolētas atsevišķos pavedienos, kā rezultātā SET operāciju veiktspēja ir palielinājusies par 10%, bet GET operācijām – par 22%.

Replikācija ir uzlabota, jo īpaši vidēs ar aktīvu TLS, novēršot liekas darbības, piemēram, nevajadzīgas kontrolsummas. Tā rezultātā par 18% ir uzlabojusies pilnīga sinhronizācija bezdiska replikācijas laikā un par 47% samazinātas kopēšanas un rakstīšanas operāciju izmaksas.

Pasūtīto komplektu un varbūtības veidu optimizācijas

El ZRANK komanda pasūtītajiem komplektiem ir optimizēts un Tagad tas ir par 45% ātrāks, savukārt ZADD ir pieņēmis SIMD norādījumus lai panāktu lielāku efektivitāti. Varbūtības datu tipiem HyperLogLog lietošana ir uzlabota, lai izmantotu tikai 12 KB fiksēto atmiņu, un AVX2 instrukciju izmantošana ir ļāvusi PFMERGE un PFCOUNT darbību veiktspēju reizināt līdz 12 reizēm, bet BITCOUNT — līdz 5 reizēm.

Nepārtraukta aktīva defragmentēšana un lielāka kontrole pār reģistriem

El ir uzlabota arī aktīvā defragmentēšanas sistēma lai izvairītos no aizsprostojumiem vai kavēšanās. Tagad katrs defragmentēšanas cikls ilgst tikai 500 mikrosekundes, un ir ieviesta pretbada stratēģija, lai novērstu šo uzdevumu atlikšanu ilgstošas ​​darbības dēļ.

Ir ieviesti Jaunas ieraksta formatēšanas konfigurācijas iespējas, tostarp pielāgoti laika formāti un jauns COMMANDLOG režīms, kas reģistrē garus pieprasījumus un atbildes. Turklāt komanda LATENCY LATEST ir paplašināta ar jauniem rādītājiem, nodrošinot labāku redzamību reģistrētajiem maksimālā un skaļuma latentumiem.

Jaunas funkcijas, moduļi un atbalsts

Valkija tagad ļauj izpildīt SET IFEQ darbību, kas nosaka pašreizējās vērtības atslēgas rakstīšanu. Arī Tiek ieviests moduļu atbalsts skriptu dzinējiem, paverot iespēju izmantot alternatīvas Lua valodas, izmantojot pielāgotus moduļus.

Šajā versijā arī vairāku moduļu debija:

  • Meklēšanas modulis (Google): Vektoru līdzības meklētājprogramma, kas ir ideāli piemērota mašīnmācīšanās gadījumiem, kuriem nepieciešams zems latentums un liela caurlaidspēja.
  • JSON modulis (AWS): ļauj tieši manipulēt ar JSON dokumentu fragmentiem, izvairoties no pilnīgas satura apstrādes klienta.
  • Blūma filtra modulis (AWS): Blūma filtru ieviešana, kas noder, lai noteiktu iespējamo elementa piederību kopai ar varbūtības efektivitāti

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat skatīt sīkāku informāciju šī saite.