圖形資料庫是一個系統化的資料集合,強調不同資料實體之間的關係。NoSQL 資料庫使用數學圖形理論來展示資料聯繫。關聯式資料庫以嚴格的資料表結構存放資料,與之不同的是,圖形資料庫將資料做為實體與關係的網路來存放。因此,這些資料庫通常會提供更出色的效能與靈活性,因為它們更適合建模現實場景。

什麼是圖形

「圖形」一詞來自數學領域。圖形包含節點和邊緣的集合。

節點

節點是存放資料物件的頂點。每個節點可以有無限數量和類型的關係。

邊緣

邊緣代表節點之間的關係。例如,邊緣可以描述父子級關係、動作或擁有權。它們可代表一對多和多對多關係。邊緣一律具有起始節點、結束節點、類型和方向。

屬性

每個節點具有描述其的特性或屬性。在某些情況下,邊緣也具有屬性。具有屬性的圖形也稱為屬性圖。

圖形範例

以下屬性圖形是一個社交網路圖形範例。選擇人員 (節點) 和他們的關係 (邊緣),您就能找出特定人員的「朋友的朋友」,比方說 Howard 朋友的朋友。

社交網路圖形範例

圖形資料庫有哪些使用案例

在社交聯網、推薦引擎和詐騙偵測等用於在資料間建立關係以及快速查詢這些關係的使用案例中,圖形資料庫具有優勢。

詐騙偵測

圖形資料庫能用於複雜的詐騙預防工作。例如,您可以使用圖形資料庫中的關係,近乎即時地處理財務交易。使用快速圖形查詢的功能,您可以偵測潛在購買者使用的電子郵件地址和信用卡是否包含在已知的詐騙案例中。圖形資料庫也能協助您透過關係模式偵測詐騙,例如多人與單一個人電子郵件地址關聯,或多人共享相同 IP 地址但住在不同實體地點。

推薦引擎

針對提供建議的應用程序,圖形模型是一個不錯的選擇。您可以客戶興趣、朋友和購買歷史紀錄等各類資訊間的關係存放為圖形的形式。您可以使用高度可用的圖形資料庫,根據有相似興趣及購買歷史記錄的其他人所購買的產品,向使用者推薦產品。您還可以識別有共同朋友但還不認識彼此的使用者,藉此推薦朋友人選。

路由優化

路由優化問題涉及分析資料集並尋找最適合特定情境的值。例如,您可以使用圖形資料庫來尋找下列項目:

  • 地圖上從 A 點到 B 點的最短路線 (考慮各種路徑)。
  • 適合特定輪班的合適員工 (分析不同的可用性、地點和技能)。
  • 適合運作的最佳機械 (考慮設備成本和使用壽命等參數)。

圖形查詢可以更快地分析這些情境,因為它們可以計算和比較兩個節點之間的連結數目。

模式探索

圖形資料庫非常適合用於探索資料中的複雜關係和隱藏模式。例如,一間社交媒體公司使用圖形資料庫來區分機器人帳戶和真實帳戶。它會分析帳戶活動,以發現帳戶互動與機器人活動之間的聯繫。

知識管理

圖形資料庫提供資料整合、連結資料和資訊共用的技術。它們以標準化格式呈現複雜的中繼資料或領域概念,並為自然語言處理提供豐富的語義。您還可以使用這些資料庫進行知識圖表和主資料管理。例如,機器學習演算法使用圖形模型,來區分亞馬遜雨林和 Amazon 品牌。

圖形資料庫有哪些優勢

圖形資料庫專為管理高度聯繫的資料而自訂建置。隨著現代資料的聯繫和資料量不斷增加,圖形資料庫提供了經濟高效的利用和分析資料的機會。以下是圖形分析的三大優勢。

靈活性

圖形模型的結構描述和結構可隨您的應用程式而變更。資料分析師可以新增或修改現有圖形結構,而不會影響現有功能。無需事先進行網域建模。

效能

隨著關係的量和深度增加,關聯式資料庫模型變得不太理想。這會導致資料重複和冗餘 – 需要處理多個資料表才能探索查詢結果。相較之下,查詢關係時,圖形資料庫效能會改善幾個數量級。即使圖形資料量增加,效能仍保持不變。

效率

與關聯式資料庫相比,圖形查詢在產生相同報告方面時間更短且更有效率。圖形技術可充分利用連結節點。遍歷聯結或關係是一個非常迅速的程序,因為各節點間的關係並非以查詢次數計算,而是被保留在資料庫中。

圖形分析和圖形資料庫如何運作

圖形資料庫使用標準化查詢語言和圖形演算法來運作。

圖形查詢語言

圖形查詢語言用於與圖形資料庫互動。與 SQL 類似,該語言具有新增、編輯和查詢資料的功能。然而,這些語言充分利用基礎圖形結構,來有效地處理複雜的查詢。它們提供了一個介面,讓您能夠提出如下問題:

  • 節點之間的跳轉次數
  • 最長路徑/最短路徑/最佳路徑
  • 節點值

Apache TinkerPop Gremlin、SPARQL 和 openCypher 是常用的圖形查詢語言。

圖形演算法

圖形演算法是分析互連資料中關係和行為的操作。例如,他們會探索節點之間的距離和路徑,或分析傳入邊緣和芳鄰節點以產生報告。這些演算法可識別聯繫資料元素的常見模式、異常狀況、社群和路徑。圖形演算法的一些範例包括:

叢集處理

影像處理、統計資料和資料挖掘等應用程式使用叢集處理,根據共同特性對節點進行分組。叢集處理可根據叢集間差異性和叢集間相似性來完成。

資料分割

您可以在邊緣最少的節點上分割或切割圖形。網路測試等應用程式使用分割來尋找網路中的弱點。

圖形搜尋或遍歷採用以下兩種類型之一:「寬度優先」或「深度優先」。寬度優先搜尋會在圖形中從一個節點移至另一個節點。它在最佳路徑探索方面很有用。深度優先搜尋會沿著單一分支移動,以尋找特定節點的所有關係。

何時不適合使用圖形資料庫

專用圖形資料庫可針對高度聯繫的資料集,以及任何需要搜尋隱藏和顯示關係的分析提供最大價值。如果這不適合您的使用案例,則其他資料庫類型可能更適合。

例如,想像一個情境,您需要依項目記錄產品庫存。您只需存放詳細資訊,例如項目名稱和可用單位。由於您不需要保留其他資訊,因此資料表上的資料欄不會變更。由於資料表性質,關聯式資料庫更適合這類不相關的資料。

此外請務必注意,不要將圖形資料庫僅用作鍵值存放區。已知索引鍵的查詢結果不會最大程度地發揮圖形資料庫建立的功能。

AWS 如何支援您的圖形資料庫要求

Amazon Neptune 是專門打造的高效能圖形資料庫引擎,針對存放數十億筆的關係最佳化,查詢圖形時只會有數毫秒的延遲。Neptune 支援流行的圖形模型 — 屬性圖形和 W3C 的資源描述框架 (RDF)。它還支援相應的查詢語言,即 Apache TinkerPop Gremlin 和 SPARQL,可讓您建置有效導覽高度聯繫資料集的查詢。 Neptune 的主要特徵包括:

  • 無伺服器 – 讓您能夠以精細的增量立即擴展圖形工作負載,相較於峰值容量的佈建,可節省高達 90% 的資料庫成本。
  • 高可用性 – 包括用於全球分散式應用程式的 Amazon Neptune 全球資料庫,支援快速本機讀取效能。
  • 分離儲存與運算,因此您可以憑藉多達 15 個共用相同底層儲存的讀取複本,而無需在複本節點執行寫入,藉此來提高讀取效能。
  • 高度可靠且耐用,具有容錯和自我修復的儲存、時間點復原、持續備份等。Amazon Neptune 透過複寫六種新的寫入方式,同時只需為一份副本付費,讓您在區域內三個可用區域中的資料持久耐用。
  • 藉由預設靜態加密、網路隔離和進階稽核來實現高度安全性,同時能夠透過精細存取來控制資源層級的許可。
  • 廣泛的合規範涵蓋範圍,包括 FedRAMP (中、高)、SOC (1、2 和 3),且符合 HIPAA 要求。
  • 全受管,因此您不用再擔心硬體佈建、軟體修補、安裝、設定、監控或備份等的資料庫管理任務。

立即建立免費帳戶,開始使用 AWS 上的圖形資料庫。

Amazon Neptune 簡介
Amazon Neptune Serverless 入門