文章目录
Finding a needle in Haystack: Facebook’s photo storage
原始论文地址 Finding a needle in Haystack: Facebook’s photo storage
简介
该论文主要介绍了一个对象存储系统Haystack,该存储系统主要针对大规模的图片存储进行优化。传统的存储系统设计基于NFS,由于涉及到大量的文件元数据的查找操作,因此会有大量的磁盘I/O增加了总的操作的时间。该论文中采取减少图片元数据的方法,将所有的元数据放入到内存当中操作来提升性能。这样,仅需要读取图片的时候才需要磁盘操作。
存储在云端的图片有一个特点,就是只会写一次、会被经常读取、不会被修改以及很少被删除。不会被修改这个特点是由于FB采取将修改后的图片存储在新位置的策略导致的。
目前,文件系统普遍基于POSIX标准,文件存放在目录下,并且文件有对应的元数据。下面是一个图片的元数据。虽然元数据数据量比较小,但是对于大型的数据中心来说,成百万的图片的元数据会是一个比较大的数据量。
$ exiftool IMG_20151104_102543.jpg
ExifTool Version Number : 9.46
File Name : IMG_20151104_102543.jpg
Directory : .
File Size : 2.8 MB
File Modification Date/Time : 2015:11:04 10:25:44+05:30
File Access Date/Time : 2015:11:17 18:56:49+05:30
File Inode Change Date/Time : 2015:11:11 14:55:43+05:30
File Permissions : rwxrwxrwx
File Type : JPEG
MIME Type : image/jpeg
Exif Byte Order : Big-endian (Motorola, MM)
GPS Img Direction : 0
GPS Date Stamp : 2015:11:04
GPS Img Direction Ref : Magnetic North
GPS Time Stamp : 04:55:43
Camera Model Name : Micromax A121
Aperture Value : 2.1
Interoperability Index : R98 - DCF basic