Stop Answering the Same Question Twice: Interval-Aware Caching for Druid at Netflix Scale
Netflix developed an experimental caching layer to manage the high query load on Apache Druid by caching older data and only querying new data, significantly reducing the load and improving performance during high-demand events.
MAIN POINTS
- Netflix's Druid database handles over 10 trillion rows, ingesting up to 15 million events per second.
- Repetitive queries from dashboards create a scaling concern, especially during high-profile events.
- A new caching service remembers older data, reducing the need for redundant queries.
- Exponential TTLs and bucketing ensure efficient caching and retrieval of time-series data.
TAKEAWAYS
- The caching layer reduces query load on Druid by serving most identical queries as full hits.
- Implementing the cache led to a 33% drop in queries to Druid and a 66% improvement in query times.
- The cache uses a two-level map structure with independent TTLs, improving efficiency.
- Future plans include integrating interval-aware caching directly into Druid for broader community benefits.