Valkey 9.0 – Jelentős újdonságok és fejlesztések

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Valkey 9.0 az nyílt forráskódú, Redis-kompatibilis in-memory adatbázis második nagy kiadása, az első v8.0 egy évvel korábbi megjelenése után. Ez a verzió főként atomikus slot-migrációt, fürtösített adatbázisokat és több, teljesítményt növelő optimalizációt vezet be.

Atomikus slot-migráció

Korábban a Valkey kulcsonként (key-by-key) mozgatta az adatokat a klaszteren belül. Ez nagy adatmennyiség vagy magas terhelés esetén teljesítménycsökkenést, blokkolt migrációt, vagy akár ideiglenes adat-hozzáférhetetlenséget okozhatott.

A 9.0 verzió slot-alapú migrációt vezet be: a kulcsok csoportját (slot) atomikusan, az Append Only File (AOF) formátumot használva mozgatja. Ennek előnyei:

  • Gyorsabb és stabilabb migrációk
  • Kisebb memória- és input buffer-terhelés
  • Nincs részleges adatállapot

Hash mező szintű lejárat (Field Expiration)

Korábban a lejárat csak kulcs-szinten volt elérhető, így egy hash mező lejárata esetén az egész hash törlődött. Újdonságok:

Ez finomabb szabályozást tesz lehetővé a mezők életciklusában.

Támogatás számokkal ellátott adatbázisokhoz klaszter módban

  • Korábban a klaszter mindig csak db 0 használatára volt korlátozva
  • Új verzió: teljes támogatás több logikai adatbázishoz, így elkerülhetők a kulcsütközések
  • Különösen hasznos multi-tenant környezetekben vagy sharded alkalmazásoknál

Teljesítmény-optimalizációk

  • 1 milliárd kérés/másodperc: klaszterek akár 2000 node-ig skálázhatók
  • Pipeline Memory Prefetch: 40%-kal nagyobb átviteli sebesség
  • Zero-Copy Responses: kisebb memóriahasználat, nagyobb lekérdezések gyorsabb kezelése
  • Multipath TCP: ~25%-kal csökkenti a késleltetést multipath hálózatokon
  • SIMD optimalizációk: vektoros feldolgozás BITCOUNT és HyperLogLog esetén, akár 200%-os teljesítménynövekedés
  • Conditional Delete (DELIFEQ): csak akkor töröl kulcsot, ha az értéke megegyezik a megadott feltétellel
  • CLIENT LIST szűrés: részletes szűrés flag, név, IP és más paraméterek szerint

Deprecated parancsok visszaállítása

A projekt 25 korábban elavult parancsot újraaktivált, hogy a kompatibilitást és rugalmasságot növelje.

Teljes kompatibilitás és stabilitás

Valkey 9.0 már elérhető binárisokként, konténerekben és forráskódként, a disztribúciós csomagok hamarosan érkeznek. A Valkey 9.0 teljes mértékben kompatibilis marad a Redis OSS (Open Source Software) 7.2.4 verziójával, így a felhasználók zökkenőmentesen tudnak áttérni az új verzióra. A letöltés és további részletek elérhetők a Valkey GitHub oldalán.

Ez a verzió rendkívüli előrelépést jelent a Redis nyílt forráskódú világában, és a Valkey benchmark mérések alapján rendszeres tesztelésre került a CPU- és a memóriateljesítmény-tesztek során is.