Lanseringen av databashanteraren Valkey 9.0 har Àgt rum, en avknoppning frÄn databashanteraren Redis förra Äret. Gaffeln skapades efter att Redis 7.4 hade övergÄtt till en proprietÀr licens. I versionen Redis 8.0 Ätergick koden till den fria AGPLv3-licensen, men detta pÄverkade inte utvecklingen av Valkey-projektet. Valkey utvecklas pÄ en neutral plattform under Linux Foundations stöd, med deltagande av utvecklare frÄn företag som Amazon, Google, Oracle, Ericsson och Snap. Projektets kod skrivs i C och distribueras under BSD-licensen. Den kan köras pÄ Linux, macOS, OpenBSD, NetBSD och FreeBSD.
Databashanterarna Valkey och Redis erbjuder funktioner för att lagra data i nyckel/vÀrde-format, utökad med stöd för strukturerade dataformat som listor, hash-tabeller och mÀngder samt möjlighet att köra skript. servern processorer pÄ Lua. Databasen lagras i minnet och synkroniseras med versionen pÄ disken eller registreras i en logg, vilket garanterar dataskydd vid ovÀntad avstÀngning. Transaktioner, publicerings-/prenumerationslÀge, kommandon för inkrementering/dekrementering, operationer pÄ listor och mÀngder (förening, snitt), omdöpning av nycklar, master-slave replikering, multipla urval och sorteringsfunktioner stöds.
I den nya versionen:
- För överföring av data mellan noder i klustret anvÀnds tekniken för atomÀr migrering av slots, dÀr data flyttas inte pÄ nivÄ av enskilda nycklar (en nyckel i taget) utan pÄ nivÄ av atomÀr överföring av 16384-byte lagringsslots. Flyttningen sker med hjÀlp av AOF-formatet, vilket tillÄter att skicka individuella element av samlingar istÀllet för all data kopplad till en nyckel. Denna metod ökar betydligt prestandan, undviker omdirigeringar och eliminerar fördröjningar som kan uppstÄ vid klientÄtkomst till den flyttade nyckeln.
- Möjligheten att definiera separata livslÀngder för olika fÀlt i hash-tabeller kopplade till en nyckel har lagts till (tidigare var livslÀngden kopplad till nyckeln och omfattade alla fÀlt samtidigt). För att hantera data livslÀngd har nya kommandon lagts till: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX och HTTL.
- Möjligheten att anvÀnda numrerade databaser i klustermod Àr nu tillgÀnglig, dÀr nyckelutrymmet delas upp pÄ flera olika databaser (standard 16).
- Effektiviteten i stora kluster har ökat â ett kluster med 2000 noder har visat sig kunna hantera en miljard förfrĂ„gningar per sekund.
- En optimering har lagts till som i vissa situationer kan öka genomströmningen med 40 % genom förhandsladdning av grupperade (pipelining) kommandon i minnet.
- En optimering har lagts till som i vissa situationer kan öka genomströmningen med 20 % genom att undvika kopiering av data i minnet (zero copy) under hantering av stora förfrÄgningar.
- Stödet för teknologin Multipath TCP har lagts till för att möjliggöra leverans av paket över flera vÀgar via olika nÀtverksgrÀnssnitt kopplade till olika IP-adresser. AnvÀndningen av Multipath TCP kan i vissa situationer minska fördröjningen med 25 %.
- Optimeringar som anvÀnder SIMD-processorinstruktioner har lagts till i BITCOUNT och HyperLogLog, vilket i vissa situationer kan öka genomströmningen med 200 %.
- Stödet för platsspecifika förfrÄgningar efter koordinater av polygoner har lagts till i geospatiala index.
- Kommandot "DELIFEQ" har lagts till för att ta bort en nyckel om det associerade vÀrdet matchar det angivna.
- I kommandot "CLIENT LIST" har möjligheten att stÀlla in filter implementerats för att filtrera bort element efter namn, flaggor, aktivitet, databas, IP-adress och behörigheter.
- Stödet för 25 kommandon som tidigare har deklarerats som förÄldrade har Äterupptagits.
KĂ€lla: opennet.ru
