Meta / Facebook: TAO Graph Store, RocksDB Storage & WhatsApp Erlang Clusters
Architectures powering 3+ billion monthly users: TAO distributed social graph cache, RocksDB embedded log-structured storage, and WhatsApp’s 2.8M concurrent Erlang connection servers.
Meta structures its user domain as a graph of objects (nodes) and associations (edges). TAO (The Associations and Objects store) provides a geographically distributed, read-through cache layer over MySQL shards, handling billions of reads per second with eventual consistency.
TAO: Distributed Social Graph Cache
10+ billion reads/sec across master-follower geographically distributed tiersServing billions of graph queries (friends, likes, comments, tagged media) with sub-millisecond latency over relational storage.
Two-tier cache hierarchy: Leader cache instances coordinate writes to MySQL shards; Follower cache instances satisfy localized reads with asynchronous invalidation.
Eventual consistency for association queries vs massive read throughput with sub-millisecond latencies.
Describe social data as Objects (nodes with unique 64-bit IDs) and Associations (directed edges with timestamps and types) rather than flat relational tables.
WhatsApp: 2.8M TCP Connections on Erlang/FreeBSD
2+ billion users, 100+ billion messages per day with an engineering team of under 50Maintaining billions of persistent mobile WebSocket/TLS connections with minimal server footprint.
BEAM virtual machine lightweight processes (green threads) running on kernel-tuned FreeBSD network stacks.
Erlang functional language learning curve vs unparalleled per-box connection density (2M+ sockets per physical server).
Explain why BEAM actor model processes take only ~300 bytes of memory compared to ~1MB OS thread stacks.
Bronson et al., USENIX ATC • 2013
Pelkonen et al., VLDB • 2015
Ready to Practice Meta / Facebook-Style Systems?
Start with foundational networking, compute, and storage, and build up to complex distributed consensus.