文章摘要
AWS S3作为大规模多租户存储服务,通过API存储和检索对象,以较低成本实现高可用性和持久性。其规模惊人:存储400万亿对象,每秒处理1.5亿请求,峰值流量超1PB/s,使用数千万磁盘支撑海量数据服务。
文章总结
AWS S3如何基于低速硬盘实现每秒PB级吞吐
规模惊人的存储巨兽
AWS S3作为全球最大的对象存储服务,其运营规模令人震撼: - 存储超过400万亿个对象 - 每秒处理1.5亿次请求 - 峰值流量超过1PB/秒 - 使用数千万块机械硬盘
硬盘技术的经济学奇迹
尽管HDD在IOPS和延迟方面表现不佳,但其成本优势无可替代: - 价格:每字节成本下降60亿倍(经通胀调整) - 容量:增长720万倍 - 体积:缩小5000倍 - 重量:减轻1235倍
关键瓶颈在于30年来随机IOPS始终停留在120次/秒,平均读取0.5MB数据需要约11ms(包括4ms寻道+4ms旋转延迟+2.5ms传输)。
工程突破:大规模并行架构
S3通过三大创新解决性能瓶颈:
擦除编码技术
- 采用5+4的擦除编码方案(5个数据分片+4个校验分片)
- 相比三副本存储节省40%空间
- 提供9个可能的读取源,有效分散负载
全链路并行化
- 用户端:支持多线程分块上传/下载
- 客户端:自动建立HTTP连接池
- 服务端:数据分散存储在数百万硬盘
智能负载均衡
- 采用"双随机选择"算法分配新数据
- 持续冷热数据再平衡
- 利用规模效应实现负载去相关(系统越大,负载波动越小)
架构启示录
S3的成功证明: - 通过并行化可以将低速设备组合成高速服务 - 随机分配比精确调度更适合超大规模系统 - 存储系统越庞大,整体表现反而越稳定
如今,包括Kafka、ClickHouse等系统都开始构建在S3之上,利用其存储优势实现"无状态节点"架构,既降低了复杂度,又节省了成本。
(注:原文中关于具体技术参数、历史事件和扩展阅读链接等内容已精简,完整技术细节可参考AWS re:Invent年度技术分享)
评论总结
总结评论内容如下:
推荐相关文章
- EwanToo建议阅读另一篇关于S3的文章,认为更有趣("I think a more interesting article on S3...")。
- 引用链接:Building and operating a pretty big storage system called S3。
开源存储方案与HDD性能
- crabique询问是否有针对HDD设计的开源服务能达到类似性能,提到现有方案(如MinIO、Ceph等)多建议闪存部署("none of the big ones work that well with HDDs")。
- 对Garage的设计表示兴趣,但指出其无纠删码(EC)的差异("liking the idea of it, but it seems to have a very different design")。
S3的存储介质疑问
- nerdjon质疑S3是否由SSD支持,原以为标准层使用SSD而慢速层用HDD("I honestly figured that it must be powered by SSD...")。
S3的技术架构猜测
- wg0好奇S3的技术栈是单体还是多服务,推测可能包含队列、缓存和长时任务("I assume would have lots of queues, caches...")。
对文章标题的回应
- dgllghr认为文章标题的答案显而易见:并行处理("the answer to the headline is obvious: parallelism")。