我正在撰写关于云存储的论文。
我正在研究名为Swift的Openstack存储系统。
在页面上:http://swift.openstack.org/overview_architecture.html
对象服务器 对象服务器是一个非常简单的blob存储服务器,可以存储,检索和删除存储在本地设备上的对象。对象作为二进制文件存储在文件系统中,元数据存储在文件的扩展属性(xattrs)中。这要求对象服务器的基础文件系统选择支持文件上的xattrs。某些文件系统(如ext3)默认关闭xattrs。
这是否意味着Swift不会将元数据与文件内容分开? 它会在大量元数据访问或搜索上造成瓶颈吗? 对于每个头对象访问,它是否会通过文件系统来查找元数据?
由于
答案 0 :(得分:3)
swift利用md5哈希和自己的环数据结构来查找文件的路径。当它找到一个文件时,它会用文件读取xattrs。因此,它不需要读取文件系统中的所有元数据。
答案 1 :(得分:0)
This本书可以帮助你快速理解。但是,本书没有为您的问题提供答案,但可以帮助您思考如何存储它。为了更好地理解,您必须自己破解快速代码并查看或接近swift电子邮件列表,即swift@lists.launchpad.net。还可以找到以下链接Swift Api docs