什麼是圖形資料庫?

圖形資料庫的定義

圖形資料庫專門用於存放和導覽關係。「關係」是圖形資料庫中的第一類物件,圖形資料庫最主要的價值也是源自於這些關係。圖形資料庫使用節點來存放資料實體,並利用邊緣來存放各實體間的關係。邊緣一定包含起始節點、結束節點、類型和方向。邊緣可以用來描述父項與子項的關係、動作、所有權等等。一個節點所能擁有的關係數量與關係類型沒有限制。

圖形資料庫中的圖形可沿特定的邊緣類型或跨整個圖形周遊。在圖形資料庫中周遊聯結或關係非常迅速,因為各節點間的關係並非以查詢次數計算,而是被保留在資料庫中。在社交聯網、推薦引擎和詐騙偵測等需要在資料間建立關係以及快速查詢這些關係的使用案例中,圖形資料庫具有優勢。

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

社交網路圖形範例

使用案例

詐騙偵測

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

推薦引擎

圖形資料庫很適合用於推薦應用程式。透過圖形資料庫,您可以將客戶興趣、朋友和購買歷史紀錄等各類資訊間的關係存放為圖形的形式。您可以使用高度可用的圖形資料庫,根據關注相同運動且擁有相似購買歷史記錄的其他人所購買的產品,向使用者推薦產品。或者,您可以識別有共同朋友但還不認識彼此的使用者,藉此推薦朋友人選。 

熱門圖形資料庫

Amazon Neptune

Amazon Neptune 是專門打造的高效能圖形資料庫引擎,針對存放數十億筆的關係最佳化,查詢圖形時只會有數毫秒的延遲。Neptune 支援熱門的圖形模型 Property Graph 與 W3C 的資源描述架構 (RDF),同時它也支援其各自的查詢語言 Apache TinkerPop Gremlin 與 SPARQL,使用者可建置查詢,有效率地導覽高度連線的資料庫。 

Neptune 具有高可用性、僅供讀取複本、point-in-time 恢復、連續備份至 Amazon S3,並可跨可用區域進行複寫。Neptune 非常安全,支援靜態加密。Neptune 完全受管,因此您不用再擔心硬體佈建、軟體修補、安裝、設定、監控或備份等的資料庫管理任務。

AWS re:Invent 2017 中的 Amazon Neptune 公告

Neo4j

Neo4j 是開放原始碼、非關聯式的原生圖形資料庫,能為您的應用程式提供 ACID 合規的交易處理後端。Neo4j 屬於原生圖形資料庫,因其能高效地將屬性圖模型實施至儲存層級。 Neo4j 也提供完整的資料庫特性,包括 ACID 交易合規、叢集支援和執行時間容錯移轉。Neo4j 支援自有的 Cypher 查詢語言以及 Gremlin。

若要開始使用 Neo4j,請參閱 AWS Marketplace