2012-02-06 68 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作爲數據交換格式,它是非常靈活的。