云平台中基于HBase的RDF数据存储模型研究
2014-08-07王静蕾赵明慧
王静蕾,赵明慧
(1.郑州旅游职业学院 招生就业中心,郑州 450009;2.郑州职业技术学院 机械工程系,郑州 450121)
1 RDF数据存储方式分析
随着“语义网”和关联数据技术产生的RDF数据规模急剧增加,传统单节点RDF数据库必然会出现搜索性能瓶颈,研究人员从RDF存储介质的选择、模型定义以及查询连接处理等方面进行了一些探索,但目前采用的常用解决方案仍是利用分布式计算的相关技术。
因为RDF数据的基本结构是简单的三元组,即Subjeet、Predieate、Objeet,所以无论RDF数据是基于何种关系的数据库之上,首先都必须解决如何存储它的三元组。在众多的存储方案中,基于通用分布式技术的存储方案有RDFPeers,另外还有一些是RDF数据存储优化过的集群方案,如YARS2、4Store、ClusteredTDB。本文基于以上思路,选择利用开源组织 Apache的Hadoop分布式计算平台,将Hadoop与RDF相结合,设计一种合理的存储方式将RDF存储到列数据库HBase中,利用Hadoop的海量存储与并行计算能力来满足RDF超大规模数据存储查询,然后通过MapReduce 编程模型实现并行化RDF 查询操作,从而提升查询性能,解决海量RDF 存储和查询面临的可扩展性及查询性能瓶颈问题。
2 RDF存储系统的模型分析
按RDF数据存储的方式,可以将其分为三种模型。
2.1 Hadoop结合平面文件,代表系统是SHARD
此系统没有根据RDF的三元组的三个分量建立相应索引机制,而是采用平面文件的方式组织数据,将整个数据集存储到HDFS上。缺点是不能有效处理随机查询以及三元组的增加删除操作,另外,为了尽可能的访问多个节点,SHARD将原本逻辑关系密切的三元组哈希分布到集群中的各个节点,这样在执行SPARQL查询时,必须在网络上传输大量的数据,一定程度上影响了查询性能。……
