System Design
Enterprise Research Assistant
Asked by:Cohere
searchcachingconsistencyevent_drivenstorage
Problem Overview & Requirements
Design an access-aware research assistant that retrieves internal and external evidence, synthesizes cited reports, and invalidates unauthorized results.
Key Pillars: High Availability, Low Latency, Scalability, Fault Tolerance.
Topics & Components: search, caching, consistency, event_driven, storage.
System Design Breakdown
1. Requirements & Scope
Functional & non-functional requirements, DAU/MAU estimates, read/write throughput.
2. High Level Architecture
API Gateway, Load Balancers, Application Microservices, Caching Layer & Message Queue.
3. Data Model & Storage
SQL vs NoSQL selection, schema design, sharding keys, indexing, and replication strategy.
4. Bottlenecks & Trade-offs
CAP theorem trade-offs, consistency models, rate limiting, and cache invalidation strategies.