阅读收获
- 掌握FDP协议在RocksDB场景下的落地路径,学会通过Placement ID实现冷热数据隔离,从底层将Drive WAF降至极限。
- 洞察存储厂商从“通用硬件”向“应用感知存储”转型的产品逻辑,评估软硬协同技术对云服务商TCO降低的实际贡献。
- 获取针对遗留系统的“二八定律”优化策略,利用极小的元数据隔离代价换取显著的系统稳定性提升。
全文概览
在云原生时代,RocksDB等LSM-Tree架构数据库已成为基础设施,但其产生的写放大效应始终是SSD寿命与性能的“隐形杀手”。即便硬件规格再高,传统的“黑盒”存储管理也难以避免后台GC带来的性能抖动。
KIOXIA在FMS25上分享的FDP(灵活数据放置)方案,通过软硬协同打破了这一僵局。这不仅是一次技术演进,更是存储架构思维的转变。面对日益严苛的SLA要求,我们是否真的能让SSD实现“近乎零”的内部冗余写入?FDP又是如何通过简单的插件,让系统吞吐量瞬间翻倍的?本文将带你深度解析KIOXIA在软硬协同存储领域的最新洞察。
👉 划线高亮 观点批注
从设备视角的最佳实践
图片的核心观点是指导开发者和架构师如何通过软硬件结合的方式,优化 SSD 的写放大系数 (WAF),从而提升性能和寿命。主要归纳为三点策略:
- 利用预留空间 (OP): 强调通过 Overprovisioning 和 Short Stroking 增加预留空间,是物理层面降低写放大、缓解 SSD 内部资源竞争的最直接方法。
- 适配 FDP 的写入模式: 推荐采用日志结构 (Log-structured) 和 写时复制 (COW) 的写入模式,这些模式天然契合 NVMe FDP (Flexible Data Placement) 技术;同时强调了通过应用层 GC 实现冷热数据分离的重要性。
- 抓大放小 (针对遗留系统): 对于无法重构的系统,建议利用二八定律,只需将高频更新的元数据/临时文件通过特定的 Placement ID 隔离存储,就能以最小的代价获得显著的性能收益。
对比了开启 FDP 与传统 Ext4 文件系统在关闭 FDP 时的性能差异
对比了开启 FDP 与传统 Ext4 文件系统在关闭 FDP 时的性能差异
图片通过实测数据强有力地证明了 FDP (Flexible Data Placement) 技术结合专用软件栈在降低写放大方面的巨大优势。
- FDP 显著降低设备级写放大 (Drive WAF): 开启 FDP 后,Drive WAF 从 2.20 降至 1.06。这意味着 SSD 内部几乎没有因为垃圾回收 (GC) 产生额外写入,极大地延长了 SSD 寿命。
- 系统级收益巨大 (Total WAF): 相比传统的 Ext4 文件系统,使用支持 FDP 的插件将总写放大从 15.01 降低至 5.34,降幅约为 64%。这表明优化后的软件栈能大幅减少应用层和文件系统层的不必要写入。
- 稳定性提升: 从图表可以看出,传统方案在更新 (Update) 阶段会出现剧烈的性能抖动和写放大飙升,而 FDP 方案则能保持极高的稳定性。
测试场景的软硬件堆栈
架构图定义了上一张评测结果中各项 WAF 指标的具体测量范围。
- 软件/硬件堆栈 (从上至下):
- db_bench: 数据库基准测试工具,作为流量发生器。
- RocksDB: 著名的 LSM-Tree 架构 KV 数据库,负责数据管理和压缩(会产生软件层写放大)。
- Linux Kernel: 操作系统内核及文件系统层。
- FDP support SSD: 支持 FDP 功能的固态硬盘硬件。
- NAND: SSD 内部的物理存储介质。
图界定了写放大的来源。它强调了 Total WAF 是由软件层面的 Host WAF(主要来自数据库 Compaction)和硬件层面的 Drive WAF(主要来自 SSD GC)共同组成的。
结合第一张图的数据(Drive WAF 从 2.2 降至 1.06),可以看出 FDP 的核心作用是消除了 Drive WAF,而 Host WAF (5.34 / 1.06 ≈ 5.0) 主要由 RocksDB 自身的机制决定。
吞吐量性能对比
数据表 (Throughput Comparison):
- 对比项: 平均吞吐量 (Throughput),单位为 KQPS (千次查询/秒)。
- 实验组 (Cyan, Plugin + FDP On): 吞吐量高达 15.0 KQPS。
- 对照组 (Pink, Ext4 + FDP Off): 吞吐量仅为 8.0 KQPS。
图片从性能(Performance) 维度证明了 FDP 的价值:
- 大幅提升吞吐量: FDP 方案将系统处理能力从 8K QPS 提升至 15K QPS,几近翻倍。
- 缩短作业时间: 得益于高性能,处理相同数据量的任务,FDP 方案比传统方案节省了约 40% 以上的时间(从 >4小时 缩短至 ~2.5小时)。
- 稳定性: FDP 方案在高负载下维持了更高的持续性能基线。
项目开源与后续路线
FDP 插件的开源状态及未来路线图。
- 开源发布 (OSS):
- 该插件已开源,名为 "ufrop"。
- GitHub 地址:
https://github.com/kioxiaamerica/ufrop
- 生态整合: 正在努力将其纳入 RocksDB 主仓库的第三方插件列表中。
- 未来更新计划 (Roadmap):
- 多盘支持 (Multi-drive support): 将支持条带化 (Striping) 模式,提升多盘并发性能。
- 纠删码/错误校正 (Error correction): 可选功能,提升数据可靠性。
- 进一步的 WAF 优化: 持续改进写放大表现。
厂商洞察
通过这份材料,可以识别出 KIOXIA 对未来存储市场的三个核心洞察及相应的产品规划路径:
1. 从“通用存储”转向“应用感知存储”
- 洞察: 传统的 SSD 固件算法(如自动 GC)在面对 RocksDB 等 LSM-Tree 架构的数据库时,会产生严重的“写放大叠加效应”。
- 规划: 厂商不再仅仅追求单纯的顺序读写指标,而是开始针对特定的云原生工作负载(如 KV 存储、日志型文件系统)开发专用协议(FDP)。这反映了产品规划正向“垂直领域优化”转型。
2. 云厂商对“确定性”的极致追求
- 洞察: 在公有云场景下,长尾延迟(P99/P999)比平均延迟更重要。传统 SSD 的“黑盒”特性导致性能不可预测。
- 规划: KIOXIA 推出 ufrop 开源插件并积极推动进入 RocksDB 主仓库,其规划意图是构建生态标准。通过开源降低云厂商采纳 FDP 的门槛,使其成为公有云招标参数中的“必选项”或“加分项”。
3. 存量市场的“精细化运营”
- 洞察: 客户并不总是能重构所有系统(遗留系统依然存在)。
- 规划: 材料中提到的“抓大放小”策略(针对元数据隔离),反映了产品规划的灵活性。厂商意识到,必须提供一种低侵入性的方案,让客户在不改变整体架构的情况下也能获得 FDP 的收益,从而加速产品的市场渗透率。
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
- FDP虽然在单盘性能上表现卓越,但在大规模多盘条带化(Striping)或分布式存储环境下,如何保证Placement ID的全局一致性与管理效率?
- 随着FDP等主机接管存储管理权的技术普及,SSD固件的价值重心将如何转移?这是否意味着未来存储厂商的竞争将全面转向软件生态与插件支持?
- 对于无法轻易重构的存量业务,FDP这种“侵入式”的协议优化,在实际公有云多租户隔离场景中会面临哪些部署挑战?
原文标题:Flexible Data Placement (FDP): Use Cases[1]
Notice:Human's prompt, Datasets by Gemini-3-Pro
#FMS25 #FDP数据灵活放置
---【本文完】---
丰子恺-护生画集-投宿
👇阅读原文,搜索🔍更多历史文章。
- https://files.futurememorystorage.com/proceedings/2025/20250806_FARC-203-1_Bolt.pdf ↩