Fraud and risk scoring
Card velocity, device age and account history are read at checkout, in the request path, before the payment is approved.
Typed features for users, items and sessions, written by your pipelines and read by your models at inference time, with their age attached.
A typed group. Wrong types are rejected at write time.
An animated walkthrough with real HotKV commands and example replies. Click any step to jump to it.
A model in production is only as good as the features it sees at inference time. Offline warehouses are too slow to query per request, and a plain key-value store has no schema, so a pipeline bug that writes text into a numeric feature is discovered by the model, not by the store.
Feature groups in HotKV have a typed schema. Streaming jobs write fresh values, batch jobs backfill with their own timestamps, and the model server reads one entity or a whole batch in a single call. Each read returns when the entity was last updated and how old it is, so stale features can be detected.
A typed group. Wrong types are rejected at write time.
FEATURE.CREATE user_features "Signals for scoring" SCHEMA age int64 ctr double country stringThe streaming job updates features as events arrive.
FEATURE.SET user_features user:42 ctr 0.051 country DEBatch jobs stamp entities with the time the values were true, not the time they were loaded.
FEATURE.SETAT user_features user:42 1790985600123 age 31The model server reads the user's features, with the update time and age in milliseconds.
FEATURE.GET user_features user:42Rank a page of candidates with one call.
FEATURE.BATCH user_features user:42 user:77 user:91 FEATURES ctrCard velocity, device age and account history are read at checkout, in the request path, before the payment is approved.
Click-through rates and recent interests are read for every candidate on a page in a single batch call.
Demand and inventory features are streamed in continuously and read by the pricing model on every quote.
int64, double and string features. Writes with the wrong type are rejected.
FEATURE.CREATEFEATURE.SCHEMAWrite with the current time or with the time the values were true.
FEATURE.SETFEATURE.SETATEach read returns the entity's update time and age.
FEATURE.GETMany entities, selected features, one call.
FEATURE.BATCHFEATURE.STATSIt is the online side, for low-latency reads at inference time. Training data can still come from your warehouse, with backfills written into HotKV with FEATURE.SETAT.
Every FEATURE.GET returns the last update time and the age in milliseconds, so the model server can reject or flag old values.
The feature store is part of the Performance and Scale plans.
HotKV speaks the Redis protocol, so you can point an existing client at it and run these same commands.