Funcionamiento de los data center de Google, una aproximación

Google data center, circa 2000. Atentos al ventilador en el suelo XD.

(Credit: Stephen Shankland-CNET News.com/Jeff Dean-Google)

Excelente artículo visto en:

http://news.cnet.com/8301-10784_3-9955184-7.html?tag=nefd.lede

Vamos a ver por encima de qué trata exactamente (los data center de Google son de los más secretos del mundo y de los que menos sabemos):

Es una entrevista a Jeff Dean de Google, donde al final desmitifica un poco el tema de los data center. Al final concluye (con un toque sarcástico) que usan lo de siempre, servidores normales, procesadores, discos duros, etc … Google no revela cuando servidores tiene, pero se estiman cientos incluso miles, lo que si ha revelado es que Google tiene 36 data centers alrededor del mundo, con 150 racks por center, eso sale 200.000 servidores y creciendo.

A ese nivel, el hardware fallará casi a diario (en la entrevista aparece un ejemplo espectacular) con lo cual tienen que optimizar la tolerancia a fallos por software, con lo cual cada máquina es fácilmente sustituible rápidamente por otra, sin afectar al sistema (son sacrificables).  Otro dato importante es que a Google le gustan los procesadores multinúcleo, así como placas bases preparadas para ellos por la empresa Intel (el resto de los componentes son ordinarios).

Finalmente, lo más interesante, Dean describe el núcleo en tres partes del software usado por Google:

 

GFS, the Google File System

Es el nivel más bajo, almacena los datos entre los servidores. Cada bloque de datos, de unos 64Mb, se almacenan en al menos tres máquinas llamadas “chunkservers”, servidores maestros se encarngan de hacer copias a una nueva zona si un chunkserver falla, “Todos los fallos de la máquina son controlados entéramente por el sistema GFS, al menos en el nivel de almacenamiento”, comenta Dean. 

 

Big Table

Para dar alguna estructura a todos los datos, Google utiliza BigTable (nada de Oracle, ni IBM … demasiado caro según Dean). Se usa en más de 70 proyectos de Google, como Maps, Earth, Blogger, etc … la base de datos más grande controla hasta 6 petabytes a través de miles de máquinas, dice Dean.

 

MapReduce algorithm

Programa para dar utilidad a todos los datos recopilados por Google, MapReduce puede encontrar cuantas veces una palabra en particular aparece en un índice de búsqueda de Google, una lista de páginas web donde aparece esa palabar, y la lista de todas las web que enlazan con este sitio. Fácilmente puede construir un índice con las páginas web que tengan el término “new”, “york” y “restaurantes” relativamente rápido. Tiempo medio para finalizar un trabajo, 394 segundos, y actualmente manipulando hasta 14.018 terabytes, o sea, el meollo, el turrón de Google ;)

Bueno, os recomiendo la lectura, es muy interesante y se aprende bastante sobre Google.