Code Room
System designHard
Question
Design a horizontally sharded relational database for a payments ledger handling 80k writes/sec and 200k reads/sec, with 12 TB of account data growing 1 TB/month. Each transaction must be strongly consistent within a single account, and you must support online resharding without a maintenance window. How do you choose the shard key, route queries, and split a hot shard while it serves traffic?
What a strong answer looks like
Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.
Learn the concepts
Loading whiteboard…
Run or narrate your approach, then ask the coach.