Design a geo-distributed Analytics System
Last updated: October 13, 2025
Quick Overview
Design a geo-distributed analytics system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
Cockroach Labs
System Design
Software Engineer
Cockroach Labs
October 13, 2025Software Engineer
Onsite
System Design
Easy
210
6
3,138 solved
Design a geo-distributed analytics system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
Cockroach Labs asks this during the Onsite to assess your understanding of the full ML lifecycle. They want to see how you translate a business problem into an ML objective, design the feature pipeline, and plan for model monitoring and retraining.
What the Interviewer Expects
- Map the business problem to a concrete ML objective
- Propose reasonable features and a baseline model
- Discuss basic model evaluation metrics
- Outline a simple serving architecture
Key Topics to Cover
Feedback loops and model retraining
Data collection and labeling strategy
Training pipeline and infrastructure
Feature engineering and feature stores
Model selection and architecture
Online vs offline evaluation
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How would you handle a 10x increase in prediction requests?
- How would you debug a model that works well offline but poorly online?
- How would you run A/B tests on different model versions?
Practice a Similar Problem on Codemia
Solve a related problem with our interactive workspace, get AI feedback, and view detailed solutions.
Solve on CodemiaSample Answer
Requirements
Functional Requirements:
- Support for real-time data ingestion from multiple geographical locations.
- Ability to perform analytics queries across distributed data sets with low latency.
- Pro...
Capacity Estimation
To estimate capacity:
- Assume each request involves querying data and returning results, averaging 500 KB of data per request.
- If we handle 10 million requests per day, this translates to:
- Dail...
Submit Your Answer
Markdown supported