Em um artigo do Bits do New York Times de 2012, Quentin Hardy atribui parte do sucesso do Facebook à engenharia de desempenho. O Friendster, fundado em 2002, sofria quedas frequentes e carregamentos de página lentos sob uso intenso e, seguindo a prática da época, colocava muitas informações em um único banco de dados.
O Facebook evitou isso, nas palavras do artigo, por acidente. Começou em Harvard, depois se expandiu para outras escolas da Ivy League, outras faculdades e então para o público. Mark Zuckerberg criou um banco de dados separado para cada faculdade e escreveu software para conectar pessoas entre elas caso quisessem se comunicar. Esse modelo sobrevive como muitos bancos de dados separados, hoje chamados de shards, aos quais novos usuários são atribuídos com base no que o sistema geral consegue suportar.
O artigo também credita uma simplificação, segundo um executivo que falou anonimamente: o Facebook olhava apenas os amigos em comum que duas pessoas tinham, um problema muito mais fácil do que a tentativa do Friendster de calcular graus de separação. A Accel trouxe Jeff Rothschild, fundador da Veritas Software, como consultor após investir em 2005, e Zuckerberg o convenceu a supervisionar os servidores.
Dar a cada faculdade seu próprio banco de dados e escrever software para ligar pessoas entre eles, de modo que cada falha e cada carga permaneçam locais.
Um único banco de dados para todos os usuários fica lento e falha em conjunto à medida que o tráfego cresce.
Lançar uma escola de cada vez permitiu à equipe aprender fazendo e criar expectativa.
Bancos de dados separados por faculdade tornaram as falhas locais e o sistema mais estável.
Contar amigos em comum em vez de graus de separação manteve as consultas baratas.
Um lançamento por etapas pode forçar uma arquitetura que escala: particione por uma unidade natural antes que a carga o faça.
O artigo diz que os 900 milhões de usuários do Facebook estão em shards separados hoje. O Friendster recusou uma oferta de US$ 30 milhões do Google em ações pré-IPO em 2003, atingiu o pico de cerca de 115 milhões de membros em 2008, depois decaiu e foi vendido no final de 2009.
CONFIRA AS EVIDÊNCIAS
As fontes
- Engineering Tricks That Helped Facebook Win The New York Times (Bits) · archive.nytimes.com ·