圖數據庫(Graph Database)是一種以圖結構進行存儲和查詢的數據庫。圖數據庫的關鍵概念是點(代表實體)和邊(代表關係),通過邊將頂點連接在一起,從而進行快速的圖檢索操作。
與傳統關係型數據庫相比,圖數據庫的優勢有:
- 可以很自然的表達現實世界中的實體及其關聯關係(對應圖的頂點及邊);
- 靈活的數據模型可以適應不斷變化的業務需求;
- 靈活的圖查詢語言,輕鬆實現複雜關係網絡的分析;
- 關係型數據庫在遍歷關係網絡並抽取信息的能力非常弱,圖數據庫則爲此而生;
- 關係型數據庫在規模龐大時很難做多層關聯關係分析(Join操作往往消耗過長時間而失敗),圖數據庫則天然把關聯數據連接在一起,無需耗時耗內存的Join操作,可以保持常數級時間複雜度。
圖數據庫典型查詢示例
- 多層關聯:查詢一個人的好友的好友有哪些?
- 最短路徑:查詢兩個點之間的最短路徑。
- 連通子圖:查詢一個點在K步以內相連接的所有鄰接點(K=1,2,3…)。
- 協同推薦:查詢一個人的好友裏面,哪些人喜歡哪些東西,然後把那些東西推薦給這個人。
- 集中度測量:如PageRank、PersonalRank、特徵向量集中度、親密度等。