6

三重存储数据库(例如Mulgara)的优缺点是什么?在哪些情况下,它的性能会与传统的关系型数据库有显着差异?

我特别考虑在表单中有数据的情况namespace:predicate=value。Triplestores 似乎将数据保持在“自然”形式,但我想知道除此之外是否还有特定的优势。

4

2 回答 2

5

我是Redland的创建者,其中包括 C 中的本机三重存储,而且我使用了一些 Java 系统,如 Jena 和 Sesame。

在不知道您的问题是什么的情况下很难说更多,但一般来说,如果您的问题空间/查询模式更“图形”而不是“客观”,则本机三重存储会更好地工作。Objecty 意味着您倾向于始终进行操作 - 每次设置/获取相同的数据模式 - 在这种情况下,您不妨使用 ORM 或其他对象关系映射和固定模式。如果您的问题和架构更具动态性 - “图形化” - 您可能会从三重存储方法中受益,在这种方法中,与通常在 RDBMS 世界(又名连接)中相比,它更容易跨越数据。

当然,也有文档方法,例如 CouchDB,但从您提供的信息中很难知道。

于 2009-06-16T00:51:53.853 回答
2

我假设您正在询问三元组的持久性(可能还有通过四元组的图),其中存储是“本机”三元组存储(例如,TDB)或具有三元组覆盖的关系数据库(例如SDB)。

如果您详细说明您的要求,我相信 Stack Overflow 成员可以提供更直接的答案,但只是在我的脑海中:

  • 当数据集的大小变得非常大时,本机三元存储通常具有更好的性能。查看来自 W3C 的一些数字
  • 本机三元存储可以提供店内推理/推理(如 Oracle 的语义工具包,尽管它不完全支持 SPARQL)。
  • RDBMS 中的三元组可以“轻松”集成到传统报告工具(如 Jasper Reports)中,因为您可以使用 SQL 查询它们。
于 2009-06-14T22:08:21.350 回答