Академический Документы
Профессиональный Документы
Культура Документы
La aplicacin de fotos de Facebook es una de las mas populares. Cada dia los
usuarios suben mas de 15 billones de fotos haciendo de Facebook las mas grande
web de compartimiento de fotos.
Por cada foto subida facebokk genera y almacena 4 imgenes de diferentes
dimensiones que hace un total de 60 billones de imgenes y un total de 1.5 PB de
almacenamiento. El actual crecimiento es de 220 millones de nuevas fotos
aproximadamente por semana, adems de 25 TB adicional de almacenamiento
consumido por semana aproximadamente. Se llega a un pico de 550,000 imgenes
por segundo. Ese nmero planteo un cambio de infraestructura de almacenamiento
de Facebook.
Infraestructura NFS
Cada imagen es almacenada en su propio archivo, hay un enorme metadata
generada en el almacenamiento.
La cantidad de metadatos es muy superior a la capacidad de almacenamiento en
cach de la capa de almacenamiento NFS, dando lugar a mltiples operaciones I / O
por subir las fotos o leer peticin.
Toda la infraestructura de la foto que se sirve es un cuello de botella en los altos
metadatos del nivel de almacenamiento NFS, esa es una de las razones por las que
Facebook se basa en gran medida en las CDN para servir a las fotos. Dos
optimizaciones adicionales fueron desplegados con el fin de mitigar este problema
en cierta medida:
Cachr: un cach nivel servidor de almacenamiento en cach de imgenes con
"perfil" ms pequeos.
NFS file handle cache: Desplegado en el nivel de la foto que sirve para eliminar
algunos de los metadatos de almacenamiento NFS nivel overhead.
Infraestructura HayStack
La nueva infraestructura mezcla las fotos nivel dentro de un nivel fsico. Esto
implementa en base a a un servicio HTTP que almacena las fotos en objetos
llamados Haystack. El principal requerimiento para el nuevo nivel fue eliminar
alguna innecesaria metadata overhead para lectura de operaciones, de manera
que cada lectura y operacin I / O slo estaba leyendo los datos reales de las fotos
(en vez de los metadatos del sistema de ficheros).
Server HTTP
Photo Store
HayStack Object Store
Filesystem
Storage
Almacenamiento
La configuracin de hardware tpico (HayStack) de un blade de almacenamiento 2U
es:
2 x quad-core CPUs
Sistema de archivos
Almacenes de objetos Haystack se implementan en la parte superior de los archivos
almacenados en un nico sistema de archivos creado en la parte superior del
volumen con 10 TB de espacio.
Las Solicitudes de lectura de fotos resultan en las llamadas al sistema en
desplazamientos conocidos en estos archivos, pero con el fin de ejecutar la lectura,
el sistema de archivos debe primero encontrar los datos sobre el volumen fsico
real. Cada archivo en el sistema de archivos est representado por una estructura
llamada un inodo que contiene un mapa de bloques que se asigna el
desplazamiento para el desplazamiento en el volumen fsico de bloque fsico de
archivo lgico. Para archivos de gran tamao, el mapa de bloques puede ser
bastante grande, dependiendo del tipo de sistema de archivos en uso.
Sistemas de archivos bloquean y mantienen las asignaciones para cada bloque
lgico, y para archivos de gran tamao, esta informacin no suele encajar en el
inodo en cach y se almacenan en bloques de direcciones de escalas en su lugar,
que hay que atravesar para poder leer los datos de un archivo. Puede haber varias
capas de direccionamiento indirecto, por lo que una sola lectura podra dar lugar a
varias entradas / salidas en funcin de si o no los bloques de direcciones indirectas
se almacenan en cach.