论文部分内容阅读
RDF(Resource Description Framework,资源描述框架)数据存储作为知识图谱领域中的重要存储框架,广泛应用于生物、医学、地理等多领域中,是目前研究热点之一,而知识图谱作为语义网的现代演化,对RDF数据存储的研究有着更为广阔的应用前景。但随着大数据时代的到来,网络数据规模日渐扩大,如何对海量数据进行有效和高效地存储成为了对当今语义网研究的一个巨大的挑战。对语义网而言,使用传统HTML文档和XML文档解析语义网已经很难满足目前海量数据存储和处理的要求,业界各大互联网公司和研究机构纷纷投入对这方面的研究,其中使用非关系型数据库(NoSQL)存储RDF数据最为广泛。所以利用NoSQL存储RDF数据是目前语义网研究领域中的主要研究方向之一。针对上述挑战,本文研究了非关系型数据库中具有代表性的基于内存存储的键值对存储模型——Redis图数据库,以及传统存储RDF的数据模型,主要工作分为以下三大块。首先针对当今语义网领域面临的海量RDF数据存储的挑战,本文设计了基于Redis图数据库的RDF分布式数据存储方案。利用RDF数据图结构的特性,将RDF三元组映射成Redis数据库中的key-value键值对,而键值对存储模式利用了内部数据结构ziplist,将相同主体的所有属性和属性值进行汇总并打包成一条键值对数据。该方案相比于其他传统存储模型,使RDF数据更简洁和灵活地存储在数据库内,并且可以利用Redis数据库做分布式存储。其次为了检验提出的基于Redis数据库的RDF数据存储方案的正确性和高效性,本文结合现代分布式性能分析工具,设计了一套基于Redis图数据库分布式性能测试方案。方案的核心思想是将资源尽量均匀分配到各个结点,利用负载调控模块的SOA(Service-Oriented Architecture)框架,使各个模块在测试框架中发挥不同的作用。最后为了让性能测试工作顺利进行,对Redis数据库的源码进行了部分修改和增加,增加了对RDF数据的增删改功能,使实验操作更为便捷。