How Dropbox built the feature store powering real-time ML ranking in Dash
Dropbox Dash needed a feature store for real-time ML ranking across vast numbers of work documents, but their infrastructure split across on-premises and Spark-native cloud environments ruled out off-the-shelf solutions. The system had to handle massive parallel feature lookups while meeting strict sub-100ms latency budgets and near-real-time freshness requirements.
The initial Python-based feature serving layer, built on the Feast SDK, hit CPU-bound JSON parsing bottlenecks and Python's Global Interpreter Lock under high concurrency; switching to multiple processes temporarily improved latency but introduced coordination overhead that capped scalability.
The rewritten Go serving layer handles thousands of requests per second with p95 latencies in the ~25–35ms range; intelligent change detection cut batch update times from more than an hour to under five minutes and reduced write volumes from hundreds of millions to under one million records per run.
Show all 7 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
The rewritten Go serving layer handles thousands of requests per second with p95 latencies in the ~25–35ms range; intelligent change detection cut batch update times from more than an hour to under five minutes and re…
What tools did this team use?
Feast, Dynovault, Go, Spark, PySpark, AWS DynamoDB.
What results were reported?
Feature serving latency budget: sub-100ms; Dynovault client-side latency: ~20ms; Go service processing overhead: ~5–10ms; P95 feature serving latency: ~25–35ms (source-reported, not independently verified).
What failed first in this deployment?
The initial Python-based feature serving layer, built on the Feast SDK, hit CPU-bound JSON parsing bottlenecks and Python's Global Interpreter Lock under high concurrency; switching to multiple processes temporarily i…
How is this back office ops AI workflow structured?
User query triggers ranking → Fan-out feature lookups → Dynovault feature retrieval → Go service feature serving → Real-time signal ingestion.