论文部分内容阅读
随着LOD等项目的发展、各大商业公司的推动,语义网上的RDF数据爆发式增长,人们迫切需要可以提供高效存储、查询RDF数据服务的SPARQL执行引擎。于此同时,传统关系数据库经过近40年的研究和发展,性能优化、安全、事务等功能趋向于完善,完全可以应对工业级的应用需求;随着大数据概念的发展,越来越多的NoSQL数据库涌现,这些NoSQL数据库打破ACID的限制,易于对系统进行水平扩展,应对更为复杂的应用需求。本文构建了名为SPONSON的SPARQL执行引擎,该系统可以根据应用场景不同分别复用文档型NoSQL数据库或关系型数据库作为底层存储。为了使用文档型NoSQL数据库作为底层存储,本文提出了基于主语划分RDF数据集的概念以减少查询处理过程中涉及到的连接操作,同时提出了基于统计的专门针对RDF数据的查询优化策略。为了协调RDF数据模型与关系数据模型的不一致,本文提出了基于布尔矩阵分解的RDF数据集分析框架,该框架统一了属性表和垂直划分这两种存储策略,在优化目标的指导下,寻找贴合数据集的存储模式。最后,本文将SPONSON中复用NoSQL数据库与关系型数据库的两个子系统与两个著名的SPARQL执行引擎(Jena-TDB、Virtuoso)在多个标准测试集上进行了全面、详细的性能对比,验证了本文所提方法的有效性。