Faz parte do material de System Design que eu montei a partir das minhas entrevistas. Abaixo, a resposta em inglês e, quando existe, a pegadinha mais comum.
First identify the constraint: transaction contention, indexes, storage throughput, or external work. Batching, reducing unnecessary writes, and better keys can help.
A durable queue can smooth bursts when asynchronous completion is acceptable. It does not increase the database's sustained write capacity. Monitor backlog age and apply admission control when arrivals exceed service capacity.
Partitioning or sharding distributes work by a key, but adds hot-key, transaction, query, and resharding challenges. Choose it when the workload requires that distribution, not because every design must eventually shard.
Ler é o primeiro passo. No app, essa pergunta vira flashcard com repetição espaçada, e o módulo tem quiz e simulado para testar o que ficou.
Treinar essa pergunta no app