1

我正在写一篇关于云存储的论文。

我正在研究名为 Swift 的 Openstack 存储系统。

在页面上:http ://swift.openstack.org/overview_architecture.html

对象服务器 对象服务器是一个非常简单的 blob 存储服务器,可以存储、检索和删除存储在本地设备上的对象。对象作为二进制文件存储在文件系统上,元数据存储在文件的扩展属性 (xattrs) 中。这要求对象服务器的底层文件系统选择支持文件上的 xattrs。某些文件系统,如 ext3,默认关闭 xattrs。

这是否意味着 Swift 不会将元数据与文件内容分开?它会在大量元数据访问或搜索上造成瓶颈吗?对于每个 Head Object 访问,它会通过文件系统查找元数据吗?

谢谢

4

2 回答 2

3

swift 利用 md5 哈希和它自己的环形数据结构来查找文件的路径。当它找到一个文件时,它会读取该文件的 xattrs。因此,它不需要读取文件系统中的所有元数据。

于 2013-05-02T13:54:37.697 回答
0

本书可以帮助你理解swift。然而,这本书并没有为你的问题提供答案,但可以帮助你思考它是如何存储的。为了更好地理解,您必须自己破解 swift 代码并查看或接近 swift 电子邮件列表,即 swift@lists.launchpad.net。还可以找到以下链接Swift Api docs

于 2011-11-28T13:47:29.767 回答