- 資料庫›
- Amazon Neptune›
- Amazon Neptune 常見問答集
Amazon Neptune 常見問答集
一般問題
什麼是 Amazon Neptune?
Amazon Neptune 是一項服務,包括圖形資料庫引擎、圖形分析資料庫引擎、圖形機器學習 (ML) 以及可單獨使用或搭配使用的視覺化工具。Neptune 服務可讓您輕鬆地在 AWS 上處理圖形資料。藉助 Amazon Neptune 資料庫,您可以使用專為實現卓越擴展性和可用性而設計的無伺服器圖形資料庫,針對最高要求的應用程式擴展每秒超過 100,000 個查詢的圖形。使用 Amazon Neptune Analytics,您可以快速處理大量圖形資料來取得洞察並找到趨勢。透過叫用流行的圖形分析演算法,您可以在幾秒鐘內取得結果
什麼是 Amazon Neptune 資料庫?
Amazon Neptune 資料庫提供專門建置的圖形資料庫,其中包含全套企業功能和整合。Neptune Database 支援需要高可用性、災難復原、動態擴展以及企業應用程式所需其他功能的關鍵任務圖形應用程式。
什麼是 Amazon Neptune Analytics?
Neptune Analytics 是一種分析資料庫引擎,可快速分析大量圖形資料以取得洞察並找到趨勢。
什麼是 Amazon Neptune ML?
Neptune ML 是 Neptune 資料庫中使用圖形神經網路 (GNN) 的一項功能,GNN 是一種專門針對圖形建置的 ML 技術,可以使用圖形資料進行簡單、快速和更準確的預測。
何時可以使用 Neptune 資料庫、Neptune Analytics 或 Neptune ML?
Neptune 資料庫配備 Neptune 開發人員工具,是建置大規模關鍵任務系統的正確選擇。產品推薦引擎、身分與存取管理系統以及合規性系統等系統通常需要 Neptune 全球資料庫中提供的地理分佈式功能。Neptune 資料庫儲存數十億個關係,並且每秒可處理數以萬計的互動式圖形查詢。
Neptune Analytics 搭配 Neptune 筆記本,是與資料互動以取得洞察的最佳選擇。這些功能賦能使用者使用熟悉的工具 (例如 Pandas、Jupyter 和 Python) 與資料互動,以揭示並精確定位資料中的互動和行為模式,這些模式指示欺詐、非法活動、最佳化機會等。
Neptune Analytics 的一些常見使用案例包括暫時分析、執行低延遲分析查詢、執行內建圖形演算法,以及執行向量相似性搜尋。透過向量相似性搜尋,Neptune Analytics 可用於建置擷取增強產生 (RAG) 應用程式,這些應用程式可透過內嵌所提供的密集資料表示進行搜尋。向量搜尋結果可以與圖形中的情境感知資料表示結合,以提供與關係相關的豐富情境資訊。
Neptune ML 可用於使用最先進的 GNN 設計、建置、最佳化和預測關係與分類。對於增強功能表,Neptune Analytics 可用於使用常見的演算法 (例如叢集、中心位置和路徑查找) 從連線資料中衍生關鍵特徵。
Amazon Neptune 是否提供服務水準協議 (SLA)?
是。請參閱 Amazon Neptune SLA。
Neptune 資料庫
Neptune 資料庫支援哪些流行的圖形查詢語言?
是。請參閱 Amazon Neptune SLA。Neptune 資料庫支援適用於屬性圖資料模型的兩種查詢語言:開放原始碼 Apache TinkerPop Gremlin 圖形周遊語言和 openCypher 查詢語言。而對於資源描述架構 (RDF) 資料模型,Neptune 支援 W3C 開放標準 SPARQL 查詢語言。
是否可以在同一個 Neptune 資料庫叢集上,使用 Apache TinkerPop Gremlin、openCypher 和 RDF/SPARQL?
可以,每個 Neptune 資料庫叢集可以同時儲存屬性圖資料和 RDF 資料。Neptune 提供 Gremlin 端點 (HTTPS 和 WebSocket),openCypher 密端點 (HTTPS 和 Bolt) 和 SPARQL 1.1 Protocol REST 端點。
對於屬性圖,您可以在相同的資料上執行 Gemlin 或 openCypher 查詢,而無需考慮使用何種語言輸入該資料。您可能會發現將 Gremlin 用於某些工作負載更方便,而對於其他工作負載則使用 openCypher。您無法在 RDF 資料上執行屬性圖資料查詢 (Gremlin 或 openCypher),反之亦然。
如何從現有的 Apache TinkerPop Gremlin 應用程式遷移至 Neptune 資料庫?
Neptune 資料庫提供一種能同時支援 HTTPS 和 WebSocket 連線的 Apache TinkerPop Gremlin 伺服器。佈建 Neptune 執行個體後,您可以設定現有的 TinkerPop 應用程式來使用該服務提供的端點。另請參閱透過 Gremlin 存取圖形。
是否需要變更用戶端驅動程式以使用 Neptune Gremlin 伺服器?
否,用戶端如果與使用 Websocket 和 HTTPS REST 連線的 Apache TinkerPop 相容,便會獲得 Neptune Gremlin 伺服器支援。Neptune 資料庫的最新版本支持 TinkerPop 3.6.x。如需詳細資訊,請查閱文件。
如何從現有的 openCypher 應用程式遷移至 Neptune 資料庫?
藉助 openCypher 查詢語言的 Neptune 支援,您可以將使用 Bolt 特通訊協定或 HTTPS 的大多數 Cypher 或 Neo4j 工作負載遷移至 Neptune。 有關如何遷移 openCypher 應用程式的更多詳細資訊,請閱讀文件中的遷移指南。
如何從具有 SPARQL 端點的三重存放區遷移至 Neptune 資料庫?
Neptune 提供一個實作 SPARQL 1.1 通訊協定的 HTTPS REST 端點。佈建服務執行個體之後,就可以將應用程式設定為指向 SPARQL 端點。另請參閱透過 SPARQL 存取圖形。
是否需要變更用戶端驅動程式以使用 Neptune SPARQL 端點?
否,Neptune SPARQL 端點可以與任何支援 SPARQL 1.1 協定的用戶端搭配使用。
Neptune 資料庫是否符合 ACID (不可部分完成性、一致性、隔離性、耐久性)?
是,Neptune 符合 ACID,在主寫入器執行個體上具有立即一致性,以及在僅供讀取複本執行個體上具有最終一致性。
為什麼需要 Amazon RDS 許可和資源才能使用 Neptune 資料庫?
Neptune 資料庫是專門打造的高效能圖形資料庫引擎。對於某些管理功能,像是執行個體生命週期管理、AWS Key Management Service (AWS KMS) 金鑰的靜態加密,以及安全群組管理,Neptune 會利用與 Amazon Relational Database Service (Amazon RDS) 共用的操作技術。
哪些類型的圖形查詢工作負載能在最佳化之後與 Neptune 資料庫搭配使用?
Neptune 資料庫旨在支援需要高輸送量和低延遲圖形查詢的圖形應用程式。Neptune 資料庫支援高達 15 個僅供讀取複本,每秒可支援數十萬次查詢。
Neptune 資料庫是否執行查詢最佳化?
是,Neptune 針對 Gremlin、openCypher 和 SPARQL 查詢使用查詢最佳化。 若要深入了解,請參閱 Amazon Neptune 替代查詢引擎 (DFE)。
Neptune 資料庫是否在關聯式資料庫的基礎上建置?
否,Amazon Neptune 是專門打造的高效能圖形資料庫引擎。Neptune 能有效的存放和導覽圖形資料,並使用擴展的記憶體內優化結構,以便在大型圖形上進行快速查詢評估。
Neptune 資料庫的價格是多少?
請參閱定價頁面了解最新的定價資訊。
Neptune 資料庫可在哪些 AWS 區域使用?
如需有關 Neptune 資料庫可用的 AWS 區域的詳細資訊,請參閱 AWS 區域資料表。
Neptune 資料庫在三個可用區域間複寫資料庫磁碟區的每個區塊。這是否表示我的有效儲存價格將是定價頁面上所顯示價格的三倍?
否。Neptune 資料庫複寫已捆綁在價格中。我們將根據資料庫在資料庫層消耗的儲存量向您收費,而非根據在 Neptune 虛擬儲存層消耗的儲存量收費。
Neptune 資料庫中的 I/O 操作是什麼以及它們如何計算?
Neptune 資料庫的設計目的是為了移除不必要的 I/O 操作,以降低成本及確保有足夠的資源可供讀取/寫入流量使用。寫入 I/O 操作只會在將交易日誌記錄推送至儲存層時才會耗用,以確保寫入的持久性。寫入 I/O 操作以 4KB 為單位計算。例如,1,024 位元組的交易日誌記錄當作一個 I/O 操作計算。
不過,交易日誌小於 4KB 的並行寫入操作可透過 Neptune 資料庫引擎併在一起,以優化 I/O 耗用量。Neptune 與傳統資料庫引擎不同的是,不會將修改的資料庫頁面推送至儲存層,可進一步節省 I/O 耗用量。
Neptune 資料庫的最低儲存限制和最高儲存限制分別為何?
最低儲存為 10GiB。根據您的資料庫使用量,您的 Neptune 儲存將以 10 GiB 的增量自動增長到 128 TiB,而不會影響資料庫的效能。無須提前佈建儲存。
如何擴展與 Neptune 資料庫執行個體關聯的運算資源?
您可以在 AWS 管理主控台選擇所需的資料庫執行個體並選擇「修改」按鈕,擴展分配給資料庫執行個體的運算資源。記憶體和 CPU 資源可透過變更資料庫執行個體類別進行修改。
修改資料庫執行個體類別時,將會在指定的維護時段套用您請求的變更。或者,您可以使用「立即套用」旗標立即套用擴展請求。在執行擴展操作期間,這兩個選項將會對可用性造成幾分鐘的影響。請注意,這也會同時套用任何其他擱置的系統變更。
我可以根據使用情況自動擴展和縮減 Neptune 資料庫嗎?
可以使用 Amazon Neptune Serverless 自動擴展資料庫容量。Neptune Serverless 可讓您執行和立即擴展圖形工作負載,而無需管理和最佳化容量。Neptune Serverless 會自動判斷並佈建運算和記憶體資源以執行圖形資料庫,並根據工作負載不斷變化的需求擴展容量,以維持一致的效能。
Neptune 資料庫支援自動擴展嗎?
是,Neptune 支援執行個體僅供讀取複本的自動擴展。您可以將自動擴展設定為自動新增或移除僅供讀取複本,以回應連線或工作負載要求的變更。如需詳細資訊,請參閱文件。
如何為我的 Neptune 資料庫執行個體啟用備份?
Neptune 資料庫執行個體的自動備份會一直處於啟用的狀態。備份不會影響資料庫效能。
我是否能拍攝資料庫快照且不限時間地保留這些快照?
是,拍攝快照並不影響效能。請注意,從資料庫快照恢復資料需要建立新的資料庫執行個體。
如果我的資料庫發生故障,我的恢復路徑為何?
Neptune 資料庫會在三個可用區域 (AZ) 自動維護六個資料副本,並自動嘗試在運作狀態良好的可用區域內恢復您的資料庫,不會遺失任何資料。在極少數無法在 Neptune 儲存內使用資料的情況下,您可以從資料庫快照進行還原或對新執行個體執行 point-in-time 還原作業。請注意,point-in-time 恢復操作的最近可還原時間最多可恢復到 5 分鐘之前。
如果我刪除資料庫執行個體,我的自動備份和資料庫快照會出現什麼情況?
刪除資料庫執行個體時,您可以選擇建立最終資料庫快照。如果進行此操作,之後便可以使用此資料庫快照恢復已刪除的資料庫執行個體。刪除資料庫執行個體之後,Neptune 會保留這個使用者建立的最終資料庫快照與所有其他手動建立的資料庫快照。刪除資料庫執行個體後只會保留資料庫快照 (即,不會保留為時間點復原建立的自動備份)。
是否可和另一個 AWS 帳戶共享快照?
是。Neptune 讓您能夠建立資料庫的快照,稍後您可用它來還原資料庫。您可以與不同的 AWS 帳戶共享快照,收件人帳戶的擁有者可以使用您的快照來恢復包含您資料的資料庫。您甚至可以選擇讓快照成為公有 – 也就是說,任何人都可以恢復包含您 (公有) 資料的資料庫。您可以使用這個功能,在各個具備不同 AWS 帳戶的環境 (生產、開發/測試、分段等) 之間共享資料,這個功能還能在個別帳戶保護所有資料備份的安全,以因應萬一出現主 AWS 帳戶被盜的情況。
共享快照是否會計費?
在帳戶間共享快照不需付費。不過,可能需要支付快照本身的費用,以及從共享快照恢復任何資料庫的費用。進一步了解 Amazon Neptune 定價。
是否可以自動共享快照?
我們不支援共享自動資料庫快照。若要共享自動快照,您必須手動建立快照複本,然後共享複本。
可以與幾個帳戶共享快照?
您最多可以與 20 個 AWS 帳戶 ID 共享手動快照。如果想要與 20 個以上帳戶共享快照,可將快照以公有形式共享,或聯絡支援以提高您的配額。
我可以在哪些區域共享 Neptune 資料庫快照?
您可以在提供 Neptune 的所有 AWS 區域共享 Neptune 資料庫快照。
我可以在不同區域共享自己的 Neptune 資料庫快照嗎?
否。只有與共享快照的帳戶位於同一個區域中的帳戶可以存取共享的 Neptune 資料庫快照。
我可以共享加密的 Neptune 資料庫快照嗎?
是,您可以共享加密的 Neptune 資料庫快照。
是否可在服務範圍外使用 Neptune 快照?
否,Neptune 快照只能在服務範圍內使用。
Neptune 資料庫如何改善資料庫對磁碟故障的容錯能力?
Neptune 資料庫叢集只能在至少兩個可用區域內具有兩個子網路的 Amazon VPC 中建立。透過將叢集執行個體分佈至至少兩個可用區域,Neptune 協助確保在可用區域故障的罕見情況下,資料庫叢集中有可用執行個體。Neptune 資料庫叢集的叢集磁碟區總是跨越三個可用區域,以提供持久的儲存空間,降低資料遺失的可能性。Neptune 的設計可完全透明化的處理最多兩個資料副本的損失,而不會影響資料庫寫入可用性;以及最多三個資料副本的損失,而不會影響資料庫讀取可用性。Neptune 儲存還具有自我修復能力。可持續掃描資料區塊和磁碟有無錯誤並自動修復。
Neptune 資料庫如何改善資料庫損毀後的恢復時間?
與其他資料庫不同的是,Neptune 在資料庫損毀之後不需重新執行最後一個資料庫檢查點 (通常為 5 分鐘) 的重做日誌,且不需要在資料庫運作之前確認已套用所有變更。在大多數情況下,這可將資料庫的重新啟動時間降低到 60 秒以下。Neptune 將緩衝區快取從資料庫處理程序中移出,讓它在重新啟動時立即可用。如此一來,您就不需要在重新匯入快取時限制存取,以避免發生暫時低壓。
Neptune 資料庫支援哪些類型的複本?
Neptune 支援僅供讀取複本,它們與主執行個體共享同一個基礎磁碟區。所有 Amazon Neptune 複本都可看見主執行個體所做的更新。一個 Neptune 叢集可以有一個寫入器執行個體和最多 15 個僅供讀取複本。如果寫入器執行個體失敗,僅供讀取複本會自動升級為寫入器執行個體。
Neptune 資料庫是否提供跨區域複本?
是否可以選擇特定複本而不是其他複本來做為優先容錯移轉目標?
是。您可以在叢集中對每個執行個體指派提升優先順序方案。在主執行個體失敗時,Neptune 資料庫會將具有最高優先順序的複本提升成主執行個體。如果相同優先順序方案中兩個或多個複本之間出現爭用情形,Neptune 會提升與主執行個體大小相同的複本。
執行個體的優先順序方案建立之後是否可以修改?
您可以隨時修改執行個體的優先順序方案。只是修改優先順序方案不會觸發容錯移轉。
是否可以避免特定複本提升成主執行個體?
您可以指派較低優先順序的方案給不想提升成主執行個體的複本。然而,如果叢集上較高優先順序複本出於某些原因而運作狀況不佳或無法使用,則 Neptune 會提升較低優先順序的複本。
如何提升單一 Neptune 資料庫的可用性?
您可新增 Neptune 複本,其與主執行個體共享同一個基礎儲存。任何 Neptune 複本都可在不損失任何資料的情況下提升為主執行個體,因此,它可用於在主資料庫執行個體發生故障時提高容錯能力。若要提高資料庫可用性,只需建立 1 到 15 個複本,Neptune 就能在發生資料庫故障時,自動將其納入容錯移轉主執行個體選擇中。
容錯移轉時會出現什麼情況?這種情況會持續多久?
Neptune 資料庫會自動處理容錯移轉,所以您的應用程式可以盡快恢復資料庫操作,而無須人為管理介入。如果您在相同或不同可用區域中有一個 Neptune 複本,進行容錯移轉時,Neptune 會翻轉您的資料庫主端點的正規名稱記錄 (CNAME) 以指向執行狀態正常的複本,該複本轉而提升成新的主複本。 容錯移轉從開始到結束通常可在 30 秒內完成。
另外,僅供讀取複本端點在容錯移轉期間,不需要任何 CNAME 更新。如果您沒有 Neptune 複本 (例如單一執行個體),Neptune 會先嘗試在與原始執行個體相同的可用區域中建立新的資料庫執行個體。如果此操作無法執行,Neptune 將嘗試在不同的可用區域中建立新資料庫執行個體。容錯移轉從開始到結束通常在 15 分鐘內就能完成。您的應用程式應在連線中斷時重試資料庫請求。
如果我的主要資料庫和 Amazon Neptune 資料庫複本主動取得讀取流量且發生容錯移轉,會發生什麼事?
Neptune 資料庫將自動偵測到您的主執行個體發生問題,並開始將您的讀取/寫入流量路由到 Neptune 資料庫複本。平均來說,此容錯移轉會在 30 秒內完成。此外,Neptune 資料庫複本提供的讀取流量將短暫中斷。
我的複本會落後主執行個體多久?
由於 Neptune 資料庫複本與主執行個體共享同一個資料磁碟區,因此幾乎不會有複寫延遲的情況。據我們觀察,延遲時間一般為數十毫秒。
我是否可以在 Amazon Virtual Private Cloud (Amazon VPC) 使用 Neptune 資料庫?
是,所有 Amazon Neptune 資料庫執行個體都必須在 VPC 中建立。透過 Amazon VPC,您可以定義一個與自己資料中心內執行的傳統網路非常相似的虛擬網路拓撲。這樣一來,您可以完全控制存取 Neptune 資料庫的人員。
是否可以加密現有未加密的資料庫?
目前不支援加密現有未加密的 Neptune 執行個體。若要在現有未加密的資料庫使用 Neptune 加密,請建立已啟用加密的新資料庫執行個體,再將資料移轉至其中。
如何存取我的 Neptune 資料庫?
您必須透過在 VPC 內建立資料庫時輸入的 HTTPS 連接埠存取 Neptune 資料庫。這樣做的目的是為了提供資料多一層的保護。如需如何連接到 Neptune 資料庫的逐步指示,請參閱 Amazon Neptune 使用者指南。
Neptune Analytics
Amazon Neptune Analytics 支援哪些熱門的圖形查詢語言?
您可以使用 openCypher,這是一個開放原始碼專案,可讓您輕鬆使用 Cypher 語言進行圖形處理、叫用 Neptune Analytics 演算法,以及執行向量相似性搜尋。
哪些類型的圖形查詢工作負載能在最佳化之後與 Neptune Analytics 搭配使用?
Neptune Analytics 非常適合存取圖形的大部分或整個圖形的圖形查詢。Neptune Analytics 是記憶體內引擎,它可以將這些大型圖形載入記憶體中,以在幾秒鐘內提供回應。 此外,Neptune Analytics 可以使用流行的圖形分析演算法程式庫,每秒提供數千個分析查詢,例如對社交影響者進行排名、偵測群組是否有欺詐,或在網路活動中尋找模式。對於生成式 AI 應用程式,Neptune Analytics 可以儲存向量內嵌並提供向量相似性搜尋。
如何將 Neptune Analytics 與 Neptune 資料庫中的圖形搭配使用?
您可以選取現有的 Neptune 叢集作為資料來源,該叢集將自動載入 Neptune Analytics 中。
目前支援哪些圖形演算法?
Neptune Analytics 支援 12 種演算法,用於尋找路徑、偵測社群 (叢集)、識別重要資料 (中心位置) 以及量化相似性。路徑尋找演算法用於供應鏈最佳化的路徑規劃等使用案例,而中心位置演算法 (例如頁面排名) 可識別圖形中最具影響力的賣家。同樣地,如連線元件、叢集和中心位置等演算法可用於欺詐偵測使用案例,以判斷連線的網路是朋友群組,還是由一組協調欺詐者組成的欺詐圈。
Neptune Analytics 是否符合 ACID 規範?
是的,Neptune Analytics 透過強大的一致性符合 ACID 規範。
Neptune Analytics 支援的向量的最大維度是多少?
Neptune Analytics 支援儲存在圖形資料中的內嵌 (最多 65,000 個維度) 的向量搜尋索引。
我可以新增多少個索引?
Neptune Analytics 支援儲存在圖形資料中的內嵌上的一個向量搜尋索引。
我是否需要對 Neptune Analytics 使用單獨的向量資料庫?
我可以在 Amazon VPC 中使用 Neptune Analytics 嗎?
是的,您可以在 Amazon VPC 中使用 Neptune Analytics。對於私有存取,您可以建立停用「公有存取」(預設) 的圖形,並在 VPC 中指定子網路。Neptune Analytics 將在 VPC 中為每個圖形建立請求者受管的 VPC 界面端點。您能夠將安全群組和端點政策連接至此端點,但您將無法刪除端點。將收取標準 VPC 界面端點費用。
我可以透過公共網際網路存取 Neptune Analytics 嗎?
是。您可以選擇性地啟用公有圖形特定端點,以透過網際網路連線至圖形。使用 Neptune Analytics,所有用戶端都必須進行身分驗證,所有請求都需要簽署 SigV4,並且所有連線都必須使用圖形 ID 來與圖形進行互動。
Neptune Analytics 是否支援高可用性?
是的,Neptune Analytics 提供多可用區部署,具有增強的可用性和耐久性。依預設,它會在單獨的可用區域中佈建熱待命。藉助熱待命,容錯移轉時間會以秒為單位。如果沒有待命,服務會在幾分鐘內提供新的基礎運算容量。
Neptune Analytics 的費用是多少?
請造訪 Neptune 定價頁面以取得最新定價資訊。
Neptune Analytics 可在哪些區域使用?
如需有關 Neptune Analytics 可用的區域的詳細資訊,請參閱 AWS 區域資料表。
Neptune ML
Neptune ML 支援哪些語言?
Neptune ML 支援 Gremlin 和 SPARQL。
我可以使用 Neptune ML 執行何種預測任務?
Neptune ML 提供節點分類、多類別分類、節點回歸、邊緣分類、單類別分類、邊緣回歸和連結 (邊緣) 預測。有關更多詳細資訊,請造訪 Neptune 使用者指南。
Neptune ML 的費用是多少?
定價詳細資訊可在 Neptune 定價頁面上找到。