Adding fast search and real-time updates to a data-heavy product
Confidential SaaS client
Users needed to search across large, fast-changing datasets, but the existing database-driven search was too slow to be usable.
Search: seconds → <100ms
Problem
Search queries hit the primary database directly, competing with production traffic and returning results only after several seconds.
Challenges
- Search queries hit the primary database directly, competing with production traffic
- Results took several seconds to return, making search functionally unusable
- Needed real-time updates without adding operational complexity the team couldn't support long-term
Solution
Introduced a dedicated search index with a sync pipeline keeping it up to date, and added caching for the read-heavy endpoints.
Architecture
- A dedicated search index kept in sync with the primary data store via a sync pipeline
- Caching added specifically for the read-heavy endpoints driving the slowdown
Implementation
- Sync pipeline built to keep the index current without manual reindexing
- Rolled out alongside the existing database-driven search until the new path was proven
Results
Search response times moved from seconds to sub-100ms, and primary database load dropped enough to defer a planned infrastructure upgrade.
Business impact
Search moved from a seconds-long wait to sub-100ms, and the reduced load on the primary database let the team defer a planned infrastructure upgrade they'd otherwise have paid for sooner.
Have a similar problem?
If any of this looks familiar, let's talk about what's actually going on with your product.
