本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Neptune 引擎 1.0.5.0 版 (2021 年 7 月 27 日)
截至 2021 年 7 月 27 日,引擎 1.0.5.0 版已普遍部署。請注意,新版本需要數天才能在每個區域推出。
此版本的後續修補程式版本
這個引擎版本的新功能
已針對生產發行了與許多新功能搭配使用的 Neptune ML,而且 Neptune ML 不再處於實驗室模式。
-
已在實驗室模式下新增了對 openCypher 查詢語言的初始支援。openCypher 是 Cypher 查詢語言的開放原始碼標準。它的語法在 Cypher 查詢語言參考 (第 9 版)
中加以指定,並由 openCypher 維護。 如需 Neptune 語言實作的相關資訊,請參閱 使用 存取 Neptune 圖形 openCypher。
也支援對 Bolt 通訊協定
的支援,Neptune 用戶端會將此通訊協定用於 OpenCypher 查詢。請參閱使用 Bolt 通訊協定向 Neptune 提出 openCypher 查詢。 對 OpenCypher 的支援現在會自動啟用,但這取決於目前僅能在實驗室模式中使用的 Neptune DFE引擎。
neptune_lab_mode
資料庫叢集參數中的預設DFEQueryEngine
設定現在為DFEQueryEngine=viaQueryHint
,這表示引擎已啟用,但僅用於存在useDFE
查詢提示且其設定為true
的查詢。如果您透過設定DFEQueryEngine=disabled
來停用 DFE 引擎,將無法使用 OpenCypher。 已新增對 SPARQL 1.1 圖形存放區 HTTP 通訊協定
的支援。請參閱在 SPARQL Amazon Neptune 中使用 1.1 圖形存放區HTTP通訊協定 (GSP)。 已將 Neptune DFE引擎 的預設實驗室模式設定設為
viaQueryHint
,這表示 DEF 引擎現在預設為啟用,但僅用於存在true
查詢提示且其設定為useDFE
的查詢。已新增 Amazon CloudWatch 指標
StatsNumStatementsScanned
,用於監控 Neptune DFE 引擎統計資料的計算。請參閱使用 StatsNumStatementsScanned CloudWatch 指標監控統計資料運算。
這個引擎版本的改善項目
-
已新增對 Apache TinkerPop 3.4.11 的支援。
重要
已在 TinkerPop 3.4.11 版中進行變更,這可提高查詢處理方式的正確性,但目前有時可能會嚴重影響查詢效能。
例如,此類查詢的執行速度可能會明顯變慢:
g.V().hasLabel('airport'). order(). by(out().count(),desc). limit(10). out()
由於 TinkerPop 3.4.11 變更,限制步驟之後的頂點現在會以非最佳方式擷取。若要避免這種情況,您可以在
order().by()
之後的任何點新增 barrier() 步驟來修改查詢。例如:g.V().hasLabel('airport'). order(). by(out().count(),desc). limit(10). barrier(). out()
Neptune DFE 替代查詢引擎現在支援 SPARQL joinOrder 查詢提示。
-
Neptune 狀態 API 的輸出已擴充並重組,讓您更清晰地了解資料庫叢集設定和功能。
新輸出具有最上層
features
物件,其中包含有關資料庫叢集功能的狀態資訊,也具有最上層settings
物件,其中包含設定資訊。若要檢閱新格式,請參閱 執行個體狀態命令的範例輸出。 已改善在下列情況處理串流變更日誌的方式:使用伺服器上的最後一個事件 ID 請求
AFTER_SEQUENCE_NUMBER
串流,但該事件 ID 已過期。如果請求的事件 ID 是伺服器上最近清除的事件 ID,則伺服器不再擲回過期的事件 ID 錯誤。
此引擎版本中修正的缺陷
已修正與數值排序相關的 Gremlin 錯誤。
此版本支援的查詢語言版本
將資料庫叢集升級至 1.0.5.0 版之前,請確定您的專案與下列查詢語言版本相容:
Gremlin 版本:
3.4.11
SPARQL 版本:
1.1
引擎 1.0.5.0 版的升級途徑
您可以將任何先前的 Neptune 引擎版本手動升級為此版本。
您不會自動升級至此版本。
升級至此版本
Amazon Neptune 1.0.5.0 現已正式推出。
如果資料庫叢集執行的引擎版本具有升級至此版本的途徑,則有資格立即升級。您可以使用主控台上的資料庫叢集操作或使用 SDK 來升級任何有資格的叢集。以下 CLI 命令將立即升級有資格的叢集:
對於 Linux、OS X 或 Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version 1.0.5.0 \ --apply-immediately
針對 Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.0.5.0 ^ --apply-immediately
更新會同時套用到資料庫叢集中的所有執行個體。更新時,所有這些執行個體都需要重新啟動資料庫,因此您會經歷 20 至 30 秒的停機時間,之後就可以繼續使用資料庫叢集。
一律在升級之前執行測試
發佈新的主要或次要 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 Premium Support