Valkey 9.0, en fork av databaseledelsessystemet Redis, har blitt publisert.

Valkey 9.0-databasen ble lansert, og er en avdeling fra Redis-databasen fra i fjor. Forken ble dannet etter at Redis 7.4 ble flyttet til en proprietær lisens. I utgivelsen av Redis 8.0 ble koden tilbakeført til den frie AGPLv3-lisensen, men dette påvirket ikke utviklingen av Valkey-prosjektet. Valkey utvikles på en nøytral plattform under beskyttelse av Linux Foundation, med deltakelse fra utviklere fra selskaper som Amazon, Google, Oracle, Ericsson og Snap. Prosjektkoden er skrevet på C og distribueres under BSD-lisens. Det støtter drift på Linux, macOS, OpenBSD, NetBSD og FreeBSD.

Valkey-databasen og Redis tilbyr funksjoner for lagring av data i nøkkel/verdi-format, utvidet med støtte for strukturerte dataformater som lister, hasher og sett, samt muligheten for å utføre skript på server-siden. serveren Skriptbehandlere på Lua-språket. Databasen lagres i minnet og synkroniseres med diskversjonen eller gjenspeiles i endringsloggen på disken, noe som garanterer dataintegritet i tilfelle avbrudd. Transaksjoner, publikasjon/abonnementsmodus, kommandoer for inkrementering/dekrematering, operasjoner på lister og sett (forening, skjæring), omdøping av nøkler, master-slave-replikering, flere utvalg og sorteringsfunksjoner støttes.

I den nye versjonen:

  • For å overføre data mellom noder i klyngen benyttes teknikken for atomær migrasjon av lagringsplasser, der data overføres ikke på nivået av individuelle nøkler (en nøkkel av gangen), men på nivået av atomær flytting av 16384-byte lagringsplasser. Overføringen skjer ved hjelp av AOF-formatet, som tillater sending av individuelle elementer i samlinger i stedet for all data knyttet til en nøkkel. Denne tilnærmingen øker ytelsen betydelig, unngår omdireksjoner og eliminerer forsinkelser som oppstod når klienten fikk tilgang til den overflyttede nøkkelen.
  • Muligheten for å bestemme en individuell levetid for forskjellige felt i hasher knyttet til en nøkkel er lagt til (tidligere ble levetiden knyttet til nøkkelen og omfattet alle felt samtidig). For å administrere levetiden til data er nye kommandoer lagt til: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX, og HTTL.
  • Det er nå mulig å bruke et klyngeoppsett med nummererte databaser, hvor nøkkelrommet deles mellom flere forskjellige databaser (standard 16).
  • Effektiviteten til store klynger er forbedret – en klynge med 2000 noder er demonstrert og kan håndtere milliard forespørslere per sekund.
  • Optimalisering er lagt til som i enkelte situasjoner kan øke gjennomstrømningen med 40% ved å forhåndslaste grupperte (pipelining) kommandoer i minnet.
  • Optimalisering er lagt til som i enkelte situasjoner kan øke gjennomstrømningen med 20% ved å unngå kopiering av data i minnet (zero copy) under behandling av store forespørslere.
  • Støtte for Multipath TCP-teknologi er lagt til for å muliggjøre levering av pakker samtidig gjennom flere ruter via forskjellige nettverksgrensesnitt knyttet til forskjellige IP-adresser. Bruken av Multipath TCP kan i enkelte situasjoner redusere ventetid med 25%.
  • Det er lagt til optimaliseringer i BITCOUNT og HyperLogLog som bruker SIMD prosessorinstruksjoner, og som i enkelte tilfeller kan øke gjennomstrømningen med 200%.
  • Geospatiale indeksene har fått støtte for lokasjonsforespørsel basert på koordinater fra polygoner.
  • Det er lagt til en kommando «DELIFEQ» for å fjerne en nøkkel hvis den tilknyttede verdien stemmer overens med den spesifiserte.
  • I kommandoen «CLIENT LIST» er muligheten for å sette filtre som filtrerer elementer etter navn, flagg, aktivitet, DB, IP-adresse og tillatelser.
  • Støtten for 25 kommandoer som tidligere ble erklært utdaterte, er gjenopptatt.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster