Groww built a real-time stock screener handling 2+ million writes per minute using a single 4-core MySQL instance. The system uses in-memory aggregation to reduce database writes, CDN-based hash caching to handle 50K reads per minute, and a custom query language for extensible filtering. Key optimizations include buffering tick data in memory, selective persistence of minute-level aggregates, and 30-second CDN caching that reduced backend load by 80%. The modular architecture powers multiple screener types and enables rapid feature development.

7m read timeFrom tech.groww.in
Post cover image
Table of contents
Making a Real-Time Stock Screener in GrowwWhat Is a Stock Screener?Why Build a Real-Time Screener?Engineering Real Time Screener⚙️ How We Handled This Traffic With Minimal Resources✍️ Optimising Writes📖 Optimising Reads📉 Results🧱 Low-Level Design — Extensible & Modular Architecture📜 Custom Query Language⚙️ Generic Engine = Fast Feature Development🚀 Reusability Across Screeners

Sort: