拆解小红书存储底座 03|从存得下到读得快:小红书自研对象存储实践
小红书技术REDtech · 软件开发
原创 REDtech 2026-11-05 17:59 湖北 从多云统一接入到 HDD、SSD 引擎优化,看小红书自研对象存储 ROS 如何兼顾容量、带宽与成本,支撑多媒体、大数据和 AI 训练。 小红书的存储与数据库体系覆盖 MySQL、RedKV、Redis、ROS 等产品,DMS、RedDTS 等公共能力分别提供统一管控和数据传输支持。小红书自研对象存储 ROS (Red Object Storage)服务于多媒体、大数据、索引构建和 AI 训练等多个业务,多媒体在线访问关注可靠性与低时延,大数据与索引构建需要持续高吞吐,AI 训练则要求高并发读取与 Checkpoint 集中写入。 本文介绍 ROS 的整体架构,包括多云统一网关、元数据管理和存储引擎的核心设计,重点说明如何通过 HDD 的内外圈放置、亲和预分配与预读,以及 SSD 的 RDMA 网络、SPDK 用户态 I/O 与 NUMA 亲和,满足不同业务的存储需求。 小红书的多媒体、大数据、索引构建和 AI 训练等业务使用多个云厂商的对象存储服务。随着业务规模增长,不同场景对可靠性、时延和读写带宽提出了更高要求,统一接入、鉴权、流控与监控,以及跨引擎的数据管理需求也日益突出。为此,小红书建设自研对象存储 ROS,在自建与公有云共同承载数据的混合云架构下,统一业务接入与数据管理,并通过自研存储引擎提升单位存储容量的读写带宽,满足不同业务的性能与稳定性需求。 01 整体架构 ROS 采用自建与公有云共同承载数据的混合云架构,业务通过 S3 SDK 接入,各模块分工如下: 多云统一网关: 提供统一接入,负责协议适配、鉴权、流控和路由,屏蔽不同存储后端的接口差异。 RedDB: 提供对象存储元数据服务,可随 Bucket 对象数量增长自动分裂,线上已经支持单 Bucket 千亿对象规模。 RedStore: 自研池化存储引擎,提供 HDD 和 SSD 两类引擎,与公有云对象存储共同承载数据,满足不同业务的容量、性能和成本需求。 离线系统: 负责跨区域、跨集群数据调度、生命周期沉降与引擎置换,支持数据跨区域、跨引擎流转。 全 Kubernetes 部署: ROS 的全部服务都通过 Kubernetes 统一编排,支撑部署、扩缩容与运维管理。 02 多云统一网关 多云统一网关面向自建与公有云共同承载数据的混合云场景,提供兼容 S3 的统一入口。业务通过同一套 S3 SDK 接入,网关负责协议适配、鉴权、分布式流控和路由,并汇集多云访问日志与监控数据,减少业务对不同后端的重复适配。 Bucket 可按需选择存储引擎:高性能、大带宽场景选择 SSD,成本敏感场景选择 HDD。多云统一网关还支持引擎置换。例如,RedStore 空间不足时,可将 Bucket 的数据迁移到 云上对象存储。迁移期间,未迁移的对象仍读 RedStore,已迁移的对象读 云上对象存储;业务保持原有接口、桶名和对象名称,无需适配后端变化。 通过多云统一网关与离线系统协作,ROS 可利用引擎置换缓解容量运营压力,支持将存储利用率提升到 90%。离线系统还负责跨区域、跨集群数据调度与跨云生命周期沉降,使数据随资源和访问需求流转。 03 存储引擎 3.1 HDD 存储引擎 大数据扫描和批量读取需要持续、稳定的高带宽,而 HDD 上分散的小块访问容易受到寻道开销限制。ROS 通过多节点、多磁盘并行,结合内外圈放置、亲和预分配与预读,减少随机寻道、提升连续访问效率。在读写比为 2∶5、平均对象大小为 64 MiB 的线上真实负载下, 每 PiB 可提供 20 Gbps 读带宽和 10 Gbps 写带宽。 其中,热存副本放置在外圈,冷存副本放置在内圈,利用外圈较高的顺序读写带宽优先服务热数据访问。 预分配解决“写得近”:写端传递相关 Blob(对象逻辑分块)的亲和信息,转换为分片提示,DataNode 提前预留连续空间,减少后续分散写入。预读解决“读得顺”:读取时按需 预读相邻分片 ,供后续请求复用,把相关小块访问转化为更连续的磁盘 I/O。 预读的目标是提高业务有效吞吐,而不是扩大磁盘读取量。因此,需要结合命中率、空间压力和带宽消耗控制预读范围,避免无效读取挤占正常请求。 3.2 SSD 存储引擎 AI 训练与索引加载需要持续的大带宽,仅更换 SSD 还不够,网络处理、数据拷贝和软件 I/O 路径都可能成为瓶颈。ROS-Express 将优化延伸到网络与本地存储, 每 PiB 提供 1Tbps 读带宽和 250Gbps 写带宽。 业务通过 S3 SDK 经多云统一网关进入 Access 数据访问层,再通过 RDMA 网络访问 DataNode 数据节点。 RDMA 减少网络处理的 CPU 开销与数据拷贝;网络 Pol