本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Neptune 引擎 1.3.4.0 版 (2024-10-01)
截至 2024-10-01,引擎版本 1.3.4.0 已普遍部署。請注意,新版本需要數天才能在每個區域推出。
注意
引擎 1.3.0.0 版引入了新格式,適用於自訂參數群組和自訂叢集參數群組。因此,如果您要從 1.3.0.0 之前的引擎版本升級至引擎 1.3.0.0 版或更新版本,則必須使用參數群組系列 neptune1.3
重新建立所有現有的自訂參數群組和自訂叢集參數群組。舊版已使用參數群組系列 neptune1
或 neptune1.2
,而這些參數群組不會使用 1.3.0.0 版及更新版本。如需更多資訊,請參閱Amazon Neptune 參數群組。
警告
當更新運算子與動作型授權政策搭配使用時,偵測到在特定情況下可能存在的 SPARQL 1.1 更新操作有問題。如果您使用 SPARQL 1.1 更新操作搭配以動作為基礎的授權政策,建議您升級至最新的 Neptune 次要引擎版本 (至少 1.3.4.0),其中包含此問題的修正。
查詢計畫快取暫時針對涉及數值參數值的參數化查詢停用,因為處理數值類型參數重複使用時發生問題,如下列查詢所示:
MATCH (n:movie) WHERE n.runtime>=$minutes RETURN n UNION MATCH (n:show) WHERE n.duration>=$minutes RETURN n parameters={"minutes":130}
此引擎版本的改進
-
新增對 DFE 引擎巢狀周遊中 Gremlin limit() 步驟執行的支援。
-
Add CloudWatch 指標與 Gremlin 結果快取相關,如下所示,這對於診斷和調校結果快取延遲非常有用。如需詳細資訊,請參閱 Neptune 指標。
NumResultCacheHit NumResultCacheMiss ResultCacheSizeInBytes ResultCacheItemCount ResultCacheOldestItemTimestamp ResultCacheNewestItemTimestamp
此引擎版本中修正的瑕疵
一般改進
-
修正在極少數情況下,引擎當機而非傳回查詢錯誤時的錯誤。
Gremlin 修正
-
當用戶端或代理透過已建立/使用過的 HTTP 連線傳送 Websocket 升級請求時,我們改善了請求處理和錯誤報告 (先前傳回了 400 個回應,其中發生錯誤「未提供 gremlin 指令碼,Code MissingParameterException」)。
-
使用單一基數屬性值更新最佳化 mergeV 步驟的處理。例如,Neptune 現在原生支援下列查詢。
g.mergeV([(T.id): 1234]). option(onMatch, ['age': single(20), 'name': single('alice'), 'city': set('miami')])
-
已修正 Gremlin DFE 查詢評估錯誤,當查詢包含
ToMap
邏輯函數以在執行時間產生映射InternalFailureException
時,導致查詢失敗,而映射輸出會用作彙總金鑰 (在 中DFEAggregationNode
)。受影響的範例查詢:g.V("1").as("a").as("b").select("a","b").dedup()
openCypher 修正
-
已修正以
collect(distinct())
null 值執行 導致傳回錯誤的錯誤。 -
修正執行參數化查詢包含範圍篩選條件 (</<=/>/>= 參數值) 導致重複/遺失結果的錯誤。
-
修正 DFE 引擎產生比限制查詢中請求更多輸出的錯誤,這可能會導致記憶體不足錯誤。
SPARQL修正
-
修正在啟用 SPARQL 身分驗證的叢集上執行聯合 IAM 更新查詢導致傳回錯誤的錯誤。
-
修正 SPARQL 1.1 更新操作的動作型許可。
此版本支援的查詢語言版本
將資料庫叢集升級至 1.3.4.0 版之前,請確定您的專案與下列查詢語言版本相容:
支援的 Gremlin 最早版本:
3.7.1
支援的 Gremlin 最新版本:
3.7.1
openCypher 版本:
Neptune-9.0.20190305-1.0
SPARQL 版本:
1.1
引擎版本 1.3.4.0 的升級路徑
您可以從引擎版本 1.2.0.0 或更新版本升級至此版本。
升級至此版本
如果資料庫叢集執行的引擎版本具有升級至此版本的途徑,則有資格立即升級。您可以使用主控台上的資料庫叢集操作或使用 SDK 來升級任何符合資格的叢集。下列 CLI 命令會立即升級合格的叢集:
對於 Linux、OS X 或 Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version 1.3.4.0 \ --allow-major-version-upgrade \ --apply-immediately
針對 Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.3.4.0 ^ --allow-major-version-upgrade ^ --apply-immediately
您可以指定 --no-apply-immediately
,而不是 --apply-immediately
。若要執行主要版本升級,需要 allow-major-version-upgrade 參數。此外,請務必包含引擎版本,否則您的引擎可能會升級至不同版本。
如果您的叢集使用自訂叢集參數群組,請務必包含此參數來指定它:
--db-cluster-parameter-group-name
(name of the custom DB cluster parameter group)
同樣地,如果叢集中有任何執行個體使用自訂資料庫參數群組,請務必包含此參數來指定它:
--db-instance-parameter-group-name
(name of the custom instance parameter group)
一律在升級之前執行測試
發佈新的主要或次要 Neptune 引擎版本時,請一律先在其上測試 Neptune 應用程式,然後再升級至其中。即使是次要升級,也可能會引入將影響程式碼的新功能或行為。
首先,請將目前版本中的版本備註頁面與目標版本的版本備註頁面進行比較,以查看查詢語言版本中是否將有變更,或有其他重大變更。
在升級生產資料庫叢集之前測試新版本的最佳方式是複製您的生產叢集,以便複製執行新的引擎版本。然後,您可以在複製上執行查詢,而不會影響生產資料庫叢集。
升級前一律建立手動快照
在執行升級之前,強烈建議您一律建立資料庫叢集的手動快照。具有自動快照僅會提供短期保護,而手動快照仍然可用,直到您明確將其刪除為止。
在某些情況下,Neptune 會為您建立手動快照,作為升級程序的一部分,但您不應該依賴此快照,而且在任何情況下都應該建立自己的手動快照。
確定不需要將資料庫叢集還原為升級前狀態時,您可以明確刪除您自己建立的手動快照,以及 Neptune 可能已建立的手動快照。如果 Neptune 建立手動快照集,它會具有開頭為 preupgrade
的名稱,後面跟著資料庫叢集的名稱、來源引擎版本、目標引擎版本和日期。
注意
如果您嘗試在待定動作進行中時進行升級,可能會遇到如下錯誤:
We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.
如果遇到此錯誤,請等候待定動作完成,或立即觸發維護時段,讓先前的升級完成。
如需有關升級引擎版本的詳細資訊,請參閱 維護 Amazon Neptune 資料庫叢集。如果您有任何問題或疑慮, AWS 支援團隊可在社群論壇和 AWS Premium Support