Hacker News 中文摘要

RSS订阅

如何写入固态硬盘 [pdf] -- How to Write to SSDs [pdf]

文章摘要

该论文提出采用异地写入技术对数据库系统充分利用SSD性能和延长其寿命至关重要。研究者通过优化异地写入策略,在DBMS和SSD层面共同降低写入放大效应,改造后的LeanStore系统在YCSB-A测试中吞吐量提升1.65-2.24倍,闪存写入量减少6.2-9.8倍;TPC-C测试中吞吐量提升2.45倍,闪存写入减少7.2倍,并能兼容ZNS等新型SSD接口。

文章总结

如何优化SSD写入:降低写入放大与提升性能

作者:Bohyun Lee(慕尼黑工业大学)、Tobias Ziegler(TigerBeetle)、Viktor Leis(慕尼黑工业大学)

摘要

本文提出采用异地更新(out-of-place writes)对数据库系统充分释放SSD性能潜力并延长其使用寿命至关重要。我们设计了一套异地更新优化方案,可同时降低数据库管理系统(DBMS)和SSD层的写入放大(WA)。通过将基于B树的LeanStore从原地更新改造为异地更新架构,并在多种OLTP基准测试、数据集规模和SSD设备上进行评估。最终设计在YCSB-A测试中实现吞吐量提升1.65-2.24倍,每次操作的闪存写入量减少6.2-9.8倍;在15,000仓库规模的TPC-C测试中,吞吐量提升2.45倍,闪存写入量减少7.2倍。该架构还能无缝支持ZNS和FDP等新型SSD接口。

核心发现

  1. 写入放大问题:传统数据库采用原地更新时,由于双写缓冲(DWB)和SSD内部垃圾回收(GC)导致显著写入放大:

    • DB层WA:DWB使逻辑写入量翻倍
    • SSD层WA:内部GC导致物理写入量达逻辑写入的2.36倍
    • 总WA可达4.7倍(DB WA × SSD WA)
  2. 异地更新优势

    • 消除DWB开销
    • 通过智能数据布局降低GC成本
    • 支持压缩优化(传统4KB页面对齐问题得到解决)
  3. 关键技术

    • 页面压缩与打包:LZ4/ZSTD压缩后采用4KB对齐打包,保持读取效率
    • 基于死亡时间的GC(GDT):根据页面预期失效时间分组存放
    • 对齐DB与SSD的GC单元:利用FDP的回收单元(RU)或ZNS模式推断
    • NoWA模式:在普通SSD上实现WA=1
    • FDP放置提示:利用硬件特性避免写入交错

性能提升

| 配置 | 吞吐量提升 | 闪存写入减少 | |---------------------|------------|--------------| | YCSB-A | 1.65-2.24× | 6.2-9.8× | | TPC-C(15,000仓库) | 2.45× | 7.2× |

实现方案

改造的ZLeanStore系统包含: 1. 虚拟内存缓存管理(vmcache)支持PID-偏移映射 2. 按死亡时间分组的写入分配策略 3. 动态GC触发机制 4. 多设备支持(标准SSD/ZNS/FDP)

应用价值

该方案可显著: - 延长SSD使用寿命(实验显示写入速度从400MB/s降至可持续的11MB/s) - 降低单位操作能耗与碳足迹 - 为新型存储设备(如ZNS/FDP SSD)提供优化基础

项目代码已开源:https://github.com/LeeBohyun/ZLeanStore

这项研究首次在商用SSD上实现了写入放大系数=1,为数据库存储引擎设计提供了重要参考。未来工作将扩展至LSM-tree引擎和多设备环境优化。

评论总结

总结评论内容:

  1. 对论文价值的肯定
  • 认为该研究可能催生新型数据库或优化Postgres(评分:无) 关键引用: "this is the kind of research that creates new db types, or super optimized postgres" "可以引导出优化存储表格式以获得更好性能"
  1. 技术细节讨论
  • 关注SMR硬盘优化对其他存储设备的影响(评分:无) 关键引用: "SMR Hard Drives have very different rules...how much optimizing for SMR drives would also optimize for other drive types" "论文展示了大型数据库(800GB)在单机上的写入放大和减速/磨损的全面分析"
  1. 补充建议
  • 建议增加对Zoned XFS文件系统的引用(评分:无)
  • 提议可对SQLite进行类似分析(评分:无) 关键引用: "This seems to miss a reference to Zoned XFS" "I would expect that a similar analysis can be done for sqlite"
  1. 作者回应
  • 第一作者感谢关注并提供了扩展版论文链接(评分:无) 关键引用: "Hi, I'm the first author...The extended version is available on arXiv" "作者感谢关注并提供了更详细信息的扩展版本"
  1. 用户体验反馈
  • 对PDF自动下载表示意外(评分:无) 关键引用: "I feel fooled after clicking on the link and seeing that this PDF is downloading" "点击链接后发现PDF自动下载感到意外"