基于MapReduce的RDF图模式查询代数优化
1. 引言
语义网和数据网络倡议的成功推动了“大语义网数据”时代的到来。像十亿三元组挑战这样的数据集规模达到数十亿个三元组,而开放科学数据云等科学数据集合则接近PB级。如何应对处理这些大规模数据集合的可扩展性挑战成为关键问题。此外,新兴应用对可扩展性提出了非传统需求,其需求在不同时期弹性变化。例如,生物学家可能希望通过关联其他公开可用的数据来分析蛋白质数据,这些数据可能来自不同领域。
由于本地存储和管理大量网络生物数据资源有限,且用户对跨学科数据本地管理兴趣不大,云数据服务越来越受欢迎。许多云数据服务基于MapReduce编程模型,其编程简单,支持由商用机器组成的集群,成本较低。Hadoop作为MapReduce的开源实现,以及基于Hadoop的扩展(如Apache Pig和Hive),提供了高级数据流或查询语言和自动优化技术,正逐渐流行起来。
在语义网数据的可扩展处理中,查询处理技术需应对资源描述框架(RDF)等语义图数据模型带来的独特挑战。RDF数据以三元组形式建模,一个三元组 (Subject, Property, Object) 表示一个资源(Subject)具有某个属性(Property),其值(Object)是另一个资源或字面量。查询RDF图的基本构造是三元组模式,通过变量匹配数据库中的三元组。多个三元组模式可组合成图模式,答案是满足所有三元组模式连接条件的变量替换列表。
RDF的细粒度数据模型导致查询工作负载中的连接操作比关系型工作负载多得多。这给关系型查询计划生成策略带来挑战,因为连接操作产生的搜索空间大,且传统的剪枝启发式方法(如仅使用左线性计划)不适用于RDF查询。同时,基于成本的查询优化技
超级会员免费看
订阅专栏 解锁全文
75

被折叠的 条评论
为什么被折叠?



