How Feature Stores Work

Simba Khadder, Featureform30:33 · Oct 2024 · 95 views
Thumbnail for How Feature Stores Work Watch on YouTube
TL;DR
  1. 1

    Feature stores connect exploratory feature work with production pipelines, where data changes and features may need batch, streaming, or request-time processing.

  2. 2

    A feature store can mean a literal feature table, a physical feature platform, or a virtual feature store that defines transformations while using existing compute and storage systems.

  3. 3

    Featureform lets data scientists define features with SQL or dataframe code while it handles backfills, materialization, monitoring, metadata, and production pipeline execution underneath.

Summary

Simba Khadder argues that feature engineering is difficult because the clean CSVs used in introductory machine learning do not exist in production. Data scientists often work in notebooks with pandas or similar tools, while production requires changing data, cached online features, streaming and batch pipelines, backfills, monitoring, and governance. Feature stores address the gap between experimentation and deployment. Khadder distinguishes literal stores that mainly hold feature tables, physical feature platforms that also manage transformations, and virtual stores that use existing engines through a plug-in architecture. Featureform is presented as a virtual feature store. Data scientists define transformations with SQL or dataframe code, while Kubernetes jobs, open formats, Iceberg, and underlying compute systems handle the operational work. Khadder also explains how a shared representation can support historical backfills and ongoing updates. His examples make the practical problem clear: teams often build fragile, undocumented paths from notebooks to production, and users may avoid platforms whose workflow does not fit their work.

Key ideas
01:13

Production features are far more complicated than notebook features

Khadder begins with the contrast between introductory machine learning exercises and real systems. In a course, the data arrives as a clean CSV with the needed columns. At a company, much of the work involves turning messy data from a data swamp into usable inputs. A notebook can rerun a static experiment, but production data changes continuously. Low-latency systems such as recommenders and fraud models often need precomputed and cached features. Other features arrive with the request, such as a comment being checked for spam. The production system therefore needs batch pipelines, streaming pipelines, backfills, and different deployment code from the original notebook.

06:03

Feature stores close the gap between experimentation and deployment

Khadder describes a gap between the fast, interactive notebook workflow and production data pipelines. Data scientists can write SQL and dataframe transformations, but operating Spark, handling backpressure, monitoring jobs, and managing incremental updates requires a different skill set. Sending a notebook to a data engineering team creates another problem because feature definitions keep changing and may compete with other work. His preferred outcome is for data scientists to build production-grade pipelines without having to become experts in every data engineering system.

09:45

Feature metadata and monitoring matter after deployment

A deployed feature pipeline can still be difficult to understand. Khadder describes production environments containing untitled notebooks, versioned tables, shell scripts, and ad hoc Spark segments. This makes lineage and maintenance difficult. Drift adds another risk. A feature's values may change over time, or the training distribution may differ from what the model receives in production. His example compares a training set with an average user age of 50 against production recommendations that mostly reach 20-year-olds. Governance can add another delay when a team needs legal approval before releasing a feature.

13:28

A literal feature store mainly centralizes feature tables

Khadder says the name feature store can suggest a glorified cache, and some products take that literal approach. In a literal store, the feature is built elsewhere and stored as a table or column. He uses the Databricks feature store as an example. This provides a common place to store features and can make them available in production, but it leaves the transformation work outside the store. Teams still need to solve how source data becomes training data and inference data.

16:16

A virtual feature store keeps the definition with the feature

Khadder contrasts table storage with Featureform's approach, where a feature is defined by its SQL or dataframe logic. Orchestration, monitoring, materialization, and metadata are attached to that definition. He describes this as a virtual feature store with a plug-in architecture. Data scientists continue to write SQL or PySpark, while the system runs the work on underlying engines. The design avoids forcing users into a proprietary compute engine or custom language. Khadder compares the declarative idea to Terraform, applied to feature definitions.

18:04

Open formats separate storage from compute

Featureform runs as a set of services in Kubernetes and uses jobs for work such as moving data, handling metadata, and compaction. Khadder says open formats make the virtual architecture possible because storage and compute can be separated. With Iceberg, data can remain in S3 while indexes, partitions, and file selection help an engine read the needed data. The approach can work with different compute engines, while the platform applies its tuning knowledge to those indexes. He also says incremental data in Iceberg makes it possible to treat batch processing and streaming updates as parts of one workflow.

22:22

One feature definition can drive backfills and ongoing updates

In the question session, Khadder gives the example of a feature containing a user's favorite item per day. Training requires historical values, while production requires the feature to keep updating as new data arrives. Teams commonly build the backfill and ongoing update paths separately. With Featureform, the data scientist writes the SQL query and registers the feature. The system handles the transition from historical processing to continued updates, including the interaction between Iceberg and Kafka. This removes operational steps that would otherwise require a data engineer to manage.

27:48

Platform design fails when users avoid the workflow

Khadder describes a company where data scientists used SSH access to several servers to download Parquet files because the approved data path did not fit their notebook workflow. The workaround took hours because of slow network calls. He uses the story to argue that an MLOps platform has to work for its actual users. A platform can have theoretical value and still provide no value if people do not use it. He is direct about the product and user-experience problem rather than treating adoption as a simple training issue.

"What we want is a way to democratize it so that data scientists themselves can build their own data pipelines, production grade data pipelines, but they don't need to be experts in Spark."09:21
Who should watch
  • You are moving feature logic from notebooks into production and need to understand which operational work the platform must handle.
  • Your data science and data engineering teams disagree about who owns feature pipelines, backfills, monitoring, or deployment.
  • You are evaluating a feature store and want to distinguish a table of feature values from a system that defines and runs transformations.