A motorháztető alatt

Többszálú architektúra

A HotKV™ a hálózati I/O-t és a parancsvégrehajtást is minden magon futtatja, egyetlen közös tárolón. Minden munkaszál a saját kapcsolatainak parancsait olvassa, értelmezi és hajtja végre, így egyetlen példány a teljes gépet kihasználja, az áteresztőképesség pedig együtt nő a rendelkezésre bocsátott magok számával.

  • 300 alapparancs
  • 170+ AI- és enterprise-parancs
  • RESP2 / RESP3
  • C++20
  • Linux x86_64 · ARM64
Minden mag

Valódi párhuzamosság

Minden munkaszál a saját kapcsolatainak parancsait hajtja végre, egyidejűleg. Nincs egyetlen parancsszál, amelyet telíteni lehetne, így az áteresztőképesség a magok számával nő.

Kulcsonként

Finomszemcsés párhuzamosság

A kulcstér úgy van felosztva, hogy a különböző kulcsokon futó parancsok egyszerre futnak, és ritkán várnak egymásra.

Nincs GC

Kiszámítható késleltetés

Natív C++ motor, szemétgyűjtő és stop-the-world szünetek nélkül. A pillanatképek elágaztatott folyamat helyett háttérszálon készülnek, így a mentés nem duplázza meg a memóriát.

A forró útvonal

Egy parancs élete

Minden kérés ugyanazon a négy szakaszon megy át, azon a magon, amelyik fogadta.

01

Értelmezés

Beolvassa a kérést, a részleges olvasásokat is. A HotKV beszéli a RESP2-t, a RESP3-at és az inline parancsokat, a protokollváltás a HELLO-n keresztül történik.

02

Elosztás

Megkeresi a parancsot, és a végrehajtás megkezdése előtt ellenőrzi az aritását, a jelzőit és a kulcspozíciókat.

03

Végrehajtás

Lefuttatja a parancsot a kulcsain. A lejárt kulcsok eltávolítása az elérésükkor és háttérbeli söpréssel történik.

04

Válasz

A választ abban a protokollverzióban küldi el, amelyet a kliens egyeztetett.

A motorba építve

Több mint gyorsítótár

Ugyanez a párhuzamos motor 300 alapparancsot, nyolc kiürítési szabályt és az alábbi alrendszereket kínálja, a licencelt csomagokon pedig több mint 170 AI- és enterprise-parancsot. Nincs szükség utólag illesztett modulokra.

Perzisztencia

Pillanatképek + AOF

Atomikusan írt bináris pillanatképek, valamint hozzáfűzéses fájl beállítható fsync móddal (always, everysec, no) és BGREWRITEAOF tömörítéssel.

Szkriptelés

Lua 5.4, homokozóban

Az EVAL és az EVALSHA atomikusan futtat szkripteket egy homokozóba zárt Lua 5.4 futtatókörnyezetben a hotkv.call() segítségével, a redis.call() pedig kompatibilitási aliasként megmaradt. Elnevezett függvénykönyvtárak a FUNCTION és az FCALL révén érkeznek.

Vektorkeresés

HNSW-indexek

A VSIM parancsok hozzávetőleges legközelebbi szomszéd keresést nyújtanak HNSW-indexeken koszinusz-, L2- és belső szorzat alapú távolsággal, címkeszűrt lekérdezésekkel együtt.

Valószínűségi

Vázlatok és sebességkorlátozás

HyperLogLog, Bloom-szűrők, Count-Min Sketch és Top-K nehézhitter-követés, valamint szerveroldali GCRA sebességkorlátozás burst-vezérléssel. Nincs szükség kliensoldali matematikára.

Megfigyelhetőség

Prometheus-natív

Egy beépített HTTP metrikavégpont (a metrics-port beállításáig kikapcsolva) parancsonkénti hívásszámokat és késleltetést tesz közzé. A LATENCY HISTOGRAM és az INFO latencystats a p50, p99 és p99.9 értékeket jelenti, a HOTKEYS pedig rangsorolja a leggyakrabban elért kulcsokat.

Biztonság

ACL-ek + TLS

Felhasználónkénti hozzáférés-vezérlés korlátozza a parancsokat, kulcsokat és csatornákat, hashelt jelszavakkal. A TLS a folyamaton belül végződik, a kliens-, valamint a klaszter- és replikációs kapcsolatoknál is. Az On-Premise szerepköröket ad LDAP- és OpenID Connect egyszeri bejelentkezéssel.

Dolgoztasson meg minden magot

Indítson felügyelt példányt a HotKV Cloudon, vagy futtassa a HotKV-t a saját adatközpontjában on-premise licenccel. Ugyanaz a motor, ugyanaz az architektúra, minden mag.

300 alapparancs170+ AI- és enterprise-parancsRESP2 / RESP3C++20Linux x86_64 · ARM64