一般

問:什麼是 Amazon Neptune?

Amazon Neptune 是快速、可靠、全受管的圖形資料庫服務,可讓您輕鬆建立與執行搭配高度連線資料集使用的應用程式。高度連線資料的 SQL 查詢很複雜而且不易調校效能。但透過 Amazon Neptune,您可以使用開放和熱門的圖形查詢語言來執行功能強大的查詢,這些查詢語言在連線資料上易於編寫和執行。Neptune 的核心是專門打造的高效能圖形資料庫引擎,針對存放數十億筆的關係最佳化,查詢圖形時只會有數毫秒的延遲。Neptune 可以用於多種圖形使用案例,例如推薦引擎、詐欺偵測、知識結構圖、藥品探索及網路安全。Amazon Neptune 不但全受管且可處理耗時的任務,例如佈建、修補、備份、恢復、故障偵測和修復。您只需每月針對所使用的每個 Amazon Neptune 資料庫執行個體支付費用。不需要預先支付費用或簽訂長期合約。

問:Amazon Neptune 支援哪些熱門的圖形查詢語言?

Amazon Neptune 支援開放原始碼 Apache TinkerPop Gremlin 圖形周遊語言和 W3C 標準資源描述架構 (RDF) SPARQL 查詢語言。

 

問:是否可以在同一個 Neptune 執行個體上,使用 Apache TinkerPop Gremlin 和 RDF/SPARQL?

可以,每個 Neptune 執行個體都提供 Gremlin Websocket Server 和 SPARQL 1.1 協定 REST 端點。資料會在堆疊之間分開,也就是不能針對 RDF 資料執行 Gremlin 周遊,反之亦然。這麼做的用意是讓您嘗試看看哪一個最適合您的應用程式。在生產環境中,由於資源是在單一執行個體上共享,因此我們建議用戶端僅透過其中一種語言來存取執行個體,即 Gremlin 或 SPARQL。

 

問:如何從現有的 Apache TinkerPop Gremlin 應用程式移轉至 Amazon Neptune?

Amazon Neptune 提供一種能支援 Websocket 和 REST 連線的 Apache TinkerPop Gremlin 伺服器。佈建 Amazon Neptune 執行個體後,您可以設定現有的 TinkerPop 應用程式來使用該服務提供的端點。另請參閱透過 Gremlin 存取圖形

問:是否需要變更用戶端驅動程式以使用 Amazon Neptune 的 Gremlin 伺服器?

否,用戶端如果與使用 Websocket 和 REST 連線的 Apache TinkerPop 版本 3.3 相容,便會獲得 Amazon Neptune 的 Gremlin 伺服器支援。

問:如何從具有 SPARQL 端點的三重存放區移轉至 Amazon Neptune?

Amazon Neptune 提供一個實作 SPARQL 1.1 協定的 HTTP REST 端點。佈建服務執行個體之後,就可以將應用程式設定為指向 SPARQL 端點。另請參閱透過 SPARQL 存取圖形。

問:是否需要變更用戶端驅動程式以使用 Amazon Neptune 的 SPARQL 端點?

否,Amazon Neptune 的 SPARQL 端點可以與任何支援 SPARQL 1.1 協定的用戶端搭配使用。 

問:Neptune 是否符合 ACID (不可部分完成性、一致性、隔離性、耐久性)?

是,Neptune 符合 ACID 且可立即一致。

問:為什麼需要 Amazon RDS 許可和資源才能使用 Amazon Neptune?

Amazon Neptune 是專門打造的高效能圖形資料庫引擎。對於某些管理功能,像是執行個體生命週期管理、Amazon Key Management Service (KMS) 金鑰的靜態加密,以及安全群組管理,Neptune 會利用與 Amazon RDS 共用的操作技術。

問:Amazon Neptune 是否提供服務水準協議 (SLA)?

是。請參閱 Amazon Neptune SLA

效能

問:是否需要使用 Amazon Neptune 為我的資料建立索引?

否,現有的圖形資料庫使用者經常必須嘗試和猜測供應商的實作。明確維護索引只是其中一個方面。Amazon Neptune 不會要求您建立特定的索引來提高查詢效率,而且盡量減少這種對資料庫設計的質疑。

問:哪些類型的圖形查詢工作負載能在最佳化之後與 Amazon Neptune 搭配使用?

Amazon Neptune 旨在支援需要高輸送量和低延遲圖形查詢的圖形應用程式。Amazon Neptune 支援高達 15 個僅供讀取複本,每秒可支援 100,000 次查詢。

問:Amazon Neptune 是否執行查詢最佳化?

是,Amazon Neptune 針對 SPARQL 查詢和 Gremlin 周遊都使用查詢最佳化。

問:Amazon Neptune 是否建立在關聯式資料庫上?

否,Amazon Neptune 是專門打造的高效能圖形資料庫引擎。Neptune 能有效的存放和導覽圖形資料,並使用擴展的記憶體內最佳化結構,以便在大型圖形上進行快速查詢評估。

定價

問:Amazon Neptune 的費用是多少?

請參閱定價頁面了解最新的定價資訊。

問:Amazon Neptune 可在哪些 AWS 區域使用?

如需區域和定價的最新資訊,請參閱我們的定價頁面

問:Amazon Neptune 在三個可用區域間以六種方法複寫資料庫磁碟區的每個區塊。這是否表示我的有效儲存價格將是定價頁面上所顯示價格的三或六倍?

否,Amazon Neptune 複寫的價格已捆綁在定價中。我們將根據資料庫在資料庫層消耗的儲存量向您收費,而非根據在 Amazon Neptune 虛擬儲存層消耗的儲存量收費。

問:Amazon Neptune 的 IO 是什麼,如何計算?

IO 是 Amazon Neptune 針對 SSD 型虛擬儲存層執行的輸入/輸出操作。每個資料庫頁面讀取操作視為一個 IO。Amazon Neptune 發出讀取儲存層請求,以擷取不在緩衝區快取中的頁面。Amazon Neptune 每一頁是 16 KB。
Amazon Neptune 的設計目的是為了免除不必要的 IO 操作,以降低成本及確保有足夠的資源可供讀取/寫入流量使用。寫入 IO 只會在將交易日誌記錄推送至儲存層時才會耗用,以確保寫入的持久性。寫入 IO 以 4 KB 為單位來計算。例如,1024 位元組的交易日誌記錄當作一個 IO 操作計算。不過,交易日誌小於 4 KB 的並行寫入操作可透過 Amazon Neptune 資料庫引擎合併在一個批次,以最佳化 I/O 消耗量。Amazon Neptune 與傳統資料庫引擎不同的是,不會將修改的資料庫頁面推送至儲存層,可進一步節省 IO 耗用量。

硬體和擴展

問:Amazon Neptune 資料庫的最低儲存限制和最高儲存限制分別為何?

最低儲存為 10 GB。根據您的資料庫使用量,Amazon Neptune 儲存將以 10 GB 的增量自動成長到 64 TB,而不會影響資料庫的效能。無須提前佈建儲存。

問:如何擴展與 Amazon Neptune 資料庫執行個體關聯的運算資源?

您可以在 AWS 管理主控台選擇所需的資料庫執行個體並按一下 Modify 按鈕,擴展分配給資料庫執行個體的運算資源。記憶體和 CPU 資源可透過變更資料庫執行個體類別進行修改。
修改資料庫執行個體類別時,將會在指定的維護時段套用您請求的變更。或者,您可以使用 "Apply Immediately" 旗標立即套用擴展請求。在執行擴展操作期間,這兩個選項將會對可用性造成幾分鐘的影響。請注意,這也會同時套用任何其他擱置的系統變更。

備份與還原

問:如何啟用資料庫執行個體備份?

Amazon Neptune 資料庫執行個體的自動備份會一直處於啟用的狀態。備份不會影響資料庫效能。

 

問:我是否能拍攝資料庫快照且不限時間地保留這些快照?

是,拍攝快照並不影響效能。請注意,從資料庫快照中恢復資料需要建立新的資料庫執行個體。

問:如果我的資料庫發生故障,我的恢復路徑為何?

Amazon Neptune 會在 3 個可用區域自動維護 6 個資料副本,並將自動嘗試在執行狀況正常的可用區域內恢復您的資料庫,而不會產生資料損失。在極少數無法在 Amazon Neptune 儲存內使用資料的情況下,您可以從資料庫快照進行還原或對新執行個體執行 point-in-time 還原作業。請注意,point-in-time 還原作業的最近可還原時間最多可恢還原 5 分鐘之前。

問:如果刪除資料庫執行個體,我的自動備份和資料庫快照會出現什麼情況?

您可以選擇在刪除資料庫執行個體時建立最終的資料庫快照。如果進行此操作,之後便可以使用此資料庫快照還原已刪除的資料庫執行個體。刪除資料庫執行個體之後,Amazon Neptune 會保留這個使用者建立的最終資料庫快照與所有其他手動建立的資料庫快照。刪除資料庫執行個體後只會保留資料庫快照 (即,不會保留為 point-in-time 還原建立的自動備份)。

問:是否可與另一個 AWS 帳戶共享快照?

是。Neptune 讓您能夠建立資料庫的快照,稍後您可用它來還原資料庫。您可以與不同的 AWS 帳戶共享快照,收件人帳戶的擁有者可以使用您的快照來還原包含您資料的資料庫。您甚至可以選擇讓快照成為公有,也就是說,任何人都可以恢復包含您 (公有) 資料的資料庫。您可以使用這個功能,在擁有不同 AWS 帳戶的各個環境 (生產、開發/測試、模擬等) 之間共享資料,還能在主要 AWS 帳戶受到危害的情況下,在個別帳戶保護所有資料備份的安全。

問:共享快照是否會計費?

在帳戶間共享快照不需付費。不過,可能需要支付快照本身的費用,以及從共享快照還原任何資料庫的費用。進一步了解 Amazon Neptune 定價。

問:是否可以自動共享快照?

我們不支援共享自動資料庫快照。若要共享自動快照,您必須手動建立快照副本,然後共享該副本。

問:可以與幾個帳戶共享快照?

您最多可以與 20 個 AWS 帳戶 ID 共享手動快照。如果想要與 20 個以上帳戶共享快照,可將快照以公有形式共享,或聯絡支援以提高您的配額。

問:可以在哪些區域共享 Amazon Neptune 快照?

您可以在提供 Amazon Neptune 的所有 AWS 區域共享 Neptune 快照。

問:是否可以在不同區域間共享 Amazon Neptune 快照?

否。只有與共享快照的帳戶位於同一個區域中的帳戶可以存取共享的 Amazon Neptune 快照。

問:是否可以共享加密的 Amazon Neptune 快照?

是,您可以共享加密的 Amazon Neptune 快照。

問:是否可在服務範圍外使用 Amazon Neptune 快照?

否,Amazon Neptune 快照只能在服務範圍內使用。

高可用性和複寫

問:Amazon Neptune 如何改善資料庫對磁碟故障的容錯能力?

Amazon Neptune 會將您的資料庫磁碟區自動分成 10 GB 的區段,並分散在多個磁碟。資料庫磁碟區的每個 10 GB 區塊都能在三個可用區域間以六種方法進行複寫。Amazon Neptune 的設計可完全透明化的處理最多兩個資料副本的損失,而不會影響資料庫寫入可用性;以及最多三個資料副本的損失,而不會影響資料庫讀取可用性。Amazon Neptune 儲存還具有自我修復能力,可持續掃描資料區塊和磁碟有無錯誤並自動修復。

 

問:Amazon Neptune 如何改善資料庫損毀後的恢復時間?

與其他資料庫不同的是,Amazon Neptune 在資料庫損毀之後不需重新執行最後一個資料庫檢查點 (通常為 5 分鐘) 的重做日誌,且不需要在資料庫運作之前確認已套用所有變更。在大多數情況下,這可將資料庫的重新啟動時間降低到 60 秒以下。Amazon Neptune 將緩衝區快取從資料庫處理程序中移出,讓它在重新啟動時立即可用。如此一來,您就不需要在重新匯入快取時限制存取,以避免發生暫時低壓。

問:Neptune 支援哪些類型的複本?

Amazon Neptune 支援僅供讀取複本,它們與主執行個體共享同一個基礎磁碟區。所有 Amazon Neptune 複本都可看見主執行個體所做的更新。

功能                                                Amazon Neptune 複本

複本數量                                        高達 15 個

複寫類型                                  非同步 (毫秒)

對主執行個體的效能影響                         低

做為容錯移轉目標                               是 (不會遺失資料)

自動容錯移轉                                              是

 

問:Amazon Neptune 是否提供跨區域複本?

否,Amazon Neptune 不支援跨區域複本。

問:是否可以選擇特定複本而不是其他複本來做為優先容錯移轉目標?

是。您可以在叢集中對每個執行個體指派提升優先順序方案。在主執行個體失敗時,Amazon Neptune 會將具有最高優先順序的複本提升成主執行個體。如果相同優先順序層中兩個或多個複本之間出現爭用情形,則 Amazon Neptune 會提升與主執行個體大小相同的複本。

問:執行個體的優先順序方案建立之後是否可以修改?

您可以隨時修改執行個體的優先順序方案。只修改優先順序方案不會觸發容錯移轉。

問:是否可以避免特定複本提升成主執行個體?

您可以指派較低優先順序的方案給不想提升成主執行個體的複本。然而,如果叢集上較高優先順序複本出於某些原因而運作狀況不佳或無法使用,則 Amazon Neptune 會提升較低優先順序的複本。

問:如何提升單一 Amazon Neptune 資料庫的可用性?

您可以新增 Amazon Neptune 複本。Amazon Neptune 複本與主執行個體共享同一個基礎儲存。任何 Amazon Neptune 複本都可在不損失任何資料的情況下提升為主執行個體,因此,它可用於在主資料庫執行個體發生故障時提高容錯能力。若要提高資料庫可用性,只需建立 1 到 15 個複本,Amazon Neptune 就能在發生資料庫故障時,自動將其納入容錯移轉主執行個體選擇中。

問:容錯移轉時會出現什麼情況?這種情況會持續多久?

Amazon Neptune 會自動處理容錯移轉,所以您的應用程式可以盡快恢復資料庫操作,而無須人為管理介入。

  • 如果您在相同或不同可用區域中有一個 Amazon Neptune 複本,進行容錯移轉時,Amazon Neptune 會翻轉您的資料庫主端點的正式名稱記錄 (CNAME) 以指向執行狀態正常的複本,該複本轉而提升成新的主複本。容錯移轉從開始到結束通常可在 30 秒內完成。另外,僅供讀取複本端點在容錯移轉期間,不需要任何 CNAME 更新。
  • 如果您沒有 Amazon Neptune 複本 (即單一執行個體),Neptune 會先嘗試在與原始執行個體相同的可用區域中建立新的資料庫執行個體。如果此操作無法執行,Neptune 將嘗試在不同的可用區域中建立新資料庫執行個體。容錯移轉從開始到結束通常在 15 分鐘內就能完成。

您的應用程式應在連線中斷時重試資料庫請求。

問:如果我的主要資料庫和 Amazon Neptune 複本主動取得讀取流量且發生容錯移轉,會發生什麼事?

Amazon Neptune 將自動偵測到您的主執行個體發生問題,並開始將您的讀取/寫入流量路由到 Amazon Neptune 複本。平均來說,此容錯移轉會在 30 秒內完成。此外,Amazon Neptune 複本提供的讀取流量將短暫中斷。

問:我的複本會落後主執行個體多久?

由於 Amazon Neptune 複本與主執行個體共享同一個資料磁碟區,因此幾乎不會有複寫延遲的情況。據我們觀察,延遲時間一般為數十毫秒。

 

安全性

問:我是否可以在 Amazon Virtual Private Cloud (Amazon VPC) 使用 Amazon Neptune?

是,所有 Amazon Neptune 資料庫執行個體都必須在 VPC 中建立。透過 Amazon VPC,您可以定義一個與自己資料中心內執行的傳統網路非常相似的虛擬網路拓撲。這樣一來,您可以完全控制存取 Amazon Neptune 資料庫的人員。

 

問:Amazon Neptune 是否支援加密傳輸中的資料和靜態資料?

Amazon Neptune 支援 HTTPS 加密用戶端連線,也可讓您使用透過 AWS Key Management Service (KMS) 管理的金鑰加密資料庫。在以 Amazon Neptune 加密執行的資料庫執行個體上,於基礎儲存體中存放的靜態資料,以及其在同一個叢集中的自動備份、快照和複本都會加密。加密和解密的處理完全無縫。如需使用 KMS 搭配 Amazon Neptune 的詳細資訊,請參閱 Amazon Neptune User Guide。

問:是否可以加密現有未加密的資料庫?

目前不支援加密現有未加密的 Neptune 執行個體。若要在現有未加密的資料庫使用 Amazon Neptune 加密,請建立已啟用加密的新資料庫執行個體,再將資料移轉至其中。

問:如何存取我的 Amazon Neptune 資料庫?

您必須透過在 VPC 內建立資料庫時輸入的 HTTP 連接埠存取 Amazon Neptune 資料庫。這樣做的目的是為了提供資料多一層的保護。如需如何連接到 Amazon Neptune 資料庫的逐步指示,請參閱 Amazon Neptune User Guide。

Standard Product Icons (Features) Squid Ink
進一步了解定價

檢閱 Amazon Neptune 定價資訊。

進一步了解 
Sign up for a free account
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
Standard Product Icons (Start Building) Squid Ink
開始在主控台進行建置

開始在 AWS 管理主控台使用 Amazon Neptune 進行建置。

登入