[改进后的中文总结内容]
在华为的Rixin Luo主讲的会议中,讨论了在Ceph分布式存储系统中实现近数据处理(Near-Data Processing)的关键技术和挑战。
- 近数据处理简介:
- 近数据处理是一种将计算移动到数据所在位置或数据附近的新计算范式,以减少数据移动。
- Ceph通过计算存储(Computational Storage)将计算功能添加到设备上,实现数据的近处理。
- 挑战与现有解决方案:
- 数据放置问题是近数据处理面临的主要挑战。Ceph的数据流模型和擦除码会导致数据对象被分割,丢失信息。
- Ceph当前设计侧重于高性能和可靠性,而非近数据处理。
- Ceph的存储池类型:
- Ceph有两种存储池:副本池和擦除码池。副本池提供高性能但空间利用率低,擦除码池提供高空间利用率但性能较低。
- 解决方案:启用近数据处理:
- 通过添加聚合模块(Aggregate Module),将相同ID的对象合并为新的聚合对象,以保持对象的完整性。
- 聚合规则包括:聚合对象大小等于擦除码条带大小,不进行分割。
- 支持元数据:
- 元数据用于将对象ID映射到聚合对象ID,存储为omap项。
- 近数据处理操作:
- 在OST(Object Storage Target)中添加新的数据处理请求和模块,执行数据库查询、正则表达式匹配等操作。
- 这些操作可以扩展第三方库,通过加载第三方库来执行近数据处理操作。
- 测试结果:
- 使用6个OST和4+2擦除码数据条带进行测试,比较了基本擦除码和聚合擦除码的性能。
- 结果显示,聚合擦除码在读取中间2MB数据时,减少了集群间的流量,从而减少了数据移动。
- 后续行动计划:
- 继续开发和优化近数据处理功能,支持更多数据处理操作。
- 考虑将计算功能卸载到计算存储设备上,以提高性能。
会议还讨论了对象类(Object Classes)和Skyhook项目,这些方案与近数据处理的实现方式不同,但值得进一步研究和考虑。