What a feature store is
What it is
A feature store is a shared system for defining, computing, storing and serving features. It has five parts:
- a registry: each feature's definition, owner, source and version;
- an offline store: full feature history, for building training data;
- an online store: the latest value per entity, for fast lookup at serving time;
- materialisation jobs that compute features and fill both stores;
- APIs: one to build point-in-time correct training sets, one to fetch features at serving time.
Why it matters
It solves three problems at once.
- Consistency: training and serving read the same definition, so values match.
- Correctness: training data uses only values known at each past moment.
- Reuse: a feature built for fraud can be found and used by the ETA team, instead of being rebuilt slightly differently.
In the real world: Uber's Michelangelo platform popularised the idea; today open-source Feast and products such as Tecton, Hopsworks, Databricks and the major clouds' ML services offer one.
Visual example
Feature storeTraining and serving read values produced by the same code.
Thinking a feature store is just a database. A key-value store holds the latest values; the hard parts are the shared definitions and the point-in-time training sets.
Practise it: Design a Recommendation System, Diagnose Training-Serving Skew, Design a Real-Time Fraud Detection System, Design an ML Feature Store