返回首页

AWS S3:在慢速 HDD 上实现 1 PB/s

AWS S3 在 HDD 上提供 1+ PB/s,得益于纠删码 5/9、海量并行性和 LSM 结构。物理磁盘限制、分片机制和热点缓解分析。技术专家资料。

S3:在硬盘上实现拍字节每秒
Advertisement 728x90

AWS S3架构:硬盘实现海量数据每秒拍字节级性能

AWS S3 每秒处理超过1.5亿次请求,管理超400万亿个对象,峰值流量突破每秒1拍字节。其核心仍基于传统机械硬盘——尽管单盘IOPS仅约120,0.5MB随机读取延迟最高达16毫秒。然而,HDD的经济优势使其能以最低成本存储艾字节级数据:容量提升720万倍,单位存储成本下降惊人的60亿倍。

HDD物理特性决定性能瓶颈:平均寻道时间8–9毫秒,旋转延迟4毫秒,传输时间2.5毫秒。顺序读写效率高(可达300MB/s),但随机访问受限于机械臂移动,单盘吞吐量被锁定在32MB/s。

通过纠删码实现大规模并行

S3借助纠删码(EC)和极致并行化突破硬盘性能限制。采用5/9编码方案:5个数据分片 + 4个校验分片,相比传统复制的3倍开销,仅需1.8倍冗余,可容忍4个节点故障,并提供5个读源,显著提升吞吐能力。

Google AdInline article slot

EC的优势:

  • 9个分片均匀分布负载,避免热点问题。
  • 并行读取5个数据分片,加速访问速度。
  • 分片支持预读查询,有效规避延迟。

单块硬盘上1TB文件读速为300MB/s;当扩展至2万台硬盘时,总带宽可达到每秒数TB级,实现指数级增长。

全链路并行架构

并行机制贯穿三个层级:

Google AdInline article slot
  • 客户端前端:HTTP连接池将请求分发至多个端点,避免代理与缓存过载。
  • 前端后端:EC分片数据分布于数千块磁盘组成的ShardStore中(基于日志结构存储的LSM树)。
  • PUT/GET操作:写入采用多部分上传,读取使用字节范围请求,拆分为100+个10MB/s的数据流,而非单一千兆通道。

写入为顺序追加(类似日志),读取则依赖分片随机化策略,防止队列积压。

热点防御机制

面对数千万块硬盘、每秒数亿个分片的规模,均衡负载至关重要。若某块硬盘仅支持32MB/s,极易成为瓶颈,且重平衡过程本身也带来额外开销。

S3的应对策略:

Google AdInline article slot
  • 随机化分片:哈希算法确保资源消耗均匀分布。
  • 动态再平衡:持续迁移数据,无需停机。
  • 横向扩展:新增磁盘不影响服务可用性。

基于LSM树的ShardStore专为追加写优化,写入极快,读取则通过并行索引查找高效完成。

核心洞察

  • 借助5/9纠删码与100+数据流并行,S3在HDD上实现1PB/s以上性能。
  • 平均随机I/O延迟为0.5MB下16毫秒,由5个读源并行缓解。
  • 经济效益:1.8倍EC开销对比3倍复制,节省海量存储成本。
  • 随机化+动态再平衡,有效防止热点引发的级联故障。
  • 后端LSM树结构最大化利用硬盘顺序读写优势。

— Editorial Team

Advertisement 728x90

继续阅读