Design: Social Graph Storage System
Design focuses on storage and query of social graph connections. User authentication, UI, and recommendation algorithms are out of scope.
Functional Requirements
Non-Functional Requirements
Jump into concepts and practice - no test required
Client | v Load Balancer | v API Servers (REST/gRPC) | v Cache Layer (Redis or Memcached) | v Graph Storage Cluster (e.g., Neo4j, JanusGraph with Cassandra) | v Replication & Backup Storage Monitoring & Alerting System (parallel)
{'Alice': ['Bob', 'Carol'], 'Bob': ['Alice'], 'Carol': ['Alice']}, what is the output of querying Alice's friends?