Feature Store · View 07 of 21 · Structure
Decisions
- Control plane and data plane are separate: the registry is small, strongly consistent and authoritative; the data planes are large, eventually consistent and rebuildable.
- Serving, materialisation and offline are three separate data planes with separate capacity so that a backfill cannot take a dinner-peak read with it.
- The read cache holds only values that are immutable within their own window, which is why it can exist at all without becoming a second staleness source.
Assumptions
- Aurora PostgreSQL for the registry, DynamoDB for the online store, S3 with Iceberg for the offline store, Managed Flink and EMR Serverless for compute.
- Lineage is a graph workload and gets a graph store rather than a join over the registry.
Deliberately omitted
- The warehouse read and the online rebuild are shown in views 09 and 10.
- Consumer traffic is shown on view 08, the integration surface.