瞭解圖形資料庫

Tybyq發表於2018-11-26

企業架構師應該知道什麼

您在Google上獲得的圖表資料庫的描述主要是學術性的。 我看到很多關於圖形資料庫的描述,它們討論了Königsberg的七座橋樑或網際網路的發明者Berners-Lee。 有理論和願景很好,但對我來說,我仍然認為引導相關性很重要。 為什麼圖形資料庫對您很重要?

RDBMS與圖形

想象一下儲存在當地連鎖餐廳的資料。 如果您要跟蹤,則將客戶資訊儲存在一個資料庫表中,將您提供的專案儲存在另一個資料庫表中,以及您在第三個表中進行的銷售。 當我想了解我銷售的產品,訂購庫存以及瞭解我最好的客戶是誰時,這很好。 但缺少的是結締組織以及專案之間的連線以及資料庫中的功能,這些功能可以讓我充分利用它。

圖形資料庫儲存相同型別的資料,但也能夠儲存事物之間的連結。 約翰購買了很多百事可樂,傑克與瓦萊麗結婚,買了不同的飲料。 我沒有必要執行JOIN來了解我應該如何向每個客戶推銷產品。 我可以看到資料中的關係,而無需做出假設並對其進行測試。

這個新的連線資訊層為您做了很多。 這不僅僅與買方意圖有關,而且在許多用例中可能會有所幫助,它在機器學習或者您希望機器進行分析或推理時非常有用(參見下表)。

語義層的應用程式示例
儲存語義資訊

用例
所有權
蘇珊擁有一輛本田。 還有誰擁有本田?
買方意圖
利益
史蒂夫對足球感興趣。 還有誰?
設計者
弗蘭克勞埃德賴特設計了古根海姆。 還有什麼?
知識圖
<分類>
古根海姆博物館。 什麼是其他博物館?
連線
透過埠,例如server1透過埠8080連線到server2。 這是否超出預期?
網路/ IT運營
與....關聯 
基因與癌症有關。 還有什麼基因?
生命科學
還有很多

由於傳統資料庫是使用表而不是連結資料設計的,因此SQL將不再使用。 這引發了類似SQL的語言(但對於連結資料集或圖形資料結構),例如SparQL,Gremlin和Cypher等等。 一個主要區別是您需要對連結資料採取行動的分析功能。 如果我想找到最熱門的時間在您的網站上購買某種產品,或者如果我想對某個專案的受歡迎程度進行排名,那麼就會有一種新的語法。 您需要學習連線資料的語言才能充分利用它。

你不能用RDBMS做到這一點嗎?

是的,可以在傳統的關聯式資料庫管理系統(RDBMS)中建立這些連結。 但是,要在傳統資料庫中執行這些任務,資料庫管理員必須努力維護唯一鍵並重建與JOIN的關係。 如果使用圖形資料庫,則主題及其關係(稱為主題和謂詞)都是已知的。 沒有必要重建連線。

如果你之前已經定義瑪麗是佐伊的母親,那麼推斷佐伊是瑪麗的女兒是另一個例子。 您不一定需要專門定義這兩種關係,因為圖形資料庫對此很聰明。 相比之下,關聯式資料庫無法理解任何未定義的內容。 因此,在檢視興趣,家庭和社群時,這種推理能力具有明顯的價值。

警告:圖形資料庫有專長

與傳統的RDBMS一樣,圖形資料庫可以是事務性的也可以是分析性的。 選擇圖形資料庫時選擇焦點。 例如,流行的Neo4J專注於事務(OLTP)圖資料庫,而AnzoGraph是分析(OLAP)圖資料庫。 當您第一次嘗試使用圖形資料庫時,這似乎是一個微妙的區別。 但是,您可能需要一個不同的引擎來執行涉及單個實體的快速查詢(例如,Susan擁有什麼車?)以及輪詢整個資料庫的分析查詢。 (例如蘇珊等人支付的汽車的平均價格是多少?)。 隨著機器學習和人工智慧的發展,圖形OLAP資料庫變得非常重要,因為許多機器學習演算法本質上是圖形演算法,並且在圖形OLAP資料庫上執行比在RDBMS上執行它們更有效。

如果您想了解更多關於SparQL(W3C定義的圖形資料庫標準語言)的資訊,請 線上 檢視許多 SparQL教程之一 有足夠的機會 嘗試 像AnzoGraph這樣 的圖形資料庫


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557424/viewspace-2221691/,如需轉載,請註明出處,否則將追究法律責任。

相關文章