I DB di Facebook

Data Center di Facebook in Lulea al Polo Nord
Data Center di Facebook in Lulea al Polo Nord

Dei circa 10.000 server su cui si regge Facebook, più di 1800 sono di tipo MySQL Servers. Essi rappresentano i database nei quali sono conservate la maggior parte delle informazioni multimediali. Questo comune database è open-source e riesce tranquillamente a

lavorare con 40 TeraByte di dati, grazie al sostegno di più di 800 macchine che lavorano in

La quantità di richieste che arrivano ai server al secondo sono più di 15 milioni secondo alcune stime di qualche anno fa, per questo Facebook si avvale di un robusto sistema di caching per rispondere in modo veloce: la memcached.

La Memcached è dunque utilizzata per alleggerire il carico database delle applicazioni web e per

velocizzarne l’esecuzione evitando, in questo modo, continui accessi a sorgenti dati esterne. Di fatti,

permette di rispondere in tempi rapidissimi al 95% delle richieste degli utenti. Solo il restante 5% delle richieste vengono inoltrate ai veri e propri database server Mysql di Facebook. Il segreto di questo tipo di sistema è la gestita della cache tramite la struttura dati a tabella hash, che può essere distribuita su uno o più server.

In particolare, i servizi di caching vengono replicati dal datacenter di San Francisco, il quale si fa carico anche dei database di Santa Clara visto che le due città sono tra loro limitrofe. Non risulta possibile effettuare la stessa operazione sui server situati in Virginia e in Svezia poiché sono troppo lontani per potere inviare query Mysql. Dunque la soluzione trovata dagli ingegneri Facebook è la replicazione degli interi database.

 

Riferimenti

Wikipedia