Amazon Neptune 是一項 Amazon Web Services (AWS) 提供的全受管圖形資料庫服務 (Graph Database Service)。它專為建立和運行高度互連資料的應用程式而設計,例如社交網路、推薦引擎、詐欺偵測和知識圖譜等。
與傳統的關聯式資料庫(如 MySQL)或 NoSQL 文件資料庫(如 DynamoDB)不同,圖形資料庫專門用於儲存和查詢關聯性 (relationships)。Neptune 能夠高效地處理數十億個關係和數萬億個節點(資料點)。
主要概念與特點:
- 圖形資料模型:
- Neptune 支援兩種流行的圖形模型: 屬性圖 (Property Graph): 由節點 (Nodes)、邊 (Edges) 和屬性 (Properties) 組成。節點代表實體(如人、地點、事物),邊代表實體之間的關係,而屬性則為節點和邊提供額外的資訊。RDF (Resource Description Framework): 一種基於三元組(主語-謂語-賓語)的語義網標準。
- 支援兩種主要的圖形查詢語言: Gremlin: 屬性圖的遍歷語言。SPARQL: RDF 資料的查詢語言。
- 全受管服務:
- AWS 負責所有的資料庫管理任務,包括硬體佈建、叢集設定、修補、備份、恢復、故障偵測、自動故障轉移和擴展。
- 這大大降低了運行和維護圖形資料庫的複雜性。
- 高性能:
- Neptune 專為圖形查詢而優化,能夠快速執行複雜的關聯遍歷。
- 它具有高吞吐量,每秒能執行數十萬個圖形查詢。
- 高擴展性:
- 儲存與運算分離: 採用與 Amazon Aurora 類似的儲存架構,將運算與儲存分離。儲存層可以自動擴展到 PB 級別,而無需停機。
- 讀取擴展: 您可以創建多達 15 個低延遲的讀取副本,這些副本共享相同的底層儲存,有助於擴展讀取密集型應用程式的吞吐量。
- 高可用性與耐用性:
- 多可用區域部署: 資料在 3 個可用區域 (Availability Zones, AZs) 中自動複製 6 份副本,以實現高耐用性。
- 自動故障轉移: 如果主實例發生故障,Neptune 會自動且快速地故障轉移到其中一個讀取副本,通常在 30 秒內完成,確保服務連續性。
- 自動備份和時間點恢復: 提供連續備份功能,並支援在過去 35 天內任何時間點恢復資料。
- 安全性:
- 資料在靜態和傳輸中都受到加密保護。
- 整合 AWS IAM 進行身分驗證和精細的存取控制。
- 支援 Amazon VPC (Virtual Private Cloud) 網路隔離,確保資料庫在您的私有網路中運行。
典型使用案例:
- 社交網路: 儲存使用者、朋友、追隨者、按讚、評論等關係,快速查詢共同朋友、影響者等。
- 推薦引擎: 分析使用者與產品、服務、內容之間的互動和相似性,提供個性化推薦。
- 詐欺偵測: 識別複雜的詐欺模式,例如多個帳戶共享相同 IP 或裝置,或不同帳戶之間的異常交易關係。
- 知識圖譜: 儲存和連結不同實體之間的豐富關係,以實現智能問答、語義搜尋或決策支持。
- 網路安全: 建模網路連接、裝置、使用者和事件之間的關係,以偵測異常行為。
- 身份和存取管理: 管理使用者、群組、資源和權限之間的複雜關係。