Finding a needle in Haystack: Facebook’s photo storage——论文泛读

OSDI 2010 Paper 分布式元数据论文阅读笔记整理

问题

到2010年为止,用户已经在Facebook上传了超过650亿张照片,对于每个上传的照片,Facebook生成并存储四个不同大小的图像,导致目前存储了超过2600亿张图片,相当于超过20PB的数据。用户每周上传10亿张新照片(~60TB),Facebook在峰值时每秒提供超过100万张图片。庞大的数据量为图片存储提出了新的挑战。

挑战

在Facebook图片存储中,数据只写一次,经常读取,从不修改,很少删除。基于POSIX的文件系统的缺点是每个目录和文件的元数据,读取文件时需要先访问元数据,导致元数据成为访问瓶颈。对于利用NFS上的网络连接存储设备,由于元数据查找,读取一张图片需要几个磁盘操作,导致额外成本和吞吐量限制。

本文方法

本文描述了Haystack,为Facebook的照片应用程序优化的对象存储系统,成本更低、性能更高。

  • 高吞吐量和低延迟。大幅减少在磁盘上查找照片所需的每张照片的元数据,将所有元数据保存在主存储器中,每次读取最多需要一个磁盘操作来实现高吞吐量和低延迟。

  • 故障容忍。在不同地理位置复制每张照片,根据需要复制数据以获得冗余,从而容忍故障。

  • 成本效率。考虑每TB可用存储的成本和对每TB可用存储器的标准化读取率。与NAS设备上的等效TB相比,每个可用TB的成本降低了约28%,每秒处理的读取量增加了约4倍。

三大组件

目录服务器:元数据服务器

  • 维护逻辑卷到物理卷的映射关系

  • 维护照片ID到逻辑卷的映射

  • 负载均衡:在逻辑卷之间完成写操作的负载均衡,在物理卷里完成读操作的负载均衡

  • 决定用户请求是发送给缓存还是CDN

  • 当一个节点故障或者运维操作,或者磁盘空间满,将逻辑卷设为只读状态

存储服务器:数据服务器,大量的数据服务器存储数据

  • 以物理卷的形式保存数据,每个物理卷100GB,物理卷即一个物理文件

  • 不同存储服务器上的多个物理卷组成一个逻辑卷,形成副本

缓存

  • 主要通过缓存系统响应用户请求

  • Web服务器请求目录服务器时,生成http://<CDN>/<Cache>/<Machine>/<Logical Volume, Photo>格式的URL,Web服务器依次请求各组件,直到获取数据

写流程

  • Web服务器请求目录服务器获取可写的逻辑卷

  • 逻辑卷中的所有物理卷都追加完成,才算追加成功

  • 追加成功后所有物理卷中都有该文件,但偏移可能不同,主要是因为存在多客户端的并发追加写

  • 写操作并没有更新缓存

物理卷存储格式

  • 每个Photo称之为一个Needle

  • 每个Needle的元数据约20字节,常驻内存,但在磁盘上有一份持久化的索引

  • 数据删除并不真的删除,而是增加一条删除日志

  • 周期定做Compaction,回收空间

总结

针对Facebook海量照片存储,访问模式为数据只写一次,经常读取,从不修改,很少删除。因此设计了Haystack,对象存储系统。(1)大幅减少在磁盘上查找照片所需的每张照片的元数据(20字节),将所有元数据保存在主存储器中,每次读取最多需要一个磁盘操作来实现高吞吐量和低延迟。(2)查询图片时,目录服务器生成http://<CDN>/<Cache>/<Machine>/<Logical Volume, Photo>格式的URL,依次请求各个组件获取数据。

相关推荐
晓山清4 小时前
【论文阅读】Self-supervised Learning of Person-specific Facial Dynamics for APR
论文阅读
张较瘦_4 小时前
[论文阅读] AI + 教育 | 不是单纯看视频!软件工程培训的游戏化融合之道
论文阅读·人工智能·软件工程
张较瘦_9 小时前
[论文阅读] AI + 软件工程 | 用统计置信度破解AI功能正确性评估难题——SCFC方法详解
论文阅读·人工智能·软件工程
Matrix_111 天前
论文阅读--Agent AI 探索多模态交互的前沿领域(二)
论文阅读·人工智能
万里鹏程转瞬至2 天前
论文简读 | TurboDiffusion: Accelerating Video Diffusion Models by 100–200 Times
论文阅读·深度学习·aigc
Matrix_112 天前
论文阅读--Agent AI 探索多模态交互的前沿领域(一)
论文阅读·人工智能
@––––––3 天前
论文阅读笔记:π 0 : A Vision-Language-Action Flow Model for General Robot Control
论文阅读·笔记
万里鹏程转瞬至3 天前
论文阅读 | SLA:sparse–linear attion视频生成95%稀疏度FLOPs降低20倍
论文阅读·深度学习·aigc
Y前进四3 天前
ICLR 2026 Oral论文阅读 (21篇 对齐、公平、安全、隐私及社会考量)
论文阅读·人工智能
是小蟹呀^4 天前
【论文阅读15】告别死板!ElasticFace 如何用“弹性边缘”提升人脸识别性能
论文阅读·深度学习·分类·elasticface