对于数据密集型应用而言,元数据的管理已经成为系统的瓶颈。一部分原因是由于元数据的抽象仍沿用50年前的接口标准,那时文件系统要处理的数据还小于100MB,而现在则增长了7~9个数量级。现有的元数据抽象已经远远不能满足需求,例如,层次目录无法处有效理数据间的复杂关联。为了弥补这种不足,有些研究者试图将跟特定应用相关的元数据信息转移到关系型数据库中,但这种拆分将导致系统的低效与管理问题。
当存储系统在容量与吞吐率方面取得突飞猛进的进展时,自定义的元数据组织方法已经远远落后,并成为整个系统性能的瓶颈。很多文件系统仍采用50年前的一种基于分级数据组织模型的POSIX接口。现有应用的需求促使我们必须打破POSIX接口的固有限制,虽然层次模型在某些方面仍可适用,但在处理复杂的数据关联性方面却显得力不从心。然而,图数据模型却在很多应用中被证明非常适合表达数据间关系,并能对层次模型进行扩展,同时还能有效的支持对查询结构的排序。
测试数据集:图像元数据,文本元数据,高性能计算元数据。
上层应用需要定位文件,POSIX路径在这方面有限制,它需要准确的位置信息,即路径和文件名。相对的,查询接口则根据许多语义属性的集合来定位目标文件。所以,使用查询语言来搜索图数据模型比较适宜。
上层应用可以将元数据的管理从文件系统中分离出来,并通过关系型数据库进行处理。但是,关系型数据库要求对每一个上层应用,都必须定义一个具体的模式和索引配置。当上层应用的数据结构发生变化时,数据库的设计也必须进行相应修改。另一方面,文件系统一般只会针对一系列上层应用的共享使用进行配置和优化。当应用程序同时使用文件系统和数据库时,就会带来管理上的难题,如数据一致性问题。
所以,我么提出的方法是使用图数据模型来表达自定义的元数据,并使用查询语言来进行检索。我们的目的是在单一的文件系统接口中,同时支持自定义元数据和数据的管理,并提供跨应用程序的公共服务。应用程序可以根据自己的需求,自由卸载相应的元数据管理模块,这样,一方面可以减少代码复杂性,另一方面,提高了应用间的互用性。
本文贡献:(1)设计并实现了基于图结构的QMDS原型。(2)设计并实现了针对图模型的查询语言。(3)量化评估QMDS原型与层次结构文件系统加关系型数据库之间的比较。
相关工作:(1)基于扩展属性的API。(2)语义文件系统。(3)逻辑文件系统。