{"type":"excalidraw","version":2,"source":"https://AwesomeSystemDesign.dev","elements":[{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-1"}],"updated":0,"link":null,"locked":false,"id":"shape-0","type":"rectangle","seed":41,"x":16,"y":16,"width":288,"height":93.2,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-1","type":"text","seed":114,"x":36,"y":34,"width":248,"height":57.2,"fontSize":22,"fontFamily":1,"text":"How to Shard the\nGraph Store","originalText":"How to Shard the\nGraph Store","textAlign":"left","verticalAlign":"middle","containerId":"shape-0","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-3"}],"updated":0,"link":null,"locked":false,"id":"shape-2","type":"rectangle","seed":187,"x":16,"y":153.2,"width":288,"height":293.40000000000003,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-3","type":"text","seed":260,"x":36,"y":171.2,"width":248,"height":257.40000000000003,"fontSize":22,"fontFamily":1,"text":"Challenge: Graph\ntraversal crosses\nshards\nAlice (shard 1) → Bob\n(shard 7) → Charlie\n(shard 3)\n3 network hops for\none BFS step =\nlatency accumulates","originalText":"Challenge: Graph\ntraversal crosses\nshards\nAlice (shard 1) → Bob\n(shard 7) → Charlie\n(shard 3)\n3 network hops for\none BFS step =\nlatency accumulates","textAlign":"left","verticalAlign":"middle","containerId":"shape-2","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#a68a53","backgroundColor":"#fff7e6","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-5"}],"updated":0,"link":null,"locked":false,"id":"shape-4","type":"rectangle","seed":333,"x":16,"y":490.6,"width":288,"height":379.2,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-5","type":"text","seed":406,"x":36,"y":508.6,"width":248,"height":343.2,"fontSize":22,"fontFamily":1,"text":"Option A:\nHash-Based Sharding\n(by user_id)\nuser_id % N = shard\nSimple, even\ndistribution\nTraversal almost\nalways crosses\nshards\nMutual connections:\n2 random shard\nreads","originalText":"Option A:\nHash-Based Sharding\n(by user_id)\nuser_id % N = shard\nSimple, even\ndistribution\nTraversal almost\nalways crosses\nshards\nMutual connections:\n2 random shard\nreads","textAlign":"left","verticalAlign":"middle","containerId":"shape-4","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#9180ac","backgroundColor":"#f4effb","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-7"}],"updated":0,"link":null,"locked":false,"id":"shape-6","type":"rectangle","seed":479,"x":16,"y":913.8,"width":288,"height":465,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-7","type":"text","seed":552,"x":36,"y":931.8,"width":248,"height":429,"fontSize":22,"fontFamily":1,"text":"Option B:\nSocial-Cluster\nSharding\nUsers in the same\nsocial cluster → same\nshard\n(use graph\npartitioning: METIS\nalgorithm)\nReduces cross-shard\ntraversals by ~40%\nExpensive to\nrebalance, clusters\nevolve\nUneven shard sizes","originalText":"Option B:\nSocial-Cluster\nSharding\nUsers in the same\nsocial cluster → same\nshard\n(use graph\npartitioning: METIS\nalgorithm)\nReduces cross-shard\ntraversals by ~40%\nExpensive to\nrebalance, clusters\nevolve\nUneven shard sizes","textAlign":"left","verticalAlign":"middle","containerId":"shape-6","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-9"}],"updated":0,"link":null,"locked":false,"id":"shape-8","type":"rectangle","seed":625,"x":16,"y":1422.8,"width":288,"height":522.2,"customData":{"revealStep":5}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-9","type":"text","seed":698,"x":36,"y":1440.8,"width":248,"height":486.2,"fontSize":22,"fontFamily":1,"text":"Option C: Hash\nSharding + Adjacency\nList Replication\nShard by hash\n(simple, even)\nBut: replicate\nadjacency lists to\nrequesting service's\ncache\n→ First request:\ncross-shard fetch +\ncache\n→ Subsequent: local\ncache hit\nSimple sharding +\nfast traversal after\nwarm-up","originalText":"Option C: Hash\nSharding + Adjacency\nList Replication\nShard by hash\n(simple, even)\nBut: replicate\nadjacency lists to\nrequesting service's\ncache\n→ First request:\ncross-shard fetch +\ncache\n→ Subsequent: local\ncache hit\nSimple sharding +\nfast traversal after\nwarm-up","textAlign":"left","verticalAlign":"middle","containerId":"shape-8","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":5}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-6"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-11"}],"updated":0,"link":null,"locked":false,"id":"shape-10","type":"rectangle","seed":771,"x":16,"y":1989,"width":288,"height":264.8,"customData":{"revealStep":6}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-6"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-11","type":"text","seed":844,"x":36,"y":2007,"width":248,"height":228.8,"fontSize":22,"fontFamily":1,"text":"Recommendation:\nOption C\nHash sharding for\nsimplicity +\naggressive caching\nThe adjacency list\nIS the cache (4 TB\nfits in cluster RAM)","originalText":"Recommendation:\nOption C\nHash sharding for\nsimplicity +\naggressive caching\nThe adjacency list\nIS the cache (4 TB\nfits in cluster RAM)","textAlign":"left","verticalAlign":"middle","containerId":"shape-10","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":6}}],"appState":{"viewBackgroundColor":"#fbfbf8","gridSize":null},"files":{}}