2

我尝试在我的应用程序中使用语义数据模型,因为它具有可扩展性。我已经阅读了 RDFStore(Sesame、Jena 等)之间的性能/规模比较以及各自的优缺点

但是,我想知道语义数据存储与传统 mysql 查询和数据库的查询性能有何影响。

RDBMS 优化了索引和查询计划,以实现更快的响应。我们是否正在失去那些拥有语义数据存储的人?有研究吗?

你能提供指针/资源吗?

4

1 回答 1

1

我认为通常关系数据库在它们重叠的任务中会比三重存储更快。但这并不完全令人惊讶,关系数据库在研发方面领先了数十年。

因此,如果您的任务很容易在关系模型和 RDF 模型中表示,那么使用关系数据库可能会更快。

但这并不是说三联商店不快速或不可扩展,这是一个谬论。它们针对存储 RDF 和回答 SPARQL 查询的要求进行了优化。我不是学者,但感觉这些领域的研究在过去十年中确实增加了很多。

我想说所有的索引都有优化,这些优化的工作方式和应用方式可能会因存储而异,因为每个查询引擎的访问模式不同,但它们已经非常优化。你不能像处理关系存储那样真正修补它们,但根据我的经验,这是最好的。数据库供应商知道他们应该如何比用户表现得更好。

大多数都有查询计划器或至少某种形式的查询优化内置到查询引擎中。

最后,三重存储比 Jena 和 Sesame 多得多,Jena 和 Sesame 主要是三重存储的API,尽管它们提供了 TDB 和 Sesame Native 作为他们自己开发的三重存储实现。Stardog、OWLIM、Virtuoso、4Store、Mulgara、Parliament、BigData 是我想到的其他一些产品。

简而言之,如果 RDF 适合您的应用程序,则使用它,并使用三重存储。如果关系模型更有意义,则使用标准关系数据库。如果您尝试将一个鞋拔到另一个上,您将度过一段糟糕的时光。

于 2012-05-02T19:14:49.273 回答