Sotto il cofano

Architettura multithread

HotKV™ esegue sia l'I/O di rete sia l'esecuzione dei comandi su ogni core, su un unico store condiviso. Ogni thread worker legge, analizza ed esegue i comandi delle proprie connessioni, così una singola istanza usa l'intera macchina e il throughput cresce con i core che le assegni.

  • 300 comandi core
  • Oltre 170 comandi di IA ed enterprise
  • RESP2 / RESP3
  • C++20
  • Linux x86_64 · ARM64
Tutti i core

Vero parallelismo

Ogni worker esegue in parallelo i comandi delle proprie connessioni. Non esiste un singolo thread di comando da saturare, quindi il throughput cresce con il numero di core.

Per chiave

Concorrenza a grana fine

Il keyspace è diviso in modo che i comandi su chiavi diverse vengano eseguiti contemporaneamente e raramente si aspettino a vicenda.

Senza GC

Latenza prevedibile

Un motore C++ nativo senza garbage collector e senza pause stop-the-world. Gli snapshot vengono scritti su un thread in background invece che da un processo con fork, quindi il salvataggio non raddoppia la memoria.

Il percorso critico

Il ciclo di vita di un comando

Ogni richiesta attraversa le stesse quattro fasi, sul core che l'ha ricevuta.

01

Parsing

Legge la richiesta, comprese le letture parziali. HotKV parla RESP2, RESP3 e comandi inline, con cambio di protocollo tramite HELLO.

02

Smistamento

Trova il comando e ne verifica arity, flag e posizioni delle chiavi prima che l'esecuzione abbia inizio.

03

Esecuzione

Esegue il comando sulle sue chiavi. Le chiavi scadute vengono rimosse quando vengono toccate e da una scansione periodica in background.

04

Risposta

Invia la risposta nella versione del protocollo negoziata dal client.

Integrato nel motore

Più di una cache

Lo stesso motore parallelo offre 300 comandi core, otto policy di eviction e i sottosistemi qui sotto, più oltre 170 comandi di IA ed enterprise nei piani con licenza. Nessun modulo da aggiungere.

Persistenza

Snapshot + AOF

Snapshot binari scritti in modo atomico, più un append-only file con fsync configurabile (always, everysec, no) e compattazione con BGREWRITEAOF.

Scripting

Lua 5.4 in sandbox

EVAL ed EVALSHA eseguono script in modo atomico in un runtime Lua 5.4 in sandbox tramite hotkv.call(), con redis.call() mantenuto come alias di compatibilità. Le librerie di funzioni con nome sono disponibili tramite FUNCTION e FCALL.

Ricerca vettoriale

Indici HNSW

I comandi VSIM offrono la ricerca approssimata dei vicini più prossimi su indici HNSW, con distanza coseno, L2 e prodotto interno, comprese le query filtrate per tag.

Probabilistico

Sketch e rate limit

HyperLogLog, filtri di Bloom, Count-Min Sketch e tracciamento Top-K degli heavy hitter, più rate limiting GCRA lato server con controllo dei burst. Nessun calcolo lato client necessario.

Osservabilità

Nativo per Prometheus

Un endpoint di metriche HTTP integrato (disattivato finché non imposti metrics-port) espone conteggi delle chiamate e latenza per comando. LATENCY HISTOGRAM e INFO latencystats riportano p50, p99 e p99.9, e HOTKEYS classifica le tue chiavi più accedute.

Sicurezza

ACL + TLS

Il controllo degli accessi per utente delimita comandi, chiavi e canali, con password salvate come hash. TLS termina nel processo, per le connessioni dei client e per i collegamenti di cluster e replica. On-Premise aggiunge ruoli con single sign-on LDAP e OpenID Connect.

Metti al lavoro ogni core

Avvia un'istanza gestita su HotKV Cloud, oppure esegui HotKV nel tuo data center con una licenza on-premise. Stesso motore, stessa architettura, ogni core.

300 comandi coreOltre 170 comandi di IA ed enterpriseRESP2 / RESP3C++20Linux x86_64 · ARM64