Pure CTO深度解析键值存储、FA//ST无DFMs及高速对象技术
在本期播客中(录制于上周的Pure//Accelerate 2025活动),我们与Pure Storage的首席技术官(CTO)Rob Lee进行了深入对话,探讨了以下技术主题:
- 键值存储在Pure的Purity闪存操作系统中的应用
- 为何新发布的FlashArray//ST未使用其大力宣传的DirectFlash模块
- 其高速对象存储的性能实现原理
键值存储在Pure存储产品中的应用
问:能否解释键值存储在Pure存储产品中的使用方式?
我们使用键值存储的原因(我将详细说明其优势)与组织大量信息时使用关系型数据库的动机类似:
- 将信息有序组织到表中,可构建索引,高效查询数据,避免无序存储导致查询困难。
- 键值存储的使用可追溯至公司成立初期。我们与市场上其他厂商的不同之处在于:重新设计了存储软件,包括文件系统及逻辑块到物理位置的映射方式,使其原生适配闪存工作原理。
- 闪存的关键特性与磁硬盘不同:无法原地覆盖内容,必须写入新副本并进行垃圾回收旧数据,同时需避免重复写入同一闪存区域导致介质损耗。
通过将元数据(即文件名、文件系统到物理位置的映射)组织在键值存储中,借鉴研究社区的技术,可最小化写放大(重写元数据结构的次数)。这是驱动我们使用键值存储管理元数据的核心洞察。
第二点借鉴数据库领域的经验:键值存储易于分区、分发、实现并发和并行化。
- FlashBlade在元数据性能上的优势(如在Pure//Accelerate 2025上提到的FlashBlade EXA)源于将所有元数据存储在键值存储中,从而实现线性、高并发、可扩展的性能,这是其他数据结构无法实现的。
- 传统存储系统多使用树状结构组织数据,查询需逐步遍历,难以并行化。而键值存储可充分利用闪存的并行访问特性和分布式技术,实现高速、高并发查询。
问:键值存储是否仅作用于元数据层?文件系统是否并行运行?
我们的软件设计采用统一方法管理文件系统元数据、用户元数据及物理元数据(如数据缩减和重复数据删除所需的映射)。所有映射均存储在键值存储中。这种统一方法的好处包括:
- 减少软件编写量
- 提升健壮性和性能
- 系统各部分(文件系统、物理介质管理)均受益于键值存储的特性
FlashArray//ST未使用DirectFlash模块的原因
问:Pure大力宣传DirectFlash模块(DFMs)的容量优势,但新发布的FlashArray//ST未采用它们。它使用什么?为什么?
我们的硬件设计哲学是:构建优秀软件需配套硬件支持。DFMs的核心在于启用它们的软件,硬件本身设计极简。
- DFMs未用于FAST或FlashBlade EXA的数据路径,因为DFMs针对企业级需求的效率、容量等广泛设计空间优化。
- FAST和FlashBlade EXA瞄准超高端性能层级,而DFMs未针对微秒级延迟优化。因此,我们选择利用更专业的硬件供应商组件来满足该设计空间的需求。
问:DFMs缺少哪些特定组件?
无特定组件缺失,而是设计优化权衡:DFMs在延迟、功耗、空间、容量等方面未针对微秒级延迟优化,因这不属于其目标设计空间。
高速对象存储的性能原理
问:Pure常强调提供高性能对象存储的能力。这是否仅靠投入资源?还是有其他技术因素?
绝非仅靠资源投入,关键技术因素包括:
- 元数据通过键值存储组织(如播客第一部分所述),这极大提升了性能。
- 传统对象存储在企业中基于“廉价深度”理念发展,通常将对象协议实现于文件系统之上,再底层为块设备,导致多层效率低下。
- 我们原生实现对象存储,避免性能损耗层。性能分为两部分:元数据(管理性工作)和数据传输。现代对象工作负载中,元数据部分占整体性能需求的很大比重。
- 原生方法(非基于文件系统分层)结合高度分布式、并行的键值存储,可交付该性能。此外,我们自始至终拥有高速数据路径。
本文基于Pure//Accelerate 2025技术访谈内容,聚焦存储架构的核心技术创新。