Global photo store

DesignHard45 minMeta style

Your task

Design a global photo store for a service holding hundreds of billions of photos (Facebook-Haystack scale). Constraints: photos are small (tens of KB to a few MB), the workload is overwhelmingly read-heavy with a long tail, the killer problem is metadata/inode overhead and disk seeks at this object count, you serve globally with low latency, and storage cost per photo must be tiny. Cover the storage layout, the read path, and replication.

It covers

  • Small object packing
  • Geo replication
  • Haystack