In Feast, an open-source feature store, you declare an entity (for example a driver with the key driver_id), a data source with a timestamp column, and a FeatureView that lists the features, such as a conversion rate and average daily trips. A config file names the offline store, for example Parquet files, and the online store, for example Redis. Training calls get_historical_features with labelled events; the serving API calls get_online_features with a driver id. The same feature names appear in both calls, backed by the same definition.
The online read has to fit inside a request budget. In an example budget of 50 milliseconds from request to score, about 8 go to network and authentication, 2 to the online store read, 3 to assembling the feature vector, 28 to running the model, and 9 to post-processing. A live join or aggregation inside the request could cost tens of milliseconds and vary under load, which is why the heavy work is done ahead of time. The store also returns features in the same order the model saw in training, which removes another quiet source of mismatch.
The registry pays off as teams grow. One team defines user_7d_order_count once, and a fraud model, a recommender and a churn model all read it by name. Because the registry knows which models use which features, a schema change in an upstream table shows you in advance which live models it will affect.