# Feature Store

> Centralized system for computing, versioning, and serving features consistently

- **Category**: Machine Learning
- **Subcategory**: Data and Feature Representation
- **Canonical URL**: https://designpattern.fyi/patterns/feature-store/

---

## Description
**Intent**: Centralize feature engineering to avoid duplication, ensure consistency between training and serving, and enable feature discovery and reuse across teams.

**Context**: Good feature engineering is expensive but without a shared system, teams reinvent similar features independently, feature logic drifts between training and serving, and there's no way to discover what already exists.

**Solution**: A centralized system that computes, documents, versions, and serves features consistently for both offline use (bulk retrieval for training datasets) and online use (low-latency single-record lookups at serving time). Feature logic is defined once and guaranteed identical between what a model trained on and what it sees live.



## Use Cases
- Organizations running multiple models or teams that could share features
- Systems where train/serve feature consistency has caused bugs
- Expensive-to-compute features that benefit from centralization
- Teams needing feature discovery and documentation






## Trade-offs


### Advantages

- Eliminates duplicate feature engineering across teams

- Guarantees training/serving feature consistency

- Enables feature discovery and reuse

- Provides point-in-time correctness for historical training data




### Considerations & Drawbacks

- Genuine infrastructure investment and operational cost

- Overkill for single, simple models with no reuse

- Requires ongoing maintenance and monitoring

- Additional system to learn and operate







---
**Reference**: [Original Source](https://github.com/GoogleCloudPlatform/ml-design-patterns)

