在技术高度成熟的存储领域,创新往往需要挑战“理所当然”的假设。这篇文章深入探讨了百度沧海·存储团队如何基于第一性原理,重构了对象存储的系统边界,设计出Mantle系统。它通过跨层协同设计,解决了传统对象存储在支持文件系统语义时面临的路径解析开销大、高并发更新冲突等核心痛点,为AI与大数据时代提供了兼具低成本与高性能的云存储新方案。
智能速览
传统对象存储平坦 Namespace 导致目录操作性能低下,成为大数据场景瓶颈。
分布式 Namespace 方案虽解决了扩展性,却牺牲元数据局部性,引发性能退化。
Mantle 引入中心化索引,将深度路径解析从多次 RPC 优化为单次 RPC。
MantleX 实现单机-分布式一体化,兼顾小规模场景性能与大规模扩展能力。
Delta Record 机制将冲突性原地更新转为无冲突追加写,提升高并发写入吞吐。
精华内容
面对扩展性与性能的永恒矛盾,Mantle 并非简单的技术堆砌,而是一系列关键取舍与深刻洞察的结晶。其架构演进之路,是如何一步步打破常规,最终实现性能突围的?
为何要革新
AI与大数据时代,对象存储因其低成本优势成为数据湖底座,但其平坦 Namespace 设计导致文件系统语义支持极差。例如,`ls` 目录需扫描海量文件索引,`rename` 目录需对每个文件执行复制删除操作,性能远逊于HDFS。业界虽引入分布式层级 Namespace,但为扩展性牺牲了元数据局部性,带来了高并发事务冲突、路径解析开销大、小规模场景性能不佳等新痛点,始终未能提供完美方案。
核心架构破局
Mantle 的破局点在于打破系统分层边界,将目录索引(IndexNode)与元数据存储(MetaStore)进行跨层协同设计。它将 IndexNode 作为底层 TafDB 内部的一个特殊分片,利用其原生分布式事务和协处理器机制。这样,客户端的深度路径解析请求可被下推至存储节点内一次性完成,将原本需要 N 次 RPC 的操作优化为单次 RPC,从根本上重建了路径解析的局部性,解决了分布式系统的核心延迟难题。
极致性能之道
为应对 Mantle 架构带来的新挑战,团队设计了组合优化方案。针对高并发目录更新冲突,创新的 Delta Record 机制将原地更新转变为无冲突的追加写,使目录修改吞吐量提升超过 115 倍。针对 IndexNode 单点性能瓶颈,通过全路径缓存、将底层引擎从通用 RocksDB 切换为专用 Hash 引擎,并引入 Follower 读机制,最终使 DirectStat 性能达到 189 万 QPS,实现了单点性能的极致压榨。
MantleX的演进
为解决 Mantle 在小规模场景性能不如单机方案的问题,MantleX 实现了单机-分布式一体化架构。其核心是“同构”设计:无论规模大小,底层表结构保持一致。小规模时,所有元数据被置于同一物理分片,通过协处理器下推计算,将跨分片事务降级为本地事务,实现与单机方案媲美的性能。当规模增长时,通过一次平滑的 Tablet 分裂操作即可无缝切换到分布式模式,完美兼顾了两种场景的需求。
Mantle 与 MantleX 的演进,是对第一性原理的深刻践行。它证明了在看似饱和的技术领域,回归问题本质、打破思维定势仍能开辟新局。面对未来更大规模的挑战,这套架构还能如何进化?这趟从怀疑到重构的旅程,为整个存储行业提供了一份极具价值的创新范式。