2012-02-06 70 views
35

我想知道什么是使用Triple存储在关系数据库的优势是什么?三重店VS关系数据库

+1

他们是非常不同的东西;你可以说得更详细点吗? – 2012-02-06 11:17:19

+0

这就像询问在苹果上使用螺丝刀的优点。两个有用的东西,但几乎不可互换。 – 2012-02-06 12:32:06

+0

@ MikeSherrill'CatRecall'然后解释_why_就是这种情况的一个很好的答案?我一个人,当然不知道。并欢迎三人关系霸主。 – Benjohn 2017-10-14 21:32:59

回答

43

是广泛使用RDF Triplestores商业公司的CTO的观点:

架构的灵活性 - 这是可能的架构更改相当于做一个RDF店现场,并没有任何停机或重新设计 - 这不是免费的午餐,你需要小心你的软件如何工作,但这是一件非常容易的事情。

更现代的RDF商店通常通过HTTP进行查询,因此将它们纳入服务架构非常容易,而不会出现桥接解决方案或性能问题。他们还处理国际化的内容比典型的SQL数据库更好 - 例如你可以有不同语言的多个值。

标准化 - 使用RDF和SPARQL实现标准化水平比SQL高得多。将一个三重商店换成另一个三重商店是可能的,但是你必须小心,你不会超出标准。在商店之间移动数据很容易,因为它们都使用相同的语言。

表现力 - 它更容易比SQL在RDF复杂的数据模型和查询语言使得它更容易做的事情一样LEFT JOIN的(在SPARQL称为可选)。相反,如果你的数据非常表格化,那么SQL更容易。

Provenance - SPARQL让您可以跟踪每条信息的来源,并且可以存储关于它的元数据,让您轻松进行复杂的查询,仅考虑来自特定来源的数据或具有某种信任级别的从某个日期范围等

有缺点,但。 SQL数据库通常要更加成熟,并且比典型的RDF数据库具有更多的功能。诸如交易之类的事情往往更为粗糙或不存在。此外,RDF v的SQL中存储的单位信息成本明显较高。这很难概括,但如果您有大量数据,这可能很重要 - 尽管至少在我们的情况下,考虑到灵活性和强大的功能,这在财务上是一个整体收益。

+2

对于Steve的所有观点来说,使用三重商店的优点(以及缺点)是+1。我认为推理是一种优势,尽管这不是一个无处不在的功能,所以也许这是一半的优势=) – Michael 2012-02-06 17:01:35

7

两个提意见是正确的,尤其是Semantic Web不是一个数据库,它比这更普遍一点。

但我猜你可能意味着三联店,而不是一般的语义网,三重店诉关系型数据库是一个较为有意义的比较。我将通过指出我不是关系数据库系统方面的专家作为我的答案的前言,但我对三重商店有一点了解。

三(或四)存储基本数据库的语义网络,特别是RDF上的数据。这就是三元组之间的相似性存储关系数据库结束的地方。两个存储数据都具有查询语言,两者都可以用于构建应用程序;所以我猜如果你眯起眼睛,他们会非常相似。但是每个存储的数据类型都有很大不同,所以这两种技术针对不同的用例和数据结构进行了优化,所以它们不是真正可以互换的。

很多人在关系数据库的顶层覆盖了世界三元视图,并且可以工作,并且比专门用于存储和检索三元组的系统慢。问题之一是,SPARQL,由三联门店使用的标准查询语言,可能需要大量的自我联接,一些关系数据库不优化。如果你看一下基准,如SP2B,你可以看到Oracle,刚刚覆盖其关联分析的SPARQL支持,在中间或在包装的背面时,更多的本地支持RDF系统相比,运行。

当然,RDF系统可能会得到由Oracle,如果他们这样做了关系数据的SQL查询粉碎。但是这很重要,您可以选择适合您要构建的应用程序的工具。

所以,如果你想建立一个语义Web应用程序,或者只是试图让该地区的一些熟悉,我建议用专用的三重店最终去。

我不会深入到推理和如何播放到查询三联门店回答,因为这是另一个讨论,但它是关系系统和三店是做推理之间的另一个重要区别。

7

一些triplestores(炫技,Jena的SDB)是基于关系数据库和简单地提供一个RDF/SPARQL接口。因此,为了轻松地重述这个问题,三重商店是从三重商店建立起来的,而不是那些没有那些商品的三重商店 - @史蒂夫 - 哈里斯绝对知道这个答案;)但我打赌是肯定的。

其次,做什么特点triplestores有RDBMS没有。简单的答案是支持SPARQL,RDF,OWL等(即语义Web技术堆栈)并使之成为公平的战斗,它更好地定义基于SPARQL 1.1的SPARQL的值(它具有比1.0更多的功能) 。这提供了对联邦(非常酷),属性路径表达式和蕴涵机制以及更新协议,图形管理协议(SPARQL 1.0没有和极度缺乏)的标准集合的支持。同样,@ steve-harris指出,尽管很多供应商提供了非标准化的交易机制(Virtuoso支持符合JDBC和Hibernate的连接池和管理以及Hibernate的所有交易功能),但交易不属于标准(蠕虫的一部分)

在我心中最大的缺点是,没有多少triplestores支持所有SPARQL 1.1的(因为它是仍然没有推荐),这是真正的利益所在。尽管如此,我始终一直主张用三层存储取代RDBMS,而我提供的平台完全由三层存储运行(我最后一个角色中的大众汽车就是这方面的一个例子),不再需要RDBMS。另一个优点是Object到RDF的映射比传统的ORM(也称为在圆孔中放置一个方形钉)更灵活,并提供了更多的选择和灵活性。

+1

SPARQL 1。1现在在推荐,AFAIK。 – 2013-04-28 12:28:55

0

你也仍然可以使用一个数据库,但使用RDF作为数据交换格式,它是非常灵活的。