动态RDF数据集查询结果变更检测与调度策略研究
1. 相关工作
在动态RDF数据集的查询结果变更检测方面,有多种现有应用与之相关,比如外部查询缓存、部分数据集更新以及通知服务等。然而,尽管有研究展示了如何通过对先进的SPARQL处理器进行合理修改来计算最后修改日期,但实际可用的实现却很少。实际上,只有极小部分的公共SPARQL端点支持按查询进行缓存机制。
为了克服直接缓存指标的缺失,需要采用替代方法来识别数据集更新。最常见的方法是通过一个包装器重定向更新,该包装器会记录所有更改,但这种方法不适用于他人发布的数据集。如果数据发布者提供了数据集更新信息,就可以对这些信息进行分析。此外,虽然有数据集更新通知工具,但很少被部署。
由于实际上几乎完全缺乏上述缓存指标和变更检测提示,我们依赖于重新执行查询。显然,这种方法会导致额外的网络流量和服务器负载开销。为了减少这种开销,我们研究了有效的调度策略。
查询结果缓存也用于数据库系统,主要是为了增强动态数据库驱动网站的后端数据库的可扩展性。最著名的系统是Memcached,它支持为单个缓存条目定义过期时间以及本地缓存失效,但无法使其他来源的更新失效。更复杂的系统,如基于代理的查询结果缓存Ferdinand,使用更新通知来使本地缓存失效。
2. 预备知识
我们考虑一个动态数据集D,它会持续或定期更新。假设存在一个连续时间点序列$\overrightarrow{T} = (t_1, t_2, …, t_n)$,在这些时间点上数据集构成不同的版本。此外,我们考虑一个有限的SPARQL查询集Q。
对于每个时间点$t_i$和每个查询$q \in Q$,我们用$result
超级会员免费看
订阅专栏 解锁全文
1005

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



