Ceph对象存储(RADOS)中对象的最佳大小

时间:2014-02-12 11:31:26

标签: storage distributed ceph

看起来RADOS最适合用作Ceph块存储和文件系统的存储后端。但是如果我想使用Object Storage本身:

  • 是否有最佳的物体尺寸可以提供最佳性能?
  • 是否存在大量小物件的问题?
  • 如何在没有麻烦的情况下获得多大的物品?

如果你能分享你的经验,那就太好了。

1 个答案:

答案 0 :(得分:7)

对象存储中的对象没有最佳大小,实际上这种灵活性是固定大小的块存储的一大优势。通常,应用程序将使用此灵活性沿着方便的边界分解其数据模型。也就是说,如果要存储非常小或非常大的对象,则应考虑一些注意事项。

  

是否存在大量小物件的问题?

小对象从未出现过功能问题,但过去由于存储对象的方式效率低下。但是,在Ceph(Firefly)的下一个版本中,有一种方法可以将LevelDB用作后端,从而使小对象更加高效。

  

如果没有麻烦,有多大的物品可以获得?

假设您在RADOS中使用复制(与建议的对象条带化功能和擦除编码后端相反),对象将完整复制到一组物理存储节点。因此,对象的大小基于对象被复制到的物理节点的存储容量而具有固有的大小限制。

这种操作模式还暗示了实际的限制,即每个对象的I / O性能将对应于物理设备(数据和日志驱动器)的性能。这意味着将对象视为I / O并行度的单位通常很有用,尽管在实践中许多对象将映射到同一组设备。

对于擦除编码后端,此问题可能会有不同的答案,应用程序总是可以跨越较小的对象对大型数据集进行条带化。