本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
有關從 Neo4j 遷移到 Neptune 的一般資訊
透過 Neptune 對 OpenCypher 查詢語言的支援,您可以將使用 Bolt 通訊協定或 HTTPS 的大多數 Neo4j 工作負載移至 Neptune。不過,OpenCypher 是一種開放程式碼規範,其中包含其他資料庫 (例如 Neo4j) 所支援功能的大部分但不是全部。
儘管在許多方面相容,Neptune 並不是 Neo4j 的直接替代品。Neptune 是一種全受管圖形資料庫服務,具有高可用性和高持久性等企業功能,在架構方面與 Neo4j 不同。Neptune 是以執行個體為基礎,具有單一主要寫入器執行個體和最多 15 個僅供讀取複本執行個體,可讓您水平擴展讀取容量。使用 Neptune Serverless,您可以自動向上擴展和縮減運算容量,取決於查詢磁碟區。這與 Neptune 儲存體無關,此儲存體會在您新增資料時自動擴展。
Neptune 支援開放原始碼 openCypher 標準規格第 9 版
不過,在 Neo4j 上執行的許多應用程式也會使用不是開放原始碼且 Neptune 不支援的專屬功能。例如,Neptune 不支援 APOC 程序、某些 Cyphers 特定的子句和函數,以及 Char
、Date
、或 Duration
資料類型。Neptune 會自動將遺失的資料類型轉換為支援的資料類型。
除了 openCypher 之外,Neptune 還支援 Apache TinkerPop Gremlin
openCypher | Gremlin | |
---|---|---|
Style (樣式) |
宣告式 |
命令式 |
語法 |
模式比對
|
周遊型
|
易於使用 |
受 SQL 啟發,非程式設計人員可讀取 |
更陡峭的學習曲線,類似於 Java 等程式設計語言 |
彈性 |
低 | 高 |
查詢支援 |
字串型查詢 |
用戶端程式庫支援的字串型查詢或內嵌程式碼 |
用戶端 |
HTTPS 和 Bolt |
HTTPS 和 Websocket |
一般來說,不需要變更資料模型,即可從 Neo4j 遷移到 Neptune,因為 Neo4j 和 Neptune 都支援標記的屬性圖 (LPG) 資料。不過,Neptune 有一些架構和資料模型差異,您可以利用這些差異來最佳化效能:例如:
Neptune ID 被視為頭等公民。
Neptune 會使用 AWS Identity and Access Management (IAM) 政策,以靈活且精細的方式保護對圖形資料的存取。
Neptune 會提供幾種方式,來使用 Jupyter 筆記本以執行查詢和視覺化結果。Neptune 也會使用第三方視覺化工具。
> 雖然 Neptune 沒有 Neo4j 圖形資料科學 (GDS) 程式庫的直接替代品,但是 Neptune 如今會透過各種解決方案支援圖形分析。例如,數個範例筆記本
示範如何在 Python 環境中利用 Neptune 與 AWS Pandas SDK 的整合 ,對圖形資料執行分析。
如果您有任何問題,請聯絡 AWS 支援或與您的 AWS 客戶團隊互動。我們會使用您的意見回饋,來排定符合您需求之新功能的優先順序。