Que percentagem dos dados gerais do Facebook está em cache no seu cluster memcached?
Memcached deve ser usado para todos os dados em cache. Let's estimam o tamanho total disso. Há 1bln de usuários diariamente no Facebook. Qual é o número médio de posts/comentários por pessoa? Nós só podemos adivinhar. A experiência do meu amigo do Facebook's é cerca de 20, então deixe's ficar com ela como nós não't temos uma aproximação melhor. Qual é o tamanho médio de um post/comentário? Que seja de 1K pelo mesmo motivo. Conteúdo grande como fotos não'não tem que estar em memcached. Pequenos pedaços de conteúdo, por exemplo, likes são insignificantes. Além disso, temos de guardar em cache todas as relações entre os posts/comentários e as pessoas e guardar também o gráfico dos amigos. O número médio de amigos por pessoa deve ser cerca de 300 e o número médio de leitores de um post/comentário deve ser cerca de 1000 (novamente, pelas mesmas razões). O tamanho de uma relação deve ser equivalente ao tamanho de um ID que é cerca de 5 bytes (4 bytes são muito pequenos).
O total para comentários/posts é 1bln x 20 x 1k que é 20tb.
O total para o gráfico de amigos das pessoas ativas e para os relacionamentos é 1bln x 300 x 5 + 1bln x 20 x 1000 x 5 que é aproximadamente 100tb
Então o total é cerca de 120tb.
I'tenho certeza que eles querem ter pelo menos duas réplicas destes dados.
Então o total geral é 240tb.
É uma estimativa muito aproximada.
Artigos semelhantes
- Quando preciso colocar um cache de memória como Redis ou Memcached na frente da camada de banco de dados para o backend?
- Como o token de aluguel resolve o problema do stale sets nos servidores memcached do Facebook?
- Um HDD de 256 MB de cache é significativamente mais rápido do que um HDD de 64 MB de cache?
- Qual é a diferença entre um cache SLC e um cache DRAM em SSDs?