本系列筆記是在看完《neo4j權威指南》基礎上做的記錄。方便於自己後面查閱!! 1.圖庫介紹 圖資料庫(Graph Database)是基於圖論實現的一種新型NoSQL資料庫。它的數據存儲結構和數據的查詢方式都是以圖論為基礎的。圖論中圖的基本元素為節點和邊,在圖資料庫中對應的就是節點和關係。在圖數據 ...
本系列筆記是在看完《neo4j權威指南》基礎上做的記錄。方便於自己後面查閱!!
1.圖庫介紹
圖資料庫(Graph Database)是基於圖論實現的一種新型NoSQL資料庫。它的數據存儲結構和數據的查詢方式都是以圖論為基礎的。圖論中圖的基本元素為節點和邊,在圖資料庫中對應的就是節點和關係。在圖資料庫中,數據與數據之間的關係通過節點和關係構成一個圖結構併在此結構上實現資料庫的所有特性,如對圖數據對象進行創建、讀取、更新、刪除(Create、Read、Update、Delete,簡稱:CRUD)等操作的能力,還有處理事務的能力和高可用性等。
市面比較流行的圖資料庫有以下幾種:
以下是複雜關係圖
2.圖數據模型
圖資料庫模型有三種:屬性圖、三原組、超圖,其中neo4j使用屬性圖來實現,超圖是體現多對多關係的,如果使用一條抄邊來體現關係,可能會隱藏很多信息,大多數超圖都可以轉為屬性圖,如下圖所示:
三元組是語義網,是包含主謂賓的數據結構,使用rdf框架來增強只是推理和知識關聯性。
屬性圖的圖數據模型特征如下:
(1)包含節點和關係。
(2)關係上含有屬性。
(3)節點有屬性,節點對應一個或者多個標簽。
(4)關係有名稱和方向,並總是有一個開始節點和一個結束節點。
3.圖計算引擎
跟關係型資料庫一樣,圖資料庫也是有一個計算引擎存在,它可存儲大型圖數據集並且實現全局圖計算的一種資料庫核心構件。圖計算 引擎計算流程如下圖所示:
圖計算引擎相應客戶端數據請求,周期性從數據記錄系統進行數據抽取、轉化、載入數,將數據從記錄系統中讀入圖計算引擎中,進行查詢分析 ,最後將結果反饋給終端或者應用程式。