Related System Design
Design a Key-Value Store
Design a distributed key-value store like Dynamo or Cassandra with high availability.
Design a GFS- or HDFS-style file system that stores petabytes of large files across thousands of servers in one data center for batch processing.
Design a distributed file system for one data center. Thousands of commodity servers store petabytes of large files that are mostly written once by appending and then read sequentially by batch jobs, and disks and servers fail every day. How would you design it?
Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.
graph LR
A["Design a Distributed File System"]
A --> F1["Metadata master and client metadata caching"]
A --> F2["Chunk size, leases, and the write pipeline"]
A --> F3["Append semantics and the consistency model"]
A --> F4["Rack-aware placement, heartbeats, re-replication, and rebalancing"]
A --> F5["Master durability, failover, and the small-files problem"]The interviewer probes these areas, and the report grades the interview against them.
Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.
Continue to DashboardContinue preparing
Related System Design
Design a distributed key-value store like Dynamo or Cassandra with high availability.
Related System Design
Design a real-time chat application like WhatsApp or Facebook Messenger.
Related System Design
Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.
Related System Design
Design a high-throughput distributed message queue similar to Apache Kafka, with durable replay from stored offsets.