Almacenamiento de fotos en facebook

Solo disponible en BuenasTareas
  • Páginas : 5 (1150 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de diciembre de 2011
Leer documento completo
Vista previa del texto
Como se almacenan las fotos en Facebook?
Subir fotos en Facebook en una de las funcionalidades más utilizadas por los usuarios, los mismos que a la fecha han “subido” alrededor de 15 mil millones de fotos en sus álbumes, adicionalmente Facebook genera y almacena cuatro imágenes de distintos tamaños por cada foto lo que se traduce en un total de 60 mil millones de fotos y 1.5 PB (Petabytes) dealmacenamiento. La tasa actual de crecimiento es de 220 millones de fotos nuevas y 25 TB adicionales de almacenamiento cada semana. Con estos números y con picos de 550 mil fotos entregadas por segundo, la infraestructura de gestión de fotos de Facebook se convierte en todo un reto.
Esta gigantesca cantidad de información supone un gran esfuerzo económico, por este motivo han cambiado el sistema dealmacenamiento actual basado en Net App por un modelo desarrollado a medida por un antiguo ingeniero de Net App Jason Sobel, mejorando la relación coste-efectividad con un sistema de alto rendimiento denominado Haystack, en el cual  llevaban dos años en fase piloto hasta su implementación hace unos meses.
La infraestructura antigua estaba basada en CDN de Akamai y Limelight como cache parareducir el número de lecturas en los sistemas físicos de almacenamiento basados en la tecnología de Net App y como servidor http.
Esquema del Sistema Antiguo de Almacenamiento:

Infraestructura Nueva – Haystack
Esta infraestructura integra la entrega y el almacenamiento de las fotos en una sola capa física, implementa un servidor de fotos basado en HTTP el cual almacena las fotos en un almacéngenérico de objetos (Generic Object Store) llamado Haystack. El principal requerimiento de esta solución es eliminar cualquier sobrecarga innecesaria de metadatos por cada operación de lectura de fotos. El Haystack se puede descomponer en las siguientes capas funcionales:
* HTTP Server
* Photo Store
* Haystack Object Store
* Filesystem
* Storage
Esquema de la Nueva Infraestructura:A continuación ampliaremos cada una de las capas funcionales empezando desde las más bajas.
Storage
Haystack es desplegado sobre blades simples de almacenamiento. La configuración típica de cada blade (2U) de almacenamiento es:
* 2 x quad-core CPUs
* 16GB – 32GB de memoria
* Controladora RAID  con 256MB – 512MB de NVRAM cache
* 12+ 1TB SATA drives
Cada blade dealmacenamiento proporciona alrededor de 10TB de espacio utilizable, configurado como un RAID-6. RAID-6 ofrece una redundancia adecuada y  un excelente performance de lectura mientras mantiene bajos los costos de almacenamiento. El bajo performance en escritura es parcialmente mitigado por el NVRAM write-back cache de  la controladora RAID. Como la lectura es mayormente aleatoria, el NVRAM cache es totalmentereservado para escritura. El cache de los discos es deshabilitado para garantizar la consistencia de datos en el caso de un daño o falla eléctrica.
Filesystem
El almacén de objetos es implementado sobre archivos guardados en un sólo sistema de archivos creado sobre un volumen de 10TB.
Cada petición de lectura de fotos ejecuta en el sistema la operación read() sobre los offset(desplazamientos)conocidos en estos archivos, pero para poder ejecutar las lecturas el sistema de archivos debe localizar los datos en el volumen físico actual. Cada archivo en el sistema de archivos es representado por una estructura llamada inode el cual contiene un mapa de bloque (block map) que mapea el desplazamiento (offset) lógico del archivo con el bloque físico del desplazamiento en el volumen físico.Actualmente el sistema de archivos seleccionado es el XFS.
Haystack Object Store
Haystack es un registro (log) simple estructurado (append-only) de un almacén de objetos que contiene needles que representan los objetos almacenados. Un Haystack consiste en dos archivos, el almacén Haystack que contiene los needles y un archivo de índice:

Los primeros 8KB del almacén Haystack es ocupado por un...
tracking img