本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Neptune 引擎 1.3.0.0 版 (2023-11-15)
截至 2023-11-15,引擎 1.3.0.0 版已普遍部署。請注意,新版本需要數天才能在每個區域推出。
注意
引擎 1.3.0.0 版引入了新格式,適用於自訂參數群組和自訂叢集參數群組。因此,如果您要從 1.3.0.0 之前的引擎版本升級至引擎 1.3.0.0 版或更新版本,則必須使用參數群組系列 neptune1.3
重新建立所有現有的自訂參數群組和自訂叢集參數群組。舊版已使用參數群組系列 neptune1
或 neptune1.2
,而這些參數群組不會使用 1.3.0.0 版及更新版本。如需詳細資訊,請參閱Amazon Neptune 參數群組。
這個引擎版本的新功能
-
已發行 Neptune 資料 API。
Amazon Neptune 資料 API 為超過 40 種 Neptune 的資料操作提供 SDK 支援,包括資料載入、查詢執行、資料查詢和機器學習。其支援所有三種 Neptune 查詢語言(Gremlin、openCypher 和 SPARQL),並且適用於所有 SDK 語言。它會自動簽署 API 請求,並大幅簡化將 Neptune 整合至您應用程式的操作。
新增OpenSearch無伺服器與 Neptune 整合的支援。
這個引擎版本的改善項目
Neptune 引擎更新的改進
Neptune 已變更發布引擎更新的方式,以讓您更緊密控制更新程序。Neptune 現在不會針對非中斷變更發行修補程式,而是發行可使用 AutoMinorVersionUpgrade 執行個體欄位控制的次要版本,以及您可以透過訂閱RDS-EVENT-0156 事件來接收通知的次要版本。
如需有關這些變更的詳細資訊,請參閱維護 Amazon Neptune 資料庫叢集。
傳輸中加密改進
Neptune 不再支援下列密碼套件:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Neptune 僅支援使用 TLS 1.2 的下列強式密碼套件:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Gremlin 改進
-
在 DFE 引擎中新增了對下列 Gremlin 步驟的支援:
FoldStep
GroupStep
GroupCountStep
TraversalMapStep
UnfoldStep
LabelStep
PropertyKeyStep
PropertyValueStep
AndStep
OrStep
ConstantStep
CountGlobalStep
最佳化的 Gemlin DFE 查詢計畫,以避免在使用
by()
調變時進行完整的頂點掃描。大幅改善低基數和低延遲查詢的效能。
已新增對 TinkerPop
Or
篩選述詞的 DFE 支援。-
針對如下所示的查詢,改進 DFE 對同一鍵上周遊篩選條件的支援:
g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
改進對
fail()
步驟的錯誤處理。
openCypher 改進
大幅改善低基數和低延遲查詢的效能。
當查詢包含許多節點類型時,改善查詢規劃效能。
減少所有 VLP 查詢的延遲。
透過移除單一節點模式查詢的備援管道聯結,藉此改善效能。
-
改進包含週期之多躍點模式的查詢效能,如下所示:
MATCH (n)-->()-->()-->(m) RETURN n m
SPARQL 改進
引入新的 SPARQL 運算子:
PipelineHashIndexJoin
。改善 SPARQL 查詢的 URI 驗證效能。
藉由批次解析字典詞彙,改善 SPARQL 全文檢索搜尋查詢的效能。
此引擎版本中修正的缺陷
Gremlin 修正
-
已修正 Gemlin 錯誤,其中針對不是在 DFE 引擎中原生處理的步驟,檢查 Gremlin 查詢狀態端點是否有子周遊中具有述詞的查詢時,將會發生交易洩漏。
已修正 Gremlin 錯誤,其中未在 DFE 引擎的
by()
周遊下將valueMap()
最佳化。已修正 Gremlin 錯誤,其中未將連接至
UnionStep
的步驟標籤各別傳播至其子周遊的最後一個路徑元素。修復了一個小鬼錯誤,其中查詢會失敗,因為它包含太多 TinkerPop 步驟,然後無法清理。
已修正 Gremlin 錯誤,其中
NullPointerException
會在mergeV
和mergeE
步驟中擲回。已修正 Grimlin 錯誤,其中
order()
將不會正確排序字串輸出,因為這些字串輸出中有一些包含空格字元時。已修正在 DFE 引擎中處理
valueMap
步驟時所發生的 Gemlin 正確性問題。已修正
GroupStep
或GroupCountStep
嵌套於鍵周遊中時發生的 Gemlin 正確性問題。
openCypher 修正
已修正涉及 NULL 字元錯誤處理的 openCypher 錯誤。
已修正 openCypher Bolt 交易處理中的錯誤。
SPARQL 修正
已修正遞迴函式中的值未正確解析的 SPARQL 錯誤。
已修正使用
VALUES
子句注入大量值時,導致效能下降的 SPARQL 錯誤。已修正 SPARQL 錯誤,該錯誤會導致語言標記文字的
REGEX
運算子呼叫永遠不會成功。
此版本支援的查詢語言版本
將資料庫叢集升級至 1.3.0.0 版之前,請確定您的專案與下列查詢語言版本相容:
支援的 Gremlin 最早版本:
3.6.2
支援的 Gremlin 最新版本:
3.6.4
openCypher 版本:
Neptune-9.0.20190305-1.0
SPARQL 版本:
1.1
引擎 1.3.0.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.0.0 \ --allow-major-version-upgrade \ --apply-immediately
針對 Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.3.0.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 資料庫叢集。如果您有任何問題或疑慮,Sup AWS port 團隊可以透過社群論壇和進AWS 階 Support