Feature Store  ·  View 07 of 21  ·  Structure

Containers and Components

One control plane, three data planes, and four stores — because there are four different mutabilities to hold.

Editable source SVG draw.io All views
AWS eu-west-1 — Feature Store Control plane Registry API Compiler offline + online plan Catalogue UI Registry Aurora PostgreSQL Lineage graph Neptune Data plane — serving Serving API gRPC, EKS On-demand runtime sandboxed Read cache ElastiCache, short TTL Online store DynamoDB Serving logger Firehose Data plane — materialisation Stream processor Managed Flink Batch engine EMR Serverless Backfill runner isolated pool Contract guard Data plane — offline Offline store S3 + Iceberg Table catalog AWS Glue Training-set service EMR Spark Training-set artefacts S3 Event streams Kinesis Analytics warehouse Redshift Model services SageMaker training publish version consume latest append read Feature Store — Containers and Components Application we own Data store Queue / topic Security / platform External / third party synchronous event / async batch Four stores because there are four mutabilities. Serving and materialisation never share capacity. Warehouse reads and the online rebuild are omitted here — views 09 and 10 carry them. v 1.0 · owner Data Platform Architecture · date 2026-09

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.