Databricks' Feature Store now delivers a 200ms p99 end-to-end latency guarantee — measured from a raw event landing in Kafka to feature availability for model inference. For fraud detection and personalization systems that previously tolerated minutes-to-hours of feature lag from Spark batch jobs, this represents a structural shift in what a managed feature platform can deliver.

The architecture runs through four hops: events arrive in Kafka; Spark Real-Time Mode (RTM) on serverless Lakeflow Spark Delta Pipelines processes them continuously; updated aggregates flush to Lakebase via a streaming JDBC sink; Model Serving endpoints pull features from Lakebase at inference time. The key difference: RTM processes rows as they arrive rather than accumulating microbatches, removing the batch-boundary latency floor that made sub-second freshness impossible in earlier versions.

Four-hop pipeline: raw Kafka event → Spark RTM processing → Lakebase upsert → Model Serving feature read, delivering p99 ≤ 200 ms end-to-end.
FIG. 02 Four-hop pipeline: raw Kafka event → Spark RTM processing → Lakebase upsert → Model Serving feature read, delivering p99 ≤ 200 ms end-to-end. — Databricks Feature Store blog

State management uses per-node RocksDB instances. For a rolling 10-minute transaction sum — a canonical fraud signal — each incoming event hits the local RocksDB store, increments the total, enforces window expiry, and pushes the updated value to Lakebase. The read-increment-write stays in memory; only the feature value crosses the network. Checkpointing is amortized across events rather than blocking per-row, preserving the latency budget.

Per-event RocksDB state management for a rolling window aggregate (e.g., 10-minute transaction sum): read-increment-write stays in memory; only the feature value crosses the network.
FIG. 03 Per-event RocksDB state management for a rolling window aggregate (e.g., 10-minute transaction sum): read-increment-write stays in memory; only the feature value crosses the network. — Databricks Feature Store blog

Lakebase handles the write side. Small upserts from streaming aggregations create write-amplification traps for traditional storage. Lakebase's compute-storage separation handles this: high-throughput writes at streaming cadence without compaction pressure that degrades tail latencies in column-oriented formats.

Feature Store supports three window semantics. Tumbling windows align to wall-clock intervals, emitting only at boundaries — fresh at 12:10, stale until 12:20. Sliding windows overlap: a 10-minute window with 5-minute slide cuts staleness in half but persists the boundary problem. Rolling windows look backward from each event's timestamp with millisecond resolution, updating on every event. Fraud and personalization systems needing the 200ms SLA require rolling windows; tumbling windows at this cadence would waste the streaming investment.

Window TypeUpdate TriggerStaleness BehaviourSuitable for 200 ms SLA?
TumblingWall-clock boundary onlyFresh at boundary (e.g. 12:10), stale until next boundary (e.g. 12:20)No — wastes streaming investment
SlidingFixed slide interval (e.g. every 5 min)Staleness halved vs tumbling, but boundary problem persistsNo — boundary latency floor remains
RollingEvery incoming eventMillisecond resolution; updates on each event's timestampYes — required for 200 ms SLA
FIG. 04 Feature Store window semantics: update behaviour, staleness profile, and 200 ms SLA suitability — Databricks Feature Store blog

One feature definition now powers both offline batch and online streaming pipelines. Previously, fraud teams maintained separate batch jobs for baselines and bespoke streaming jobs for aggregations, each with its own infrastructure. Feature Store routes both through one definition and one framework — Spark RTM, Lakebase, and Model Serving orchestrated underneath. Production deployments will test whether this abstraction holds under schema evolution and backfills.

For architects evaluating real-time platforms, 200ms p99 anchors SLA conversations. The tradeoff: RocksDB-per-node state means horizontal scaling introduces coordination overhead when windows span multiple partitions. Assess this before committing to rolling-window aggregations at high cardinality.