Aurora MySQL 第 3 版與 MySQL 8.0 相容 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Aurora MySQL 第 3 版與 MySQL 8.0 相容

您可以使用 Aurora MySQL 第 3 版,取得與 MySQL 相容的最新功能、效能增強功能和錯誤修正。你可以在下文了解 Aurora MySQL 第 3 版,與 MySQL 8.0 的相容性。您可以了解如何將叢集和應用程式升級至 Aurora MySQL 第 3 版。

一些 Aurora 功能,例如 Aurora Serverless v2, 需要 Aurora MySQL 第 3 版。

MySQL 8.0 社群版的功能

最初發行的 Aurora MySQL 第 3 版與 MySQL 8.0.23 社群版相容。MySQL 8.0 引進了幾個新功能,包括以下功能:

  • 單元資料定義語言 (DDL) 支援。如需更多詳細資訊,請參閱 單元資料定義語言 (DDL) 支援。

  • JSON 函數 如需用法資訊,請參閱《MySQL 參考手冊》中的 JSON 函數

  • 視窗函數。如需用法資訊,請參閱《MySQL 參考手冊》中的視窗函數

  • 一般資料表表達式 (CTE),使用 WITH 子句。如需用法資訊,請參閱《MySQL 參考手冊》中的 WITH (一般資料表表達式)

  • 已針對 ALTER TABLE 陳述式最佳化 ADD COLUMNRENAME COLUMN 子句。這些最佳化稱為「即時 DDL」。Aurora MySQL 第 3 版與社群 MySQL 即時 DLL 功能相容。未使用早期的 Aurora 快速 DLL 功能。如需即時 DDL 的用法資訊,請參閱 即時 DDL (Aurora MySQL 第 3 版)

  • 遞減索引、功能索引和隱藏索引。如需用法資訊,請參閱《MySQL 參考手冊》中的隱藏索引遞減索引,以及CREATE INDEX 陳述式

  • 透過 SQL 陳述式控制的角色型權限。如需權限模型變更的詳細資訊,請參閱角色型權限模型

  • 搭配 SELECT ... FOR SHARE 陳述式的 NOWAITSKIP LOCKED 子句。這些子句避免等待其他交易釋放資料列鎖定。如需用法資訊,請參閱《MySQL 參考手冊》中的鎖定讀取

  • 二進位日誌 (binlog) 複寫的改進。如需 Aurora MySQL 詳細資訊,請參閱二進位日誌複寫。尤其,您可以執行篩選的複寫。如需篩選複寫的用法資訊,請參閱《MySQL 參考手冊》中的伺服器如何評估複寫篩選規則

  • 提示。一些 MySQL 8.0 相容的提示已向後移植到 Aurora MySQL 第 2 版。如需搭配使用提示與 Aurora MySQL 的詳細資訊,請參閱 Aurora MySQL 提示。如需社群 MySQL 8.0 中的完整提示清單,請參閱《MySQL 參考手冊》中的最佳化工具提示

如需新增到 MySQL 8.0 社群的完整功能清單,請參閱部落格文章 The complete list of new features in MySQL 8.0

Aurora MySQL 第 3 版還包括對包容性語言之關鍵字的變更,從社群 MySQL 8.0.26 向後移植。如需這些變更的詳細資訊,請參閱Aurora MySQL 第 3 版的包容性語言變更

Aurora MySQL Serverless v2 的 Aurora MySQL 第 3 版先決條件

Aurora MySQL 第 3 版是 Aurora MySQL Serverless v2 叢集中所有資料庫執行個體的先決條件。Aurora MySQL Serverless v2 包括對資料庫叢集中的讀取器執行個體的支援,及其他 Aurora 功能,這些功能不適用於 Aurora MySQL Serverless v1。其還具有比 Aurora MySQL Serverless v1 更快、更精細的擴展。

Aurora MySQL 第 3 版的版本備註

如需所有 Aurora MySQL 第 3 版的版本備註,請參閱 Aurora MySQL 版本備註中的 Amazon Aurora MySQL 第 3 版的資料庫引擎更新

新的平行查詢最佳化

Aurora 平行查詢最佳化現在適用於更多的 SQL 作業:

  • 平行查詢現在適用於包含資料類型 TEXTBLOBJSONGEOMETRYVARCHAR,以及 CHAR (長度超過 768 個位元組) 的資料表。

  • 平行查詢可以最佳化涉及分割資料表的查詢。

  • 平行查詢可以最佳化查詢,其中涉及選取清單中的彙總函數呼叫,以及 HAVING 子句。

如需這些增強功能的詳細資訊,請參閱將平行查詢叢集升級至 Aurora MySQL 第 3 版。如需 Aurora 平行查詢的一般資訊,請參閱Amazon Aurora MySQL 的平行查詢

最佳化以減少資料庫重新啟動時間

您的 Aurora MySQL 資料庫叢集在計畫中斷和意外中斷期間都必須具有高可用性。

資料庫管理員需要偶爾執行資料庫維護。此維護包括資料庫修補、升級、需要手動重新開機的資料庫參數修改、執行容錯移轉以減少執行個體類別變更所需的時間等等。這些計劃的動作需要停機。

不過,停機時間也可能是因為意外的動作造成,例如因為基礎硬體故障或資料庫資源限流而導致意外的容錯移轉。所有這些計劃和未計劃的動作都會導致資料庫重新啟動。

在 Aurora MySQL 3.05 及更高版本中,我們引入了可縮短資料庫重新啟動時間的最佳化功能。與沒有最佳化相比,這些最佳化可減少多達 65% 的停機時間,並且在重新啟動後減少資料庫工作負載的中斷情況。

在資料庫啟動期間,會初始化許多內部記憶體元件。其中最大的是 InnoDB 緩衝區集區,在 Aurora MySQL 中預設為執行個體記憶體大小的 75%。我們的測試發現初始化時間與 InnoDB 緩衝池的大小成正比,因此可以隨著資料庫執行個體類別大小進行擴展。在此初始化階段,資料庫無法接受連線,這會在重新啟動期間造成較長的停機時間。Aurora MySQL 快速重新啟動的第一階段會最佳化緩衝區集區初始化,以減少資料庫初始化的時間,進而減少整體重新啟動時間。

如需詳細資訊,請參閱部落格:利用 Amazon Aurora MySQL 資料庫重新啟動時間最佳化減少停機時間