三重数据库的优点和缺点是什么?

问题描述:

什么是triplestore数据库的优势和劣势,如Mulgara?在哪种情况下,其性能与传统关系数据库的性能有显着差异?三重数据库的优点和缺点是什么?

我想特别是在哪里,你在表单namespace:predicate=value有数据的情况。 Triplestores似乎将数据保持在“自然”的形式,但我想知道除了这些之外是否还有其他特定的优势。

我假设你问的是存储是“原生”三重存储(例如,TDB)或具有三重存储重叠的关系数据库(如SDB)的三元组(可能是图形)的持久性)。

如果一个精心制作的您的要求,我敢肯定堆栈溢出成员可以提供更直接的答案,但就在我的头顶:

  • 天然的三店通常当有更好的表现数据集的大小变得非常大。见some numbers from the W3C
  • 天然的三店可以提供店内推理/推理(如Oracle的语义工具,虽然它不完全支持SPARQL)。
  • RDBMS中的三元组可以“轻松”集成到传统的报表工具(如Jasper Reports)中,因为您可以使用SQL查询它们。

我是Redland的创造者,其中包括C + +的本地三重商店我已经使用了一些Java系统,如耶拿和芝麻。

这很难说,更不知道你的问题是什么,但一般天然的三店更好地工作,如果你的问题空间/查询模式就是多“造影”,而不是“objecty”。 Objecty意味着你总是操纵 - 每次设置/获取相同的数据模式 - 在这种情况下,你可能会使用ORM或其他对象关系映射和固定模式。如果你的问题和模式更具动态性 - 'Graphy' - 你可能会受益于三重商店的方法,它更容易跳过数据,而不是通常在RDBMS世界中(又名连接)。

当然也有该文件的方法也如CouchDB的但很难从你给的信息知道的。