Productspublished

Databricks Pushes Feature Stores From Batch Lag to 200ms Freshness

The company’s new streaming path targets decisions that change faster than scheduled data jobs can run. Its 200ms p99 figure is company-reported, and the operational trade-off is up to five minutes of replayed Kafka data after a failure.

By 3 min read
Databricks Pushes Feature Stores From Batch Lag to 200ms Freshness

Listen to this story

The audio brief

About 1:25
0:001:25
Read transcript
Databricks says its Feature Store can move a Kafka event into an online feature store in 200 milliseconds at the 99th percentile. That is a company-reported result, but it targets a real problem: some machine-learning decisions depend on what happened seconds ago, not on a data refresh from an hour earlier. The design uses a continuously running Spark Real-Time Mode pipeline to calculate rolling features, then writes updated values to Lakebase. Model Serving retrieves those values when a model is called. A rolling window keeps looking backward from each event, so a new transaction can immediately change a customer’s ten-minute spending total. That is different from a tumbling window, which waits for fixed interval boundaries, or a traditional microbatch job, which gathers events and processes them in batches. Databricks says Real-Time Mode processes rows concurrently, using local RocksDB state, rather than waiting for a microbatch to finish. Lakebase is meant to reduce the overhead of sending frequent, small updates to the online store. The trade-off appears during recovery: Databricks says the system maintains exactly-once guarantees, but after a failure it may replay up to five minutes of Kafka data. And the 200-millisecond figure measures Kafka arrival to feature availability—not the full time to make a model decision. The key question is whether that p99 holds across real customer workloads, event volumes, and feature definitions.

Story brief

3 key points

Databricks is repositioning Feature Store for continuously changing signals rather than only scheduled, historical features. Its Kafka-to-online-store path reportedly reaches 200ms freshness at the 99th percentile by combining Spark Real-Time Mode, Lakebase and Model Serving. The trade-off is operational: after a failure, the pipeline may replay up to five minutes of Kafka data, despite claimed exactly-once...

  1. 01

    Rolling windows update aggregates when events arrive or expire, unlike fixed tumbling or scheduled batch windows.

  2. 02

    The pipeline uses concurrent row processing and local RocksDB state instead of waiting for conventional microbatches.

  3. 03

    Databricks says Lakebase reduces overhead from frequent small upserts to the online feature store.

A model deciding whether to approve a payment may need a user’s transaction activity from moments earlier, not the last scheduled data refresh. Databricks says its Feature Store now moves an event from Kafka to its online feature store in 200 milliseconds at the 99th percentile, using a continuously running Spark pipeline, Lakebase storage and Model Serving retrieval. The claim puts the emphasis on a usually awkward part of machine-learning systems: keeping the data supplied at inference time as current as the event stream.

Scheduled Spark jobs remain suited to historical baseline features, but Databricks says they introduce lag measured in minutes or hours. That can be acceptable when a model needs a stable long-range profile. It is a poorer fit for a short window, such as a customer’s transaction total over the previous 10 minutes, where each new event can change the feature a fraud model should receive.

The new architecture starts with events in Kafka. A serverless Lakeflow Spark Delta Pipeline running Spark Real-Time Mode computes rolling aggregations, then sends updated values through a streaming JDBC sink to Lakebase, which serves as the online feature store. Model Serving endpoints retrieve the latest features from Lakebase when a model is invoked.

Feature Store supports tumbling, sliding and rolling aggregation windows. Tumbling windows emit values at fixed interval boundaries, while sliding windows overlap on a set schedule. A rolling window instead looks backward from each event timestamp, giving it millisecond-level resolution and allowing a fresh aggregate to move whenever a new event arrives or an older event expires.

Traditional microbatch streaming collects events into discrete batches, processes stages sequentially and checkpoints at batch boundaries. Databricks says Real-Time Mode instead runs stages concurrently and processes rows without waiting for a microbatch to finish. For rolling features, each incoming row updates a local RocksDB state store and emits the revised aggregate downstream; expiration removes an old event’s contribution and produces a corrected value.

The design choices behind the latency claim

  • Continuous row processing avoids waiting for a conventional microbatch to complete.
  • Lakebase is intended to limit write amplification from the frequent, small updates created by streaming aggregates.
  • Checkpoint planning and checkpoint work are amortized over longer intervals rather than imposed at every batch boundary.

The pipeline still needs durable state and recovery behavior. Databricks says Real-Time Mode maintains exactly-once processing guarantees while spreading checkpointing costs over longer intervals. Its stated trade-off is that, after a failure, the pipeline replays at most five minutes of Kafka data. The company presents that added replay volume as the price of lower steady-state latency.

The architecture joins feature computation, online storage and inference retrieval under one Databricks-managed path, reducing the need to assemble those components separately. The material open question is how the company-reported 200ms p99 result holds across customer workloads, event volumes and feature definitions. The stated figure measures arrival in Kafka through availability in the online feature store, rather than the model’s full decision time.

Sources

  1. databricks.comHow Databricks Feature Store serves features with sub-second freshness