Quale percentuale dei dati complessivi di Facebook è in cache nel suo cluster memcached?
Memcached dovrebbe essere usato per tutti i dati caldi. Stimiamo la dimensione totale di questo. Ci sono 1bln utenti al giorno su Facebook. Qual è il numero medio di post/commenti per persona? Possiamo solo indovinare. Dall'esperienza del mio amico di Facebook è di circa 20, quindi atteniamoci a questo dato che non abbiamo un'approssimazione migliore. Qual è la dimensione media di un post/commento? Facciamo che sia 1K per la stessa ragione. I contenuti di grandi dimensioni come le foto non hanno bisogno di essere in memcached. Piccoli pezzi di contenuto come i like sono trascurabili. Inoltre dobbiamo mettere in cache tutte le relazioni tra post/commenti e persone e mettere in cache anche il grafico degli amici. Il numero medio di amici per persona dovrebbe essere circa 300 e il numero medio di lettori di un post/commento dovrebbe essere circa 1000 (di nuovo, per le stesse ragioni). La dimensione di una relazione dovrebbe essere equivalente alla dimensione di un ID che è circa 5 byte (4 byte sono troppo piccoli).
Il totale per i commenti/post è 1bln x 20 x 1k che è 20tb.
Il totale per il grafico degli amici delle persone attive e per le relazioni è 1bln x 300 x 5 + 1bln x 20 x 1000 x 5 che è circa 100tb
Così il totale è circa 120tb.
Sono sicuro che vogliono avere almeno due repliche di questi dati.
Così il grande totale è 240tb.
È una stima molto approssimativa però.
Articoli simili
- In che modo il lease token risolve il problema dei set stantii nei server memcached di Facebook?
- Un HDD con 256mb di cache è significativamente più veloce di un HDD con 64mb di cache?
- Qual è la differenza tra una cache SLC e una cache DRAM negli SSD?
- Come viene sostituito il blocco della cache nella cache completamente associativa?