System Design · Karat · Easy
Consider a service that lets users store and share their photos. To spread the data across machines, the current design partitions photos according to the uploader's username: every letter of the alphabet is mapped to a dedicated server, so all photos belonging to users whose names start with that letter live on that one machine. Evaluate this partitioning scheme. Point out the weaknesses and failure modes it introduces, and then explain what changes you would make to the…