Ceph开发每周谈 Vol 93 | Key Value SSD

2017年09月 · 麦子迈

这是Ceph开发每周谈的第九十三篇文章,记录从17年9月18号到17年9月25号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。

  • 一句话消息

  • Key Value SSD

三星在 SSD 这块一直有比较前沿的技术研究,在早些时候就主要针对 SSD Key Value 接口有过样品,因为 SSD 本质上是一个类似 Key Value 寻址的模式访问,现在主流的块访问都是模拟出的接口。因此,SSD 厂商寻求直接提供 Key Value 来避免损耗,同时,对于很多应用来说,Key Value 反而是想要的模式,因为如果应用需要 KV 接口模型,最后到设备层需要经过 Key Value 到文件的组织,文件到块设备的组织,块设备在 SSD 重新寻址的多层逻辑,实际上通过 Key Value 原生接口可以绕过所有。

 

通过以下的架构,可以清晰显示应用如何直接访问 SSD,以及 SSD 内部的组织结构。

目前 Key Value API 的标准已经提交给 SNIA Object Drive 组审阅,主要完成了对 Key Value 的定义,最大 Key 长度,对齐方式以及对应的接口。

同时,三星实现了一个简易的 KV Store 来对比目前最流行的 RocksDB 中采用了 KV 方案,这个对比本身并不太合理,因为 RocksDB 有着丰富的特性支持,不过作为一个简单参考可以看出 KV Store 的优势。

总的而言,KV Store 对于开发者来说,有着更清晰的路径以及性能实现,如果能过标准化,Key Value SSD 能成为存储引擎的一个好选择。

参见: https://www.snia.org/sites/default/files/SDC/2017/presentations/Object_Object_Drive_Stor/Ki_Yang_Seok_Key_Value_SSD_Explained_Concept_Device_System_and_Standard.pdf